2017-06-01 55 views
1

我不明白NLTK正則表達式分析語法是如何工作的。 請看下面。不明白NLTK正則表達式分析格式

parser = RegexpParser(''' 
    NP: {<DT>? <JJ>* <NN>*} # NP 
    P: {<IN>}   # Preposition 
    V: {<V.*>}   # Verb 
    PP: {<P> <NP>}  # PP -> P NP 
    VP: {<V> <NP|PP>*} # VP -> V (NP|PP)* 
    ''') 

<DT>?或*是什麼意思。 請告訴我<V>.*<V.*>

之間的差由於

回答

4

DT是像一個確定器,所述...

動詞詞確定指標 - 甲分詞(上光縮寫PTCP)是動詞的一個形式在句子中用於修飾名詞,名詞短語,動詞或動詞短語,並扮演類似於形容詞或副詞的角色。 ...它是非確定動詞形式的一種。

<V>.* is for verb participle example : drawn sword (drawn is vp) 
<V.*> is a verb    example :going , go 

你可以找到更多關於他們在這裏: https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html

是什麼*是什麼意思?這與正則表達式中使用的*是一樣的。 *表示任何字符集(Ofcourse集合構成*應該是有意義組合後的字符)

讓我們進入一些例子 -

<V.*> A verb followed by anything in the same run like go(ing) mov(ing) 
+0

感謝Satyadev。但是,舉個例子:如果我想匹配一個動詞加上任意數量的單詞並以一個名詞結尾。怎麼做? 是不是'。* ' – Ming

+0

是的,似乎是正確的 – Satyadev