【发布时间】:2018-08-15 20:18:06
【问题描述】:
我从事文本挖掘问题,需要提取所有提到的某些关键字。例如,给定列表:
list_of_keywords = ['citalopram', 'trazodone', 'aspirin']
我需要查找文本中所有出现的关键字。这可以用 Pandas 轻松完成(假设我的文本是从 csv 文件中读取的):
将熊猫导入为 pd
df_text = pd.read_csv('text.csv')
df_text['matches'] = df_text.str.findall('|'.join(list_of_keywords))
但是,文本中有拼写错误,有时我的关键字会写成:
'citalopram' as 'cetalopram'
或
'trazodone' as 'trazadon'
在网上搜索,我发现了一些关于如何实现spell checker 的建议,但我不确定在哪里插入拼写检查器,我认为在文本非常大的情况下它可能会减慢搜索速度。
作为另一种选择,建议使用带有正则表达式的通配符并插入潜在的混淆位置(概念上编写)
.findall('c*t*l*pr*m')
但是我不相信我可以捕捉到所有可能的问题案例。我尝试了一些开箱即用的拼写检查器,但我的文本有些具体,我需要一个“了解”我的领域(医学领域)的拼写检查器。
问题
有没有什么有效的方法可以从包含拼写错误的文本中提取关键字?
【问题讨论】:
标签: python pandas nlp spell-checking