繁体   English   中英

NLTK 的额外缩写列表?

[英]List of extra abbreviations for NLTK?

我正在尝试使用 Python + NLTK 对大量文章进行一些繁重的句子标记化。 不幸的是,它对待“等”。 作为句子的结尾而不是缩写。 我怀疑它对其他缩写也会做同样的事情,比如“eg”或“ie”

我知道我可以添加如下内容:

sent_detector = nltk.data.load('tokenizers/punkt/english.pickle')
extra_abbreviations = ['et al']
sentence_tokenizer._params.abbrev_types.update(extra_abbreviations)

但我不想手动确定数据集中可能遇到的所有可能的额外缩写并手动输入它们。 有没有人为这个特定问题想出一个更通用的解决方案,即使它只是一长串可以从文件加载并作为参数传递给更新方法的缩写?

SpaCy 的句子标记器将为您解决这个问题。

import spacy
nlp = spacy.load('en_core_web_lg')
text = 'Exercise (e.g. riding a bike or taking a hike) will help you live longer. This is a second sentence'
doc = nlp(text)
sentences = [sent.string.strip() for sent in doc.sents]
print(sentences)

Output:['锻炼(例如骑自行车或远足)会帮助你活得更久。','这是第二句话']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM