Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何利用神经网络模型从报文中检测出信源和目的地_Python_Neural Network_Nlp_Text Classification_Ner - Fatal编程技术网

Python 如何利用神经网络模型从报文中检测出信源和目的地

Python 如何利用神经网络模型从报文中检测出信源和目的地,python,neural-network,nlp,text-classification,ner,Python,Neural Network,Nlp,Text Classification,Ner,我想从给定的文本中提取起点和终点 比如说, I am travelling from London to New York. I am flying to Sydney from Singapore. 原产地:伦敦,新加坡。 目的地-->悉尼,纽约 NER将只提供位置名称,但无法获取起点和目的地 是否有可能训练一个神经模型来检测同样的情况 我试着训练神经网络对文本进行分类 {"tag": "Origin", "patterns": ["Flying from ", "Travelli

我想从给定的文本中提取起点和终点

比如说,

I am travelling from London to New York.
I am flying to Sydney from Singapore.
原产地:伦敦,新加坡。 目的地-->悉尼,纽约

NER将只提供位置名称,但无法获取起点和目的地

是否有可能训练一个神经模型来检测同样的情况

我试着训练神经网络对文本进行分类

{"tag": "Origin",
     "patterns": ["Flying from ", "Travelling from ", "My source is", ]
通过这种方式,我们可以将文本分类为来源,但我也需要获得值(在本例中为伦敦、新加坡)


无论如何,我们都可以做到这一点吗?

正如其他人评论的那样,NN在这里可能是一种开销,但它们仍然可以使用。要使用NN解决此问题,可以执行以下步骤:

  • 收集表格(文本、来源、目的地)中的培训数据,例如[(我从伦敦飞往纽约),“伦敦”,“纽约”),(我从新加坡飞往悉尼),“悉尼”,“新加坡”)]。您可能需要大量数据才能使NN足够准确
  • 使用经过训练的word2vec表示法(例如)将文本矢量化为等长矢量序列(如30,必要时使用填充或剪切)。由于您对位置感兴趣,为了更好地进行培训,您应该将位置矢量化为单独的维度。由此产生的向量序列数组将作为您的训练输入(X)
  • 您的预测(Y)也将是长度为30的序列,由0-1对向量组成,当序列中表示文本的对应单词是源(原点)时,您将1放入第一(第二)分量,否则将0放入
  • 使用此X和Y,您可以训练LSTM NN(参见示例),设置返回序列=真,并正确指定尺寸
  • 然后,您可以用同样的方法准备测试数据,获得结果,并通过具有最高值的对来确定源和目标在输入文本中的位置
    . 这通常意味着您需要的是与本地导师一起花半个小时,或是浏览教程,而不是堆栈溢出。您没有指定需要检查的输入范围,并且您在解决问题方面几乎没有付出任何努力。为什么你需要一个神经模型来完成这项任务?从你给出的例子来看,问题仅仅是抓取“to”和“From”关键字后面的地名。我想抓取这些名称,即使它的来源是这个位置,目的地是这个位置。这就是我尝试神经模型的原因。如果你想开始学习神经网络,我建议你从数字开始。像你在这里介绍的东西不需要。我并不是真的尝试开始使用神经网络,只是想知道,如果神经网络解决了这个问题。这是一个不同的角度,我会尝试这个。但如何将位置矢量化为一个单独的维度呢?您只需将一个元素添加到所有向量(可以表示为列表)中,并将其值设置为1表示位置,否则设置为0。