我怎样才能从一篇新文章中提取出一个犯罪者的名字?

2024-05-16 19:55:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我能够使用Spacy-NER模型提取人名,但它包括律师/警察/或其他任何人人类。我的问题是根据新闻文章提取被指控/定罪/或犯罪的人的姓名。你知道吗

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

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

埃伦·埃尔德姆在2018年中期选举中失去了席位,该选举授予总统塔伊普·埃尔多安全面的新权力,他自6月以来一直被监禁,并被指控在2014年担任反对派报纸编辑期间发布非法窃听。你知道吗

他否认协助美国教士费图拉·古伦(Fethullah Gulen)追随者的指控,古伦被指控策划了一场失败的2016年政变。你知道吗

Eren Erdem是主要被告,我只需要这个名字,但Spacy模型提取了所有人的名字 塔伊普·埃尔多安(总统) 费图拉·古伦 埃尼斯贝贝罗格鲁 图万·古姆鲁库 等等

我需要罪犯的名字而不是总统或警察。你知道吗

我们可以用Python/NER吗?你知道吗

编辑:我们可以在这里应用知识图概念吗?我探索了很多关于它,但找不到令人信服的文章关于这个问题case.it公司如果有人能了解这个概念或提供相关的文章链接,那就太好了。你知道吗


Tags: https模型概念编辑spacy文章人类名字
2条回答

首先,你必须问问自己,文本的某个读者是如何识别罪犯的。代表罪犯的专有名称具有动词的论证功能(可以是“他是罪犯”中的连词动词,也可以是语义上更复杂的动词,如“两年前那个人也犯了谋杀罪”)。这个论证函数(例子中的“主体”)完美地识别了犯罪实体。你要做的是:

  1. 识别包含罪犯的句子,包括动词的所谓子范畴框架(给出论点,例如“主语”、“宾语”等)。你知道吗
  2. 解析句子,使参数可访问(使用nltk或spaCy)并使用NER
  3. 提取实体,该实体既被NER识别,又被赋予实体角色的论据位置中的动词细分
  4. 如果有必要,在使用人称代词时执行回指消解,需要与代词所指的实体匹配(你可以想象这是代词的某种引用链)。你知道吗

实际上,没有现成的模型,而是一个语言管道 每个单独的步骤都有实现。对于更详细的内容,您确实需要在实现管道上粘贴一些直接问题的代码。你知道吗

你可以使用机器学习,但为此你需要执行步骤1和2, 所以最好先试试这些步骤。你知道吗

我还在我的项目中使用spacy来提取受害者的名字,我还得到了很多非受害者的名字,比如警官、医生、嫌疑犯等等。spacy这样的工具非常有用,但是你也需要帮助它,以便确定你想要提取的人实体的类型。要过滤掉我想要的名字,我要做的是:

  1. 分析文章并识别一些常见的模式。通常,来自相同来源的文章遵循相同的格式。在你的案例中,我查看了给定网站上的一些文章,内容格式如下:“嫌疑人姓名、年龄、被指控/逮捕/其他同义词”或“嫌疑人姓名、谁、被指控/逮捕/其他同义词”。这是犯罪相关文章的一种非常常见的格式。当然,也可能有其他的格式,但不太可能有太多,因为这些网站通常遵循某种标准,或者文章是由少数作者撰写的。你知道吗

你从中看到了什么样的图案?有嫌疑犯名字的句子通常被分成三大块。第一个是名字,后跟逗号,[2]第二个是数字(年龄)或以“谁”开头的描述,后跟逗号,[3]第三个包括类似于“逮捕”的动词,如逮捕、监禁、被告等

在你的例子中:“[1]埃尔德姆,[2]在2018年中期选举中失去了席位,总统塔伊普·埃尔多安获得了新的权力,[3]自6月以来被监禁,并被指控在2014年担任反对派报纸编辑期间发布非法窃听。你知道吗

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

    进口re 对于结果重新查找(r'(\w+\w+\w+{1,5},\swho\s(\w+\w+\w+{0,20},\s(\w+\w+{0,5})(被捕|入狱)\s(\w+\w+{0,10}',text,flags=re.I): 打印(结果.组())#把这个传给斯帕西 打印(结果.组().拆分(“,”[0])#或此

您可以使用机器学习,但总会有一些结果需要调整。你也可以利用得分。如果文章是关于嫌疑人的,那么最常出现的个人实体往往是嫌疑人本人,其他实体很可能只会被提及几次,有时甚至只提及一次。你知道吗

相关问题 更多 >