簡體   English   中英

當使用nltk對單詞進行標記時,防止在叛逆者處分裂

[英]Preventing splitting at apostrophies when tokenizing words using nltk

我正在使用nltk將句子分成單詞。 例如

 nltk.word_tokenize("The code didn't work!")
 -> ['The', 'code', 'did', "n't", 'work', '!']

標記化可以很好地分割單詞邊界[即從單詞中分割標點符號],但有時會過度分割,單詞末尾的修飾符會被視為單獨的部分。 例如, didn't被分成部分didn'ti've被分裂, I've 顯然這是因為這些單詞在nltk使用的原始語料庫中被分成兩部分,並且在某些情況下可能是合乎需要的。

有沒有內置的方法來克服這種行為? 可能與nltk's MWETokenizer如何能夠將多個單詞聚合為短語的方式類似,但在這種情況下,只是將單詞組件聚合為單詞。

或者,是否有另一個不分割單詞部分的標記器?

這實際上按預期工作

這是正確/預期的輸出。 對於單詞標記化,收縮被認為是兩個單詞,因為它們具有意義。

不同的nltk標記nltk不同nltk處理英語語言的收縮 例如,我發現TweetTokenizer沒有將收縮分為兩部分:

>>> from nltk.tokenize import TweetTokenizer
>>> tknzr = TweetTokenizer()
>>> tknzr.tokenize("The code didn't work!")
[u'The', u'code', u"didn't", u'work', u'!']

請在以下位置查看更多信息和解決方法:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM