如何根据预定义的语言类别衡量文档的不同程度?

How to measure how distinct a document is based on predefined linguistic categories?

我有 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

对于每个文档,我想得到一个独特性的度量,该度量表示文档的三个心理类别的内容与所有文档的平均内容(即我的原型文档)的不同程度样本)。有办法吗?

本质上你遇到的是一个聚类问题。目前,您用 3 个数字表示每个文档,我们称它们为向量(本质上是您编写了一些嵌入)。做你想做的事 1) 计算整个集合的平均向量。基本上将每列中的所有数字相加并除以文档数。 2) 选择一个你喜欢的指标,它会反映你的文档向量与平均值的对齐情况。你可以只使用(欧几里德) sklearn.metrics.pairwise.euclidean_distances 或余弦 sklearn.metrics.pairwise.cosine_distances X 将是文档向量列表,Y 将是列表中的单个平均向量。这是一个很好的起点。

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

希望对您有所帮助!