Dai*_*ail 9 java nlp named-entity-recognition text-mining opennlp
我想了解以下问题的最佳方法.
我的文件与resume/cv非常相似,我必须提取实体(姓名,姓氏,生日,城市,邮政编码等).
为了提取这些实体我正在组合不同的查找器(正则表达式,字典等)
这些查找器没有问题,但是,我正在寻找方法/算法或类似的东西来确认实体.
使用"确认",我的意思是我必须在邻近中找到特定的术语(或实体)(更接近我找到的实体).
例:
My name is <name>
Name: <name>
Name and Surname: <name>
Run Code Online (Sandbox Code Playgroud)
我可以确认实体,<name>因为它更接近让我理解"背景"的特定术语.如果我在实体附近有"姓名"或"姓"字样,那么我可以说我已经找到<name>了很有可能.
因此,目标是编写那些规则来确认实体.另一个例子应该是:
我的地址是......,00143罗马
意大利邮政编码是5位数字(仅限数字),很容易在我的文档中找到一个5位数字(我使用上面写的正则表达式),我也通过查询数据库来检查它是否存在.这里的问题是我需要再检查一下(肯定)它.
我必须看看这个数字是否在实体附近<city>,如果是,好的......我有很好的概率.
我也尝试训练模型,但我没有真正的"背景"(句子).培训模型:
My name is: <name>John</name>
Name: <name>John</name>
Name/Surname: <name>John</name>
<name>John</name> is my name
Run Code Online (Sandbox Code Playgroud)
对我来说听起来不太好,因为:
我不知道有多少不同的方式可以找到确切的说法,但我肯定找不到15000种方法:)
我应该使用什么方法来确认我的实体?
非常感谢!
首先,我不认为你将任务分解为2个步骤(提取和确认)是最好的,如果只是我不会错过问题中的一些细节.如果我理解正确,你的目标是从文档集中提取结构化信息,如名称/城市/等,具有最大的精确度和召回率; 公制可能更重要,但通常它们被认为具有相同的权重 - 例如通过使用F1测量.
"你无法控制你无法衡量的东西" Tom DeMarco
我建议首先准备评估系统并标记数据集:对于每个文档找到正确的名称/城市/等 - 它可以完全手动完成(更"真实",但更难的方式)或半自动完成,例如通过应用某些方法,包括正在开发中的方法,并纠正其错误(如果有的话).评估系统应该能够计算精度和召回(参见混淆矩阵,以便自己轻松实现).
至于它的大小,我不会害怕必须准备太大的数据集:当然,越多越好,但对于具有复杂(非线性)任务和许多特征的情况来说,这是至关重要的.我相信在你的情况下,100-200个文档就足够了 - 这需要几个小时的准备时间.
然后,您可以根据RegExps和词典评估您的简单提取器 - 如果不同方面(名称或城市)具有单独的度量标准,则最好.根据结果,您的操作可能会有所不同.
如果方法显示精度太低,即提取太多错误项,则应添加特异性或特定功能; 我会在专门针对特定信息类型的信息提取的科学论文中搜索它们,无论是名称/姓氏,还是地址,或者如果您对此类信息感兴趣,可以使用更模糊的技能.例如,许多论文(如[ 2 ]和[ 3 ])致力于Resume解析说明Name/Surname通常放在文本的最开头; 或者说城市通常在'at'之前.我不知道你的文件的细节,但我怀疑他们违反了这些模式.
此外,将名称实体识别器的输出(例如Standord NLP)作为一项功能处理可能也很有用且也很容易(另请参阅相关问题)
同样,更难但更好的是分析NERC使用的方法,并使它们适应您的任务和文档的细节.
这些功能可以通过任何监督机器学习进行聚合(如果您没有太多经验,请从Logistic回归和随机森林开始):您从评估数据集中了解正面和负面(所有但不是正面的)答案,只需将它们转换为特征空间和像Weka一样为一些ML lib提供食物.
如果方法显示调用太低,即错过了很多项目,那么您应该扩展候选集 - 例如,开发限制较少的模式,将模糊匹配(查看Jaro-Winkler或Soundex字符串度量)添加到字典查找.
另一种选择是应用词性标注并将每个名词作为候选 - 可能是某些信息项的每个名词,或者采用名词双字母,或者添加其他弱限制.在这种情况下,很可能,您的精度会降低,因此必须考虑上面的段落.
注意:如果您的数据来自Web(例如来自LinkedIn的配置文件),请尝试按关键字"Web数据提取"进行搜索,或者查看import.io
只需几个随机,尝试搜索谷歌学者,最好从调查开始
Renuka S. Anami,Gauri R. Rao.基于斯坦福算法的自动轮廓提取与分类.国际创新技术与探索工程期刊(IJITEE)ISSN:2278-3075,Volume-4 Issue-7,December 2014(link)
Swapnil声纳.用命名实体聚类算法恢复解析.2015(链接)
| 归档时间: |
|
| 查看次数: |
507 次 |
| 最近记录: |