我有一个英文文本,我想对其进行处理,以检测我在另一个Python词典中的特定条目(示例条目:质谱)。这些条目非常重要,因为它们需要为以后的注释进行匹配。为了做到这一点,我需要添加每个条目的多种形式(如复数、缩写等)。或者找到一种方法来进行智能处理。这种粗暴的方法不仅需要更多的时间(对我来说),而且我可能无法解决所有的情况(我想要质谱,可能是光谱,但不是质谱)。我不是在寻找解决方案,我只需要如何处理问题和使用哪个工具包的指导方针。字典正在增长,智能方法将是首选。
我在Python中找到了NLTK,但我不确定如何在内置语料库的基础上使用我的字典。
例如:我有一句话:u‘’Liquid‘,u’‘biopsies’,u‘’based‘,u’‘on’,u‘Example’,u‘’cell free‘,u’‘DNA’,u'(cfDNA)',u‘’analysis‘,u’‘are’,u‘’circulating‘,u’a‘,u’‘surrogate’,u‘’samples‘,u’‘for’,u‘分子’,u‘analysisis.’。我有一个关于{‘液体活组织检查’:‘血液分析’,‘cfDNA’:‘血液分析’的判决书。这些数组是故意使用的,因此它们都是相同的对象,因此试图在字典中创建别名。
如何将我的条目与文本匹配?
提前感谢!
发布于 2017-05-15 22:23:54
如果我没有误解您的话,您应该检查字典项和列表项。然后将结果打印到控制台。
dict_1={"Liquid Biopsy":"Blood for analysis","cfDNA":"Blood for analysis","Liquid Biopsies":"Blood for analysis"}
list_1=[u'Liquid', u'biopsies', u'based', u'on', u'circulating', u'cell-free', u'DNA', u'(cfDNA)', u'analysis', u'are', u'described', u'as', u'surrogate', u'samples', u'for', u'molecular', u'analysis.']
string_1=" ".join(list_1).lower()
for i in dict_1:
if i.lower() in string_1:
print("Key: {}\nValue: {}\n".format(i,dict_1[i]))
我使用了上面的代码,控制台打印出了以下结果。
Key: Liquid Biopsies
Value: Blood for analysis
Key: cfDNA
Value: Blood for analysis
Process finished with exit code 0
https://stackoverflow.com/questions/43988958
复制