2

NLTK で POS タグ付きコーパスを読み込んでいます。POS タグを含む特定のパターンを見つけたいと考えています。これらのパターンは、POS タグのさまざまな組み合わせなど、非常に複雑になる可能性があります。入力文字列の例:

私たちは/PRPを費やしました/VBD some/DT time/NN reading/NN about/IN the/DT history/JJ important/NN of/IN tea/NN in/IN Korea/NNP and/CC China/NNP and/CC then/ RB味/VBD最高/DT最高/JJS高価/JJグリーン/JJティー/NN I/PRP持ってる/VBP今まで/RB見た/VBN ./.

この場合、POS パターンは次のようになります: (IN) (THE)? (NNP) (CC)? (NNP)...

コーパスに次のものをロードしています:

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

明らかに、Python のreパッケージを使用してこれを行うことができますが、そのような正規表現は、他の開発者にとって理解、デバッグ、および更新がすぐに難しくなります。

NLTK でこれを行う最もエレガントな方法は何ですか? 通常の正規表現より読みやすい POS タグ付きテキストのパターンを見つけるヘルパー関数はありますか?

ありがとう

4

1 に答える 1

2

NLTKには str2tuple と呼ばれる関数があり、タグ付きの文をタプルのリストに解析します。その後、POS タグを別のリストに簡単に抽出できます。正規表現は必要ありません。

于 2013-04-27T00:50:29.387 に答える