Nlp 如何实现公司名称数据的实体协同引用?
我有公司名称列向量的数据,如下所示:Nlp 如何实现公司名称数据的实体协同引用?,nlp,data-cleaning,Nlp,Data Cleaning,我有公司名称列向量的数据,如下所示: Var1 AEP American Electric Power AEP - Ohio Chase Bank JP Morgan Chase 我试图找出如何解决这个数据集中的共指。我一直在想如何使用Wikipedia miner来解决这个问题,但我不知道它是如何工作的,也不知道如何使用它。是否存在可以查找与同一公司相关的不同名称实例的工具 换句话说,我想合并同一家公司的类似名称(例如AEP、美国电力公司和AEP-Ohio都是一家公司,大通银行、大通和摩根大
Var1
AEP
American Electric Power
AEP - Ohio
Chase Bank
JP Morgan
Chase
我试图找出如何解决这个数据集中的共指。我一直在想如何使用Wikipedia miner来解决这个问题,但我不知道它是如何工作的,也不知道如何使用它。是否存在可以查找与同一公司相关的不同名称实例的工具
换句话说,我想合并同一家公司的类似名称(例如AEP、美国电力公司和AEP-Ohio都是一家公司,大通银行、大通和摩根大通也是一家公司)。该栏有超过41000家公司的唯一编号。您可以使用现有的知识图表之一,如
- :实体名称附加到关系(不确定)和rdf:label
- :只有一个API
可以使用键入系统筛选实体。您可以使用现有的知识图之一,例如
- :实体名称附加到关系(不确定)和rdf:label
- :只有一个API
可以使用键入系统筛选实体。您有41.000个独特的公司,并且希望合并 所有相似的名字。我认为你需要做两件事:
- 设计一个相似性函数来比较任意两个给定的公司名称
- 找到一种比较日期集中所有名称的有效方法
AEP
American Electric Power
AEP - Ohio
Chase Bank
Chase
JP Morgan
现在使用大小为3的窗口进行比较,您首先只需比较:
AEP
American Electric Power
AEP - Ohio
如果你的相似性函数考虑到了首字母缩略词,它会发现AEP是美国电力公司的首字母缩略词,并将两者合并。现在,您可以保留两个字符串作为同一公司名称的表示形式,或者只选择一个字符串,设想您同时保留这两个字符串:
['AEP, 'American Electric Power']
AEP - Ohio
Chase Bank
现在,您将“AEP-Ohio”与['AEP',“American Electric Power]”进行比较,再次取决于您定义函数的方式,这可能是一个匹配,例如,您可以看到“AEP-Ohio”与“AEP”的重叠,这将给出0.5(即,假设您放弃了“-”),此外,你还可以检查“AEP-Ohio”中有一个序列,它是“美国电力”的首字母缩略词
['AEP', 'American Electric Power','AEP - Ohio']
Chase Bank
Chase
现在比较下一个应给出Now match,我们推进窗口:
Chase Bank
Chase
JP Morgan
此处的相似性函数应与“Chase”和“Chase Bank”匹配。最后,
你应该:
['AEP', 'American Electric Power', 'AEP - Ohio']
['Chase Bank', 'Chase']
JP Morgan
注意,这里有许多Python和Java库,它们实现了其中的一些:
检测A.S.Schwartz和M.A.Hearst建议的首字母缩写词。Java实现是可用的。我把这个算法应用到英文维基百科上,你可以看到结果。你有41.000家独特的公司,你想合并 所有相似的名字。我认为你需要做两件事:
- 设计一个相似性函数来比较任意两个给定的公司名称
- 找到一种比较日期集中所有名称的有效方法