给定一个小写的文本块,如何使用Spacy之类的工具或类似工具识别缩写?如果单词是专有名词,我试图将它们大写,并且在识别缩写词时遇到困难。
Spacy的POS标记器可通过其标准文档对象很好地识别专有名词,包括最常见的缩写词,但我看不出任何简单的方法来区分返回的令牌中的缩写名和缩写词。
例如:
import spacy
nlp = spacy.load('en_core_web_lg')
text = 'joe bought stock in ibm'
doc = nlp(text)
for i, token in enumerate(doc):
print(i, token.text, token.pos_)
打印出:
0 joe PROPN
1 bought VERB
2 stock NOUN
3 in ADP
4 ibm PROPN
因此它正确地识别了两个专有名词。但是,在0或4的令牌中似乎没有任何东西可以将一个标识为常规名称,而另一个则是缩写。
我在文档中找不到任何要澄清的内容。 Spacy中有什么方法可以检测到缩写词?如果没有,还有其他可靠的方法吗?