拆分this's -> this + 's 通常是 NLTK 和标记器的正常行为。因为's 一个派系,它们是两个独立的句法单元。
>>> from nltk import word_tokenize
>>> word_tokenize("this's")
['this', "'s"]
对于结果的情况是一样的:
>>> word_tokenize("results'")
['results', "'"]
为什么's 和' 是与其宿主不同的实体?
对于this's,'s 是is 的缩写形式,表示连接函数。在某些情况下,它是模棱两可的,也可以表示所有格。
对于results' 的第二种情况,' 表示所有格。
所以如果我们 POS 标记我们得到的标记化表格:
>>> from nltk import word_tokenize, pos_tag
>>> pos_tag(word_tokenize("results'"))
[('results', 'NNS'), ("'", 'POS')]
对于this's,词性标注者认为它是所有格,因为人们很少在书面文本中使用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