在论文Learning Deep Structured Semantic Models for Web Search using Clickthrough Data中,使用了词哈希技术,将词的独热编码表示转换为字母三元组的(稀疏)向量。
根据我的理解,例如,单词look
首先被分解为字母三元组[#lo, loo, ook, ok#]
,然后表示为一个向量,其中这些三元组的位置为1,其他位置为0。通过这种方式,可以在论文中提到的很少碰撞的情况下,降低词向量的维度。
我的困惑是,通常如果我们使用基于独热编码的词袋模型来表示文档,我们只需统计每个词的出现次数。然而,我可以想象,如果我们使用基于字母三元组的词袋模型,不同的词很容易共享共同的模式,因此似乎很难通过这种表示恢复文档中哪些词的信息。
我理解得对吗?这个问题是如何解决的?还是说这对论文中的查询/标题实验并不重要?
回答:
然而,我可以想象,如果我们使用基于字母三元组的词袋模型,不同的词很容易共享共同的模式,因此似乎很难通过这种表示恢复文档中哪些词的信息。
这是正确的,因为模型并不是明确地通过词的信息来学习后验概率。相反,它使用的是三元组的信息。
这个问题是如何解决的?还是说这对论文中的查询/标题实验并不重要?
这个问题可以通过添加一个CNN/LSTM层来解决,以从三元组输入中表示更高(接近词)的抽象。下图展示了这篇论文中在三元组输入之上使用CNN的研究结果。