私はデフォルトのPOSタグ付けとデフォルトのトークン化を使用しています。それで十分なようです。デフォルトのチャンカーも欲しいです。
NLTKツールキットの本を読んでいますが、デフォルトのチャンカーがないようです。
nltk.ne_chunk() メソッドを使用すると、名前付きエンティティ チャンクをそのまま使用できます。POS タグ付きタプルのリストを取ります。
nltk.ne_chunk([('Barack', 'NNP'), ('Obama', 'NNP'), ('lives', 'NNS'), ('in', 'IN'), ('Washington', 'NNP')])
結果:
Tree('S', [Tree('PERSON', [('Barack', 'NNP')]), Tree('ORGANIZATION', [('Obama', 'NNP')]), ('lives', 'NNS'), ('in', 'IN'), Tree('GPE', [('Washington', 'NNP')])])
それはバラクを個人として識別しますが、オバマは組織として識別します。だから、完璧ではありません。
デフォルトのチャンカー/浅いパーサーも見つかりませんでした。この本では、サンプル機能を使用して構築およびトレーニングする方法について説明していますが。優れたパフォーマンスを得るために追加機能を考え出すことは、それほど難しいことではありません。
第 7 章のTraining Classifier-based Chunkersのセクションを参照してください。