繁体   English   中英

为什么 kmeans 集群中最近的单词与 word2vec most_similar() 不同?

[英]why nearest words in kmeans cluster are not same as word2vec most_similar()?

当我通过 kmeans 对 word2vec 向量进行聚类并将它们可视化时,最近的单词是不同的。 例如:在 kmeans 集群中:

kmeans集群的可视化

关于 food_processing_industry 的词是:

company_caters,engineering_goods,农产品等,

在 word2vec most_similar()我得到:

[   ('cosmetic_industries', 0.8980938196182251),
    ('specialty_additives', 0.8836650252342224),
    ('plastics_industry', 0.8787887096405029),
    ('general_industries', 0.8768037557601929),
    ('industrial_segments', 0.8759687542915344),
    ('industries_ranging', 0.8747726082801819),
    ('semiconductor_industry', 0.8737508058547974),
    ('industrial_markets', 0.8736472725868225),
    ('dairy_industry', 0.8736001253128052),
    ('numerous_industries', 0.8734968304634094)]

我希望这些most_similar词围绕目标词集中在一个集群中

这些most_similar()词不在同一个簇中并且远离目标词,但余弦相似度为 0.8。 那么我如何将它们聚集在一个集群中

如果没有代码,不清楚您是如何进行 K-Means 聚类的。 所以那里可能有问题。

而且,任何减少到仅仅 2 维的词向量图形渲染(通常是 100-400 维或更多)都将丢失大部分相对位置和相对距离信息。 你只是希望你使用的方法倾向于在某些重要的(主要是局部的)尺度上保留某些重要的邻域和关系。

目前尚不清楚您的渲染使用了什么方法,也不清楚 K-Means 聚类可能如何参与 - 因为这些点似乎只是标记,而不是集群名称,并且也没有其他颜色/等指示集群。

此外,如果不了解更多关于您的词向量是如何创建的,则很难判断它们是否有任何好处,或者它们的创建过程中可能存在问题。

认为哪组明显的邻居更好?

most_similar()结果对我来说并不可怕——所有的邻居都是市场/行业/产品类别! – 但顶级邻居似乎并不特别与“食品加工”相关,并且不清楚这个词组是否已经全部是经济/工业术语(而不是来自 normla 文本的所有自然语言词/概念的完整词汇表)。

请注意,对于较小的语料库,或与第一次引入 word2vec 算法的自由格式自然语言文本类型不同的语料库,可能更难获得与默认参数相同的有用相对关系,或者根本无法获得. 特别是,如果你的完整词汇量只有几千个单词/概念/类别,那么强大的 100-400 维向量可能是不可能的。 这些需要从数万到数十万个不同单词的大型多样化语料库才能真正发挥作用。

所以我建议:

  • 首先专注于获得似乎有用的most_similar()结果。 扩展数据、调整预处理或优化训练参数以实现这一目标。 如果您遇到问题,请在提问时明确您正在执行的代码步骤以及数据和词汇的大小/特征。
  • 只有在核心向量在 `most_similar() 探测中看起来有用之后,你才应该尝试额外的聚类。 如果您遇到问题,请展示您的代码并解释您的真正目标。
  • 不要指望 2-D 渲染能揭示很多关于这种非常完整、非常多样化的高维空间的信息。 通过选择良好的技术,您可能会在可视化中看到对您预期的一些确认,或者一些您没有预料到的显着关系。 但是一个漂亮而有意义的最终渲染通常是大量早期正确决策、仔细观察和调整更多原始结果的下游结果。 它很少是实际指导正确决策或确认/使任何选择无效(可视化参数本身除外)的中间努力工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM