在v2中更改了spaCy tokenizer异常的句段?

时间:2018-01-31 17:26:02

标签: python tokenize spacy

阅读适用于Python 3.5的this,spaCy版本1.1.2。我试过这个

from spacy.lang.en import English
nlp = spacy.load('en')
text2 = u'he has a ph.D. in tacology'
nlp.Defaults.tokenizer_exceptions['Ph.D.'] = [{'F':'Ph.D.'}]
tokens = parser(text2)
tokens = [token.orth_ for token in tokens if not token.orth_.isspace()]

这给出了:

[你'他'你有',你',你' ph',你'。',你',你'在',你' tacology']

我期待的时候:

[你'他'你'你' a',你' ph.D。',你'在&# 39 ;, u' tacology']

为什么tokenizer_exceptions不起作用?是因为我使用的是版本2而且实现方式不同吗?

我如何在v2中执行等效操作?

注意,我确实在v2 spacy docs here中查看了Tokenizer.add_special-case,但我无法找到解决方案

1 个答案:

答案 0 :(得分:0)

不确定您的核心spaCy问题,但您可以检查“Ph”,“。”和'D.',然后检查它们是否按顺序排列并用'Ph.D'代替它们作为解决方法。