我有类似于下面的文本,我想找出这些文本和意图之间的语义相似性。
( 1)辞职的不同步骤是甚麽?( 1)辞职的程序?( 1)辞职须遵循甚麽程序?( 1)任何公司都有甚麽常见的辞职方案?( 2)辞职后须与谁联络?( 3)我今天确实辞职了。4)如果你再不听话,我就辞职!4)你的粗鲁行为迫使我辞职。5)不同的公司有不同的辞职政策!
为了解决上面的问题,我发现“Quoras模型来处理重复的问题”很有趣。所以我想让我们试一试,但是要做一些小的改变。改变是做二进制分类,让我们做多类分类。因此,我试图对"Quora数据集“进行多类分类。我的意图是用LSTM,CNN模型将每个问题和它们的重复问题分类为一个向量空间的类。如果序列保持不变,LSTM就能工作。但是,正如您所知道的,问题结构可以改变,保持原意不变(或者我们可以将它们称为重复问题。)因此,为了处理这些变化的问题,我尝试了CNN。CNN为一些小数据集工作,但对于大数据集,它变得非常敏感或重叠。
所以我在想,“我能利用NLP和深度学习找到意图和语义关系吗?”
我有POS标签,NER,SRL,LST,实体类型,关系类型等特性。在深度学习中,我如何利用NLP的这些特性来达到最先进的效果?
有一篇论文"什么时候树结构是深入学习表象所必需的?",它使用解析树作为递归神经网络模型的输入。有类似的工作吗?有谁能给我提供本文所用的数据集吗?
发布于 2017-07-19 05:25:40
将单词表示为单词向量。然后在单词向量中添加额外的维数。在这些额外的维度中,以数字形式包括POS、NER等特征。
假设您有一个word2vec/Glove模型,每个单词都由一个100维向量表示。此外,您有诸如POS,NER等功能的每个单词。不要用仅仅100个维度来表示每个单词,而是用100 + n维度来表示它,并用nlp特性填充这些n插槽。
这将给向量一个额外的意义,你已经手动定义了。
您可以从使用Doc2Vec/Sent2Vec等其他模型中获益,它可以将整个句子表示为向量。使用这些向量,您可以查询句子的相似性。
因此,假设您已经对您的数据进行了培训,只需查询:
model.most_similar_cosmul(SENT_42)
在哪里,SENT_42代表“我辞职后需要联系谁?",你会得到一个类似的句子列表。
我建议您在python中使用根西姆氏doc2vec模型。
发布于 2017-07-18 18:23:11
“字搬运工距离”算法是一种很有前途的算法。它将文档相似度看作是词嵌入向量之间的一个优化问题。我们的目标是尽量减少单词向量之间的“旅行”成本。考虑到词向量中固有的语义编码,它可以对意图和意义的各个方面进行建模。
字移器距离(WMD)的实现相对简单。然而,由于它所做的比较次数,它在计算上是昂贵的。
大规模毁灭性武器完全忽略POS、NER、解析树和所有其他相关的NLP技术。然而,这些限制使其更容易应用,限制了它可以建模的语言的属性。
https://datascience.stackexchange.com/questions/20511
复制相似问题