Python文本清理和匹配

时间:2016-06-13 04:35:55

标签: python python-2.7 text-mining

我正试图从一堆地址中获取一个已清理过的地址。

这些是哈佛大学的不同地址。我想要的是将所有这些地址转换为"哈佛大学"。

1)哈佛医学院布里格姆妇女医院医学系肾脏医学科,哈佛医学院Suite 550,4 Blackfan Circle,Boston,Massachusetts 02115,USA

2)哈佛大学FAS系统生物学中心,马萨诸塞州剑桥02138

3)美利坚合众国马萨诸塞州波士顿哈佛医学院霍华德休斯医学研究所神经生物学系。

简单的文字匹配并不起作用。所以,我尝试了difflib。

from difflib import SequenceMatcher

def similar(a, b):
    return SequenceMatcher(None, a, b).ratio()

a = "Division of Renal Medicine, Department of Medicine, Brigham and Women's Hospital, Harvard Medical School, Harvard Institutes of Medicine Suite 550, 4 Blackfan Circle, Boston, Massachusetts 02115, USA"
b = "Harvard University"
print(similar(a, b))  # gives 0.11981566820276497
print(similar(a, "Toronto University"))  # gives 0.04608294930875576

但我认为这种方法不能为我的数据集提供正确的结果。如何设置相似度的阈值?任何人都可以推荐更好的方法吗?

0 个答案:

没有答案