0

我可以使用 Spacy NER 模型提取人名,但它包括律师/警察/或其他所有人。我的问题是提取被告/定罪/或犯罪的人的姓名关于新闻文章。

例如下面的 nes 文章https://www.channelnewsasia.com/news/world/turkey-frees-opposition-figure-pending-itarian-trial---anadolu-11095480

安卡拉:国有的阿纳多卢通讯社说,土耳其法院周一下令保释一名前反对派议员,而他正在接受与恐怖主义有关的指控的审判。

Eren Erdem 在 2018 年中期选举中失去席位,授予总统塔伊普·埃尔多安 (Tayyip Erdogan) 新权力,自 6 月以来一直被判入狱,并被指控在 2014 年担任反对派报纸编辑期间发布非法窃听。

他否认协助美国神职人员 Fethullah Gulen 的追随者的指控,后者被指控策划了 2016 年失败的政变。

Eren Erdem 是主要被告,我只需要这个名字,但 Spacy 模型提取了所有人的名字 Tayyip Erdogan(总统) Fethullah Gulen Enis Berberoglu Tuvan Gumrukcu 等

我需要罪犯的名字,而不是总统或警察。

我们可以使用 Python/NER 来实现吗?

编辑:我们可以在这里应用知识图概念吗?我对此进行了很多探索,但找不到关于该案例的令人信服的文章。如果有人可以绕过这个概念或提供文章链接(相关),那就太好了。

4

2 回答 2

1

首先,您必须问自己,文本的某些读者如何能够识别罪犯。代表罪犯的专有名称具有动词的自变量功能(让它成为“他是罪犯”中的系动词或语义上更复杂的动词,例如“该人在 2 年前也犯了谋杀罪”)。这个参数函数(例子中的“主体”)完美地识别了犯罪实体。你要做的是:

  1. 识别包含罪犯的句子,包括动词的所谓子分类框架(给出论点,例如“SUBJECT”、“OBJECT”等)。
  2. 解析句子,使得参数可以访问(使用 nltk 或 spaCy)并使用 NER
  3. 提取实体,该实体既被 NER 识别,又由参数位置中的动词进行子分类,将罪犯的角色分配给实体
  4. 如有必要,执行回指解析,当使用人称代词时,它需要与代词所指的实体匹配(您可以将其想象为代词的某种引用链接)。

真的,没有开箱即用的模型,它更像是一个语言管道,每个单独的步骤都有实现,将您带到那里。对于更详细的内容,您确实需要在实现管道上粘贴一些直接问题的代码。

您可以使用机器学习,但无论如何您都需要执行步骤 1 和 2,因此最好先尝试这些步骤。

于 2019-10-25T14:44:07.323 回答
1

我还在我的项目中使用 spacy 来提取受害者姓名,并且我还获得了很多非受害者姓名,例如警察、医生、嫌疑人等。像 spacy 这样的工具非常有用,但您还需要按顺序提供帮助确定要提取的 PERSON 实体类型。为了过滤掉我想要的名字,我要做的是:

  1. 分析文章并识别一些常见的模式。通常,来自相同来源的文章遵循相同的格式。就您而言,我查看了给定网站上的几篇文章,其格式如下:“嫌疑人姓名、年龄、被指控/被捕/其他同义词”或“嫌疑人姓名、被指控/被捕/其他同义词”。这是与犯罪相关的文章的一种非常常见的格式。当然,可能还有其他格式,但不太可能有太多,因为这些网站通常遵循一定的标准,或者文章是由少数作者撰写的。

你从中看出什么规律?就是带有嫌疑人名字的句子通常被分成三块。[1] 第一个是姓名后跟逗号,[2] 第二个是数字(年龄)或一些以“谁”开头后跟逗号的描述,而 [3] 第三个包括类似的动词“逮捕”,例如逮捕、监禁、指控等。

在您的示例中:“[1] Eren Erdem,[2]在 2018 年中期选举中失去席位,授予总统 Tayyip Erdogan 全面的新权力,[3] 自 6 月以来一直被判入狱,并被指控在编辑期间发布非法窃听。 2014 年反对派报纸。

  1. 使用正则表达式仅捕获具有此模式的短语。在 Python 中:

    为结果导入 re.finditer(r'(\w+\W+\w+){1,5},\swho\s(\w+\W+\w+){0,20},\s(\w+\W+ ){0,5}(arrested|jailed)\s(\w+\W+){0,10}', text, flags=re.I): print(result.group()) # 传递给 spacy print( result.group().split(",")[0]) # 或者这个

您可以使用机器学习,但总会有一些结果需要调整。您还可以使用评分。如果文章是关于嫌疑人的,那么出现最多的 PERSON 实体往往是嫌疑人本人,其他实体可能只会被提及几次,有时也只会被提及一次。

于 2019-10-29T19:00:19.357 回答