2017-11-21 7 views
1

なぜNLTKのword_tokenizerが文字列 "this's"を参照し、それらをまとめて保存するのではなく "this" "" "s"に分割するのかを理解することに問題があります。私は "テストの"とテストして、これはうまく動作します。私が「結果」でテストしたところ、アポストロフィを再び分割しました。これは単なるアポストロフィで起こることでしょうか?Wordのトークナイザが "this's"を取得しない

+1

私はこれはと思う(あわや!)関連:https://ell.stackexchange.com/q/145503 –

+0

母はあなたに感謝します! –

+0

\を先に追加しようとしましたか? IE ''これは\ 's "? – Simon

答えて

0

NLTKとトークナイザの一般的な動作は、分割することですthis's - >this + 'sです。 'sはクリティークなので、2つの別々の構文単位です。それは同じだ結果の場合には

>>> from nltk import word_tokenize 
>>> word_tokenize("this's") 
['this', "'s"] 

>>> word_tokenize("results'") 
['results', "'"] 

はなぜそのホストから's'別のエンティティですか?

this'sの場合、'sは、コプラを示すisの省略形です。場合によっては、それはあいまいであり、所有者を示すこともできます。

results'の2番目のケースでは、'は、所有権を示しています。

我々は、我々が入手トークン化されたフォームタグ付けPOSのであれば:this'sの場合には

>>> from nltk import word_tokenize, pos_tag 
>>> pos_tag(word_tokenize("results'")) 
[('results', 'NNS'), ("'", 'POS')] 

を、POSタガーは、人々はめったに書かれたテキストでthis'sを使用していないので、それは所有格だと思っ:

>>> from nltk import word_tokenize, pos_tag 
>>> pos_tag(word_tokenize("this's")) 
[('this', 'DT'), ("'s", 'POS')] 

しかし、He's - >He + 'sを見ると、'sがコピュラを示していることがわかります。

>>> pos_tag(word_tokenize("He's good.")) 
[('He', 'PRP'), ("'s", 'VBZ'), ('good', 'JJ'), ('.', '.')] 

関連質問:https://stackoverflow.com/a/47384013/610569

関連する問題