如何开发一个模型来检测非结构化文本中的组织名称

问题描述 投票:0回答:1

我正在用 Python 创建一个简历解析器算法,以提取 pdf 格式的简历中的经历。我正在尝试检测每种体验的组织名称。

我已经尝试过默认的 spaCy NER 模型和 Huggingface 上最流行的 NER 模型。我认为这里的问题是因为文本采用非结构化格式,例如:

Silver Technologies Ltd. Singapore Software Developer May 2008 – May 2009

该模型无法解析和标记文本。我正在尝试从这段文字中提取

Silver Technologies Ltd.
。解析器的其他部分正在使用基于规则的算法,因此我可以使用基于规则的算法进行组织检测。但我想不出适用于大多数示例的规则。我将不胜感激任何使用模型或基于规则的算法的建议。

python parsing nlp spacy named-entity-recognition
1个回答
0
投票

如果您知道数据始终按此顺序(组织、城市、标题、日期),您会想到几个选项。没有什么是 100% 的,但规则的组合可能会让你足够接近 :

  • 寻找诸如 Ltd、Inc、Corp 等组织标签,并将所有内容都包含在内。
  • 查找城市名称并获取该点之前的所有内容。需要一个城市列表,该列表可能很大也可能不大,具体取决于您的内存需求和地理范围。应该能够从在线可用的国家数据中下载每个城市的列表(我想)。也许从邮政编码数据开始获取所有城市的列表。
  • 查找句点、分号、破折号或其他标记公司名称结尾和城市名称开头的指示符。

之前完成过 pdf 的文本解析任务,我想说最好的选择是测试和迭代。选择一个规则开始,然后列出匹配和拒绝的列表。检查匹配以确保它捕获了正确的内容。查看拒绝的信息,看看您错过了什么。然后调整你的规则并再次运行。需要多次迭代才能找出所有您未预料到的现实世界变化。人们用文字做奇怪的事情。

另请注意,pdf 中显示为单行的内容在 pdf 库的文本输出中可能会分成多行。我之前在用python解析pdf时遇到过这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.