文章を単語に分割するのにnltk
を使用しています。例えばnltkを使用して単語をトークン化するときにアポストロフィーで分割しないようにする
nltk.word_tokenize("The code didn't work!")
-> ['The', 'code', 'did', "n't", 'work', '!']
トークン化はワード境界を分割する際にうまく機能します。単語からの句読点の分割]がありますが、ときには分割が多くなり、単語の末尾にある修飾語句が別々の部分として扱われます。たとえば、didn't
はdid
とn't
の部分に分割され、i've
はI
と've
に分割されます。明らかに、これは、そのような単語が、nltk
が使用している元のコーパスで2つに分割され、場合によっては望ましいことがあるためです。
この動作がオーバーライドされている方法はありますか?可能性としては、nltk's
MWETokenizer
が複数の単語をフレーズに集約する方法と同じように、ただしこの場合はワードコンポーネントを単語に集約するだけです。
また、ワードパーツを分割しない別のトークナイザがありますか?