【发布时间】:2019-01-03 00:39:21
【问题描述】:
RASA NLU 使用什么样的模型来提取词嵌入后的实体和意图?
【问题讨论】:
标签: neural-network nlp rasa-nlu named-entity-extraction
RASA NLU 使用什么样的模型来提取词嵌入后的实体和意图?
【问题讨论】:
标签: neural-network nlp rasa-nlu named-entity-extraction
来自 Rasa 的 blog post 澄清了一些方面。
使用 Rasa,您将首先训练一个矢量化器,该矢量化器将每个文档转换为 N 维矢量,其中 N 是您的词汇量的大小。这正是 scikit-learn 的 CountVectorizer 所做的。
每个意图嵌入都构建为一个单热向量(或者如果您有“混合”意图,则构建为具有更多 1s 的向量)。这些向量中的每一个都具有文档嵌入的相同维度,所以我猜N 实际上可能是(词汇量大小)+(意图数)。
此时,Rasa 将训练一个神经网络(默认:2 个隐藏层),其中损失函数旨在最大化文档 d 和意图 i 之间的相似性,如果 d 在中标记为 i训练集(并最小化d 与所有其他意图嵌入的相似性)。默认情况下,相似度计算为余弦相似度。
每个新的、看不见的文档都由神经网络嵌入,并为每个意图计算其相似性。与新文档最相似的意图将作为预测标签返回。
旧答案:
这不是 LSTM。他们说他们的方法是受到 Facebook 的启发 StarSpace.
我没有发现上面的论文很有启发性,但是看着 Starspace 的 Github 仓库,text classification use case 据说 与他们之前的作品具有相同的设置TagSpace。
TagSpace paper 更清晰,并解释了他们如何使用 CNN 将每个文档嵌入到一个空间中,使其与 关联的类向量被最小化。文字、文件和 类(“标签”)嵌入在相同的
d维空间中,并且 它们的距离通过余弦相似度或内积来测量。
【讨论】: