【发布时间】:2018-11-22 05:22:56
【问题描述】:
我有一个包含 6200 个句子的数据(它们是“sign_or_symptoms 诊断 Pathologic_function”形式的三元组),但是这些句子中的唯一词(词汇)是 181,在句子上训练模型的合适向量大小是多少词汇量这么低。是否有任何资源或研究根据词汇量大小来确定合适的向量大小?
【问题讨论】:
我有一个包含 6200 个句子的数据(它们是“sign_or_symptoms 诊断 Pathologic_function”形式的三元组),但是这些句子中的唯一词(词汇)是 181,在句子上训练模型的合适向量大小是多少词汇量这么低。是否有任何资源或研究根据词汇量大小来确定合适的向量大小?
【问题讨论】:
最佳做法是针对您真正的最终任务对其进行测试。
对于 word2vec 来说,这是一个非常小的语料库和词汇量。它可能根本不合适,因为它的力量来自大型、多样化的训练集。
但好的一面是,您可以非常快速地使用不同的参数运行大量试验!
您绝对不能使用与您的词汇量 (181) 一样大的向量维数,甚至不能非常接近。在这种情况下,模型肯定会“过度拟合”——只是孤立地记住每个单词的效果,没有必要的权衡“拔河”,迫使单词彼此更近/更远,这创造了 word2vec 模型的特殊价值/通用性。
我非常宽松的经验法则是研究围绕词汇量平方根的维度。而且,4 的倍数往往在底层数组例程中工作得最好(至少在性能至关重要时,对于如此小的数据集可能不是这样)。所以我会先尝试 12 或 16 维,然后根据对你的实际任务的一些定量质量评估来探索其他更低/更高的值。
但同样,您使用的数据集非常小,除非您的“句子”实际上很长,否则如果没有更多数据,word2vec 对您来说可能是一种非常薄弱的技术。
【讨论】: