【发布时间】:2020-09-16 13:14:27
【问题描述】:
我从事情绪分析。缩写是自然语言中使用最广泛的一种。我使用 Spellcheker 来纠正拼写错误,使用这种方法的问题之一是它会将 Abbreviations 翻译成最接近英语的单词。这会影响情绪检测。有没有什么代码或者方法可以根据相邻词来扩展这些缩写词?
【问题讨论】:
标签: python nlp sentiment-analysis
我从事情绪分析。缩写是自然语言中使用最广泛的一种。我使用 Spellcheker 来纠正拼写错误,使用这种方法的问题之一是它会将 Abbreviations 翻译成最接近英语的单词。这会影响情绪检测。有没有什么代码或者方法可以根据相邻词来扩展这些缩写词?
【问题讨论】:
标签: python nlp sentiment-analysis
你好,这是一个可能有用的例子
import spacy
from scispacy.abbreviation import AbbreviationDetector
nlp=spacy.load("en_core_web_sm")
abbreviation_pipe=AbbreviationDetector(nlp)
text="stackoverflow (SO) is a question and answer site for professional and enth_usiast programmers.SO roxks!"
nlp.add_pipe(abbreviation_pipe)
def replace_acronyms(text):
doc=nlp(txt)
altered_tok=[tok.text for tok in doc]
print(doc._.abbreviations)
for abrv in doc._.abbreviations:
altered_tok[abrv.start]=str(abrv._.long_form)
return(" "join(altered_tok))
replace_acronyms(text)
replace_acronyms("Top executives of Microsoft(MS) and General Motors (GM) met today in NewYord")
【讨论】: