实体集扩展 Python
你知道有没有现成的用任何语言(最好是Python)实现的实体集合扩展算法吗?比如Google的那个集合?(http://labs.google.com/sets)
我找不到任何库来实现这些算法,我想试试这些算法,看看它们在我想实现的某个具体任务上表现如何。
任何帮助都非常欢迎!
非常感谢你的帮助,
祝好,
Nicolas。
1 个回答
2
我不知道有没有现成的开源库可以实现类似于谷歌集合的那种按需聚类命名实体的功能。不过,有一些学术论文详细描述了如何构建类似的系统,比如:
使用网络进行语言无关的命名实体集合扩展
王和科恩,EMNLP 2009
在线演示贝叶斯集合
加哈拉马尼和海勒,NIPS 2005
下面是王和科恩方法的简要总结。如果你最终决定自己实现类似的东西,建议可以从他们的方法开始。我觉得大多数人会觉得这个方法比加哈拉马尼和海勒的公式更容易理解。
王和科恩 2009
王和科恩首先描述了一种自动构建提取模式的方法,这样可以在任何结构化文档中找到命名实体的列表。这个方法会查看已知命名实体的前缀和后缀。然后,这些前缀和后缀被用来识别同一文档中的其他命名实体。
为了完成实体的聚类,他们构建了一个图,这个图包含了命名实体之间的相互连接、与它们相关的提取模式以及文档。利用这个图,从聚类的种子实体(也就是要完成的集合中的初始实体)开始,他们在图上进行多次随机游走,最多可以走10步。他们会统计到达非种子实体节点的次数。那些计数较高的非种子实体就可以用来完成这个聚类。