【问题标题】:How to train a machine to label individual words in a text如何训练机器标记文本中的单个单词
【发布时间】:2018-06-08 17:48:05
【问题描述】:

对于文本(比如说):

“我今天要离开印度。我要去美国一周。” “我从印度到美国旅行”

我需要训练机器将美国标记为“目的地”,将印度标记为“来源”

我正在使用 SpaCy 的 NER 来提取位置。

我应该如何继续创建训练集并对其进行训练。我的特征向量和标签向量是什么?

【问题讨论】:

  • 你需要在下面的文本中找到模式我可以看到公司名称出现在每个关键字“公司”之前,我可以提取这些并用值维护字典。更优越的是公司跨度>
  • 感谢@HariomSingh 的回复。我已经编辑了我的问题。如果公司名称只是 ABC 和 XYZ(如 google 或 microsoft)怎么办。您能否详细说明分配值的解决方案。 (如果可能,我需要使用 NLP/ML)
  • 虽然任务有点模糊,但您肯定需要熟悉自然语言处理中的一些概念。你肯定需要命名实体识别,这是一些流行的 nlp 库提供的东西,例如 NLTK。此外,您将需要大量训练数据来教您的模型识别源和目标之间的差异(您在语料库中找到的位置)。
  • 感谢@IvayloStrandjev 的回复。我使用 Spacy 库及其 NER 功能来提取位置。但我不知道如何训练它。
  • @Phoenix 可能你想在位置上训练一个分类器来预测 3 个类“源”、“目标”和“其他”。有多种方法可以定义这样的分类器,一种流行的方法是使用递归神经网络和注意力。还有一个扩展是用于问答的动态记忆网络。看看:youtube.com/watch?v=T3octNTE7Is

标签: python algorithm machine-learning nlp text-mining


【解决方案1】:

我认为可能有希望的一种方法是使用动态记忆网络进行问答。他们正在解决的问题是您试图解决的问题的通用版本。在您的情况下,您将只回答两个问题:“哪个是来源?”和“目的地是哪里?”。看看paper 和这个video lecture,它解释了相同的方法。

在我看来,只要您有足够的训练示例以及源和目标的基本事实,就应该很容易生成训练集。

您还可以利用您只处理 2 个不同问题的事实 - 而不是计算问题的嵌入,而是训练两个不同的模型,一个用于回答哪个是源,第二个是找到目标。

【讨论】:

  • @非常感谢您。我会仔细研究您所说的一切,并在完成任务后再次感谢您。
猜你喜欢
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
  • 2021-10-03
  • 1970-01-01
  • 2017-09-13
  • 2015-06-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多