2013-04-12 65 views
2

我正在NLTK中加載POS標記的語料庫,我想找到涉及POS標記的某些模式。這些模式可能相當複雜,包括許多不同的POS標籤組合。 例輸入字符串:POS標記NLTK語料庫中的正則表達式

我們/ PRP花/ VBD一些/ DT時間/ NN讀/ NN約/在/ DT 歷史/ JJ重要性/ NN /茶葉/ NN 在/在韓國/ NNP和/ CC China/NNP and/CC then/RB品嚐/ VBD the/DT most/JJS昂貴/ JJ green/JJ tea/NN I/PRP have/VBP ever/RB seen/VBN ./。

在這種情況下,POS模式是這樣的:(IN) (THE)? (NNP) (CC)? (NNP) ...

我加載我的語料庫有:

reader = TaggedCorpusReader(corpus_dir, r'.*\.pos') 

很顯然,我可以使用Python的re包做到這一點,但是這些正則表達式很快就變得難以理解,調試和更新其他開發人員。

在NLTK中做這件事的最優雅的方式是什麼?是否有助手函數來查找POS標記文本中的模式比通常的正則表達式更具可讀性?

感謝

+0

也許你可以提供一個示例字符串? –

+0

我已經添加了一個示例。 – Mulone

回答

2

有一個功能叫做NLTK其中str2tuple解析標記句子翻譯成元組的列表中,然後,您可以方便地提取POS標籤爲一個單獨的列表。不需要正則表達式。