【发布时间】:2018-01-31 17:26:02
【问题描述】:
阅读this 后,它适用于 Python 3.5,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()]
这给出了:
[u'he', u'has', u'a', u'ph', u'.', u'D.', u'in', u'tacology']
当我期待时:
[u'he', u'has', u'a', u'ph.D.', u'in', u'tacology']
为什么 tokenizer_exceptions 不起作用?是不是因为我使用的是版本 2,它的实现方式不同?
我将如何在 v2 中进行等效操作?
注意,我确实查看了 v2 spacy docs here 中的 Tokenizer.add_special-case,但我找不到解决方案
【问题讨论】: