【问题标题】:How can I extract relation between words in a sentence using AI/ML/NLP [closed]如何使用 AI/ML/NLP 提取句子中单词之间的关系 [关闭]
【发布时间】:2021-04-18 17:43:07
【问题描述】:

举个例子:

  1. 我正在看坏事
  2. 他在看《行尸走肉》
  3. Deadpool 正在被我监视

在所有 3 个句子中,我想分别提取正在观看的内容(坏消息、行尸走肉、死侍)。我应该使用什么方法来实现这一目标?

【问题讨论】:

  • 你有训练数据吗?
  • 是的,但很少像这样的大约 100 个句子。

标签: machine-learning neural-network nlp artificial-intelligence


【解决方案1】:

您应该开始使用的 NLP 技术称为“依赖项解析”。有很多关于该主题的教程。 Spacy 就是这样一个 Python 库,可以为您进行依赖解析。这是一个使用 Spacy 进行依赖解析的演示 - Displacy Demo

要考虑的另一种方法是“关系提取”,专门从句子中提取 SVO(主语、动词、宾语)关系。

【讨论】:

    【解决方案2】:

    这称为“命名实体识别”。 https://en.wikipedia.org/wiki/Named-entity_recognition 有很多公司和服务(几乎每个聊天机器人平台都需要这种能力,包括 dialogflow、ibm watson 等)和许多使用神经网络等的实现。

    有3种基本方法:

    最先进的技术:

    1. 使用带有标记数据的大型数据集,其中文本被标记,并为此任务训练分类算法/神经网络,例如 BILSTM 或 BERT。这也可能识别未知的电影标题,因为它们在句子中的位置和句子的其他单词。

    2. 训练所有词/实体(LDA,词嵌入,...)的无监督或监督表示,识别电影的集群(可能不同类型的电影在不同的集群中...)并标记使用knn或类似方法输入句子。

    老派:

    1. 使用已知电影标题的数据集,查看电影标题是否是句子的子字符串(可以使用 Jaro-Winkler 或 Levenshtein 等字符串相似性算法使分类能够处理细微差异和错别字)。这种方法只能识别已知的电影片名(几乎每部电影的片名都可以在 IMDB 上找到)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多