有一个问题,理解为什么NLTK的word_tokenizer查看字符串"这""然后把它分成"这个" "'" " S"而不是将它们保持在一起。我用"测试"进行了测试。这很好用。当我用"结果'"进行测试时它再次分裂了撇号。这只是撇号会发生的特殊事情吗?
答案 0 :(得分:0)
一般来说,NLTK和标记符的正常行为是分割this's
- > this
+ 's
。因为's
是一个阴蒂,它们是两个独立的句法单位。
>>> from nltk import word_tokenize
>>> word_tokenize("this's")
['this', "'s"]
对于结果的情况,它是相同的:
>>> word_tokenize("results'")
['results', "'"]
's
和'
是与其主机分开的实体?对于this's
的情况,'s
是is
的缩写形式,表示copula。在某些情况下,它含糊不清,也可以表示占有欲。
对于results'
的第二种情况,'
表示占有欲。
因此,如果我们POS标记我们得到的标记化表单:
>>> from nltk import word_tokenize, pos_tag
>>> pos_tag(word_tokenize("results'"))
[('results', 'NNS'), ("'", 'POS')]
对于this's
的情况,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'), ('.', '.')]