您知道POS类似于“ NP”,“ VERB”。如何将这些功能结合到word2vec?
就像跟随向量吗?
keyword V1 V2 V3 V4 V5 V6
corruption 0.07397 0.290874 -0.170812 0.085428 'VERB' 'NP'
people ..............................................................
budget ...........................................................
答案 0 :(得分:4)
第一个简单的解决方案是将嵌入向量与一个表示POS标签的热编码向量连接起来。
但是,如果您想做一些更出色的事情,则应该找到权衡这些不同功能的正确方法。
例如,您可以使用XGboost:给定一组未标准化的功能(在您的情况下为嵌入+ POS),可以根据特定任务为每个功能分配权重。
作为替代方案,您可以使用神经网络将这些特征组合成唯一的有意义的隐藏表示形式。
假设每个单词的上下文在您的任务中都很重要,则可以执行以下操作:
P.S。请注意,使用递归层不是强制性的,您也可以尝试将pos连接并直接嵌入,然后应用完全连接的层。
答案 1 :(得分:0)
如果要将POS标签作为功能添加到嵌入矢量中,则可以简单地add them to the numpy arrays表示单词矢量。但是,我猜想,这种技巧不应该起作用,因为单词向量的维数很高,而且单个添加功能的影响也很低。
使用POS标签扩展单词向量是一个好习惯(例如,因为它可以处理多义性),但是通常POS标签是以不同的方式添加的。首先,您应该使用POS标签注释您的训练语料库,然后您可以在该语料库上训练模型(vectors.nlpl存储库中的模型是通过这种方式训练的)。结果,您应该获得如下内容:
keyword V1 V2 V3 V4
corruption_NOUN 0.07397 0.290874 -0.170812 0.085428
people_NOUN .........................................
budget_NOUN .........................................