问题标签 [named-entity-extraction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
199 浏览

python - 实体检测 - 实体与英文单词冲突

我有几句话如下

  • what is the sales org for fpc 1234 for IS?
  • give me sales org for fpc 12234 for IS?
  • give me sales org for fpc 12234 with scope ME?

在上面的句子中,我正在寻找的实体分别是IS,ISME。这些实体包括 、ISMEANAM它们在用英语构建句子时很常见。我LUIS用于实体检测并将实体维护为列表实体。问题是,虽然LUIS能够检测到实体(IS, AN, AM),但它可以在正常句子中检测到它们,例如

  • what is the sales org for fpc 1234

在上面的句子中,我们没有任何实体,但实体IS被拾取。

我们如何仅在实体被实际处理而不是句子结构的一部分时才检测它们。

需要注意的几点:

  • 实体列表真的很长,用来训练实体而不是使用实体
  • 我们不能硬编码来查找实体的两次出现,因为它可能会失败,如下所示:
    • give me sales org for fpc 12234 for IS?
    • ME,IS不会出现两次,也不能用于创建规则。
  • 问题一般不在于LUIS实体提取,而在于实体提取。我也在研究POS标记,但这需要实体以大写字母出现才能将其识别为名词,但情况可能并非总是如此。
    • 也刚刚尝试了使用 Spacy 的 POS 标记。以下是结果。
    • 哪个销售组织扩展到 fpc 1234 for TO?- TO 被归类为介词(实际上是。) 在此处输入图像描述
    • 范围 IS 的 fpc 1234 的销售组织是什么?- IS被归类为动词 在此处输入图像描述
0 投票
1 回答
1913 浏览

chatbot - 如何在 RASA 中提取两个有时间的槽值

我有一个申请休假的 FormAction,需要 3 个字段

Leave_Type Start_Date End_Date

现在如何提取日期并在插槽中适当地设置。因为用户输入可以只是一个日期值,比如“12/09/2017”或“12 July 2007”或“Sept 21 2016”。表单将提示每个插槽。

Duckling 提供了一种输入范围的方法,但对于该用户查询应该是“我想从 2018 年 12 月 2 日到 2018 年 13 月 2 日申请休假”。但是我的机器人会提示用户为每个插槽使用 FormAction。因此,当机器人询问 Start_Date 时,输入日期应映射到 Start_Date 插槽

0 投票
1 回答
212 浏览

nlp - Spacy:生成通用句子,然后在此基础上训练模型。这是个好主意吗?

我正在从头开始训练一个模型来从文本中预测食物。我已经标记了大约 500 个句子来训练我的模型,并且准确性非常好。但是,我有点担心看不见的真实世界数据,所以我想出了一个有趣的想法。所以我想知道一些有经验的人在这个有趣的想法中的想法。

所以这个想法是将 500 个句子转换成 10000 个句子。为此,我首先用标签替换了实际实体,然后填充了可能的实体。示例如下:

原训练句:

  1. “乐购去年卖了五万比萨。”——食物=比萨
  2. “他一个人的时候喜欢吃布丁。” --- 食物 = 布丁
  3. “乐购去年卖了五万。”
  4. “他一个人的时候喜欢吃东西。”

食物清单:

  1. 比萨
  2. 布丁

新生成的训练句子:

  1. “乐购去年卖了五万比萨。”——食物=比萨
  2. “乐购去年卖了五万布丁。”——食物=布丁
  3. “他喜欢在一个人的时候吃披萨。” --- 食物 = 比萨
  4. “他一个人的时候喜欢吃布丁。” --- 食物 = 布丁

那么生成这样的训练句子是不是很好。我认为的好处:

  1. 更多的句子。
  2. 单个实体将有更多示例而不是一两个。
  3. 可能精度很高。

问题可能是:

  • 充满相似句型的训练数据。

谢谢,请让我知道这种方法的想法。

0 投票
0 回答
1438 浏览

r - R 中的高效命名实体识别

我在 R 中有以下代码,用于从文本中提取人员和位置:

但我得到的结果如下:

独特的(地点)

字符(0)

打印(位置)

字符(0)

独特的(人)

字符(0)

打印(人)

字符(0)

NER_Data 包含任何带有人名和位置的文本,例如比尔·盖茨、沃伦·巴菲特的信息

需要您对此模块的快速指导。

0 投票
1 回答
295 浏览

nlp - 使用 Python 中的知识库从文本中提取实体

我有一个实体提取任务,需要 wikidata、freebase、DBpedia 等 KB。鉴于它们的巨大尺寸,很难从中下载和提取实体。是否有 python 客户端可以进行 API 调用以通过它们以非结构化文本作为输入来获取提取信息?

0 投票
1 回答
247 浏览

nlp - 如何在 NER 任务中使用 BERT 仅用于从没有分类的序列中提取实体?

我在这里的要求是给定一个句子(序列),我想只提取序列中存在的实体,而不将它们分类到 NER 任务中的类型。我看到 NER 的 BertForTokenClassification 进行了分类。这可以仅适用于提取吗?

BERT 可以仅用于进行实体提取/识别吗?

0 投票
1 回答
19 浏览

named-entity-extraction - 如何匹配聊天脚本中的概念值

如果我使用 ~concept,我怎么知道用户输入了什么?这就像典型 NLP 框架中的实体。例如

如果用户键入I am from FRANCE,似乎无法提取值FRANCE~country回显给用户或稍后使用它$country=_0

我认为这_0可能会有所帮助,但没有工作

这将起作用,但不使用通配符的概念

参考文档 https://github.com/ChatScript/ChatScript/blob/master/WIKI/OVERVIEWS-AND-TUTORIALS/ChatScript-Tutorial.md#short-term-memory--_

0 投票
0 回答
41 浏览

machine-learning - 自定义名称检测

这是一个处于非常早期阶段的项目,我正在努力寻找从哪里开始的想法。
任何帮助或指示将不胜感激!

我的问题:
一侧有文本,另一侧有命名 GraphDB 元素的列表(通常名称是首字母缩写词或多词表达式)。我的文字没有注释。
我想检测文本中是否明确使用了名称。诀窍在于它不一定是完美的字符串匹配(例如,首字母缩略词可用于缩短多词表达式,或者可以省略一小部分)。所以一个简单的字符串搜索不会有 100% 的召回率(即使它可以用作启动器)。

如果我只有一个输入并且我希望它与其中一个名称相匹配,我会做一个简单的编辑距离计算,就是这样。让我烦恼的是,我必须对整篇文章都这样做,而且我不知道如何解决/分解问题。
我无法分解 N-gram 中的所有内容,因为我的命名实体可以是一个单词或最多七个单词……或者我可以吗?
我有数千个 Graph 元素,所以我认为 NER 不能在这里应用……或者可以吗?

一个例子可能是:
我的名字列表是 ['Graph Database', 'Manager', 'Employee Number 1']
文本是:

每天早上,经理都会浏览图形数据库以查找更新。每天晚上,员工 1都会更新GraphDB

我希望在这段文本中将 4 个突出显示的部分映射到列表中的相应项目。



我在机器学习方面有一点背景,但我还没有真正做过 NLP。说清楚,我不关心这些词的含义,我只是想能够检测到它们。

谢谢

0 投票
2 回答
2218 浏览

python - Spacy 从训练模型中提取命名实体关系

如何使用 Spacy 创建一个新的名称实体“病例”——在传染病病例数的上下文中,然后提取此病例数与病例基数之间的依赖关系。

例如,在以下文本中,“其中,1995 年 10 月 9 日至 11 月 5 日期间报告了 879 例病例,其中 4 人死亡。” 我们想提取“879”和“cases”

根据 Spacy 的示例文档页面上的“训练其他实体类型”的代码:

https://spacy.io/usage/examples#information-extraction

我使用他们现有的预训练“en_core_web_sm”英文模型,成功训练了一个名为“CASES”的附加实体:

测试输出:

我们得到一个结果

模型已保存,可以从上述文字中正确识别出 CASES。

我的目标是从新闻文章中提取给定疾病/病毒的病例数,然后再提取死亡人数。

我现在使用这个新创建的模型试图找到 CASES 和 CARDINAL 之间的依赖关系:

再次使用 Spacy 的示例

https://spacy.io/usage/examples#new-entity-type

'训练 spaCy 的依赖解析器'

输出如下,没有依赖检测。就好像模型失去了这种能力,同时保留了检测命名实体的能力。或者,也许某种设置已被关闭?

如果我使用原始的预训练模型“en_core_web_sm”,结果是:

这与 Spacy 示例页面上模型的输出相同。

有人知道发生了什么,为什么我的新模型(在原始 Spacy 'en_core_web_sm' 上使用迁移学习)现在无法在此示例中找到依赖项?

编辑:

如果我使用更新后的训练模型,它可以检测到新实体“案例”和基数“100,000”,但是它失去了检测金钱和日期的能力。

当我训练模型时,我训练了数千个句子,使用基本模型 en_core_web_sm 本身来检测所有实体并标记它们,以避免模型“忘记”旧实体。

在此处输入图像描述

0 投票
1 回答
113 浏览

json - 在哪里可以找到用于实体提取的精确 GOOGLE ML json 规范?

我正在尝试使用我在 Google ML 网站某处找到的 JSONL 规范生成我的训练样本。但是在导入我的数据时,我得到:

错误:gs://tx_harris_rel_0/tx_harris_rel_0.jsonl 第 1 行的注释 1 由 gs://tx_harris_rel_0/tx_harris_rel_0.csv 引用:文本内容不能互换。

(对我所有的注释重复,对于每个 jsonl 行/文档)。

我没有看到任何明显的错误,例如不平衡的括号或键入错误的键。这是我的数据示例(单行):