首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串中提取业务名称和时间段

从字符串中提取业务名称和时间段
EN

Stack Overflow用户
提问于 2011-10-13 16:50:19
回答 2查看 1.2K关注 0票数 2

我正在使用Python从路透社中提取有关某些公司的信息。我已经从此页那里得到了军官/行政人员的姓名、传记和报酬。

现在,我想从传记部分摘取以前的职位头衔和公司,其内容如下:

Donald T. Grimes先生自2008年5月起担任狼獾公司高级副总裁、首席财务官和财务主任。2007年至2008年,他担任Keystone汽车运营公司执行副总裁兼首席财务官,该公司是汽车配件和设备的经销商。在Keystone之前,Grimes先生在Brown-Forman公司担任了一系列高级公司和部门的财务职务,该公司是高档葡萄酒和烈酒的制造商和销售商。在布朗福曼任职期间,格里姆斯先生于2006年至2007年担任副总裁兼饮料财务总监;2003年至2006年任公司规划和分析主任副总裁;1999年至2003年任布朗福曼精神美国公司高级副总裁兼首席财务官。

我可以使用简单的regex来获取开始和年份,但我不知道如何写regex来获得标题和公司名称。我知道字符串格式不一致,所以我会接受至少70%的情况下有效的答案。这是我想要的输出:

代码语言:javascript
复制
2007-2008, executive vice president and chief financial officer, Keystone Automotive operations
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-14 02:04:51

您试图解决的问题是众所周知的,您会发现大量的研究论文描述了方法和算法,如果您在google上搜索“命名实体提取”和“关系提取”这两个术语的话,那么一些好的起点是:

  • 这本书的第7章“用Python进行自然语言处理”,实际上整本书可能会有帮助。在线章节
  • 本文是关于“使用Wikipedia进行命名实体关系挖掘”
  • 本文以"dd关系挖掘的新算法“为例,描述了挖掘职称和组织。

这些只是我发现有趣的几个链接,有更多的,也许比这些更好的链接,但这应该会让你开始。

票数 2
EN

Stack Overflow用户

发布于 2011-10-13 19:27:47

我不认为会有一个单一的正则表达式,你可以使用这一点,除非它真的很讨厌。我认为解决这个问题的方法可能是自然语言处理。当然有这样的包,但是使用它们可能并不简单。

本质上,你想用"X是/曾经Y“这样的句子,找出哪一部分是名字,哪一部分是职位列表,哪些部分是无关的。也许要寻找大写或小单词,如“和”和" of“的单词序列?

代码语言:javascript
复制
(?:\u\w+)( (?:\u\w*)|(?:of)|(?:and))*  #Note the space

\u意味着下一个单一字符( \w+组的第一个字符)是大写的。还没有测试过,但似乎应该能用。这可能是一个重要的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7757554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档