如何根据预定义的语言类别来衡量一个文档的差异性?

问题描述 投票:0回答:1

我有3类词,分别对应不同类型的心理驱动力(对权力的需求、对成就的需求和对亲情的需求)。目前,对于我样本中的每一份文档(n=100,000),我正在使用一个工具来统计每一类别的词数,并根据文本中使用的总词数,将原始词数转换为百分比,计算出每一类别的比例得分。

                 n-power   n-achieve  n-affiliation
Document1        0.010      0.025      0.100  
Document2        0.045      0.010      0.050
:                :          :          :
:                :          :          :
Document100000   0.100      0.020      0.010

对于每篇文档,我想得到一个独特性的衡量标准,它表示一篇文档在三个心理类别上的内容与所有文档(即我的样本中的原型文档)的平均内容的不同程度。有什么方法可以做到这一点吗?

nlp data-science topic-modeling cosine-similarity word-embedding
1个回答
2
投票

本质上你有的是一个聚类问题。目前,你用3个数字对你的每一个文档做了一个表示,让我们称它们为一个向量(本质上你做了一些嵌入)。要做到你想要的,你可以1)计算整个集合的平均向量。基本上是把每一列中的所有数字相加,然后除以文档的数量.2)选择一个你喜欢的度量,它将反映你的文档向量与平均数的对齐。你可以直接使用(欧几里得)。sklearn.metrics.pairwise.euclidean_distances(对数)。或余弦sklearn.metrics.pairwise.cosine_distancesX是你的文档向量列表,Y是列表中的一个平均向量。这是个不错的开始。

如果我会这样做,我会忽略平均向量的方法,因为你实际上是在处理聚类问题。所以我会使用 KMeans查看更多 指南

希望对大家有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.