用于创建文档功能的工具
Vectors-of-Locally-Aggregate-Concepts的Python项目详细描述
局部聚合概念向量(vlac)
目的
如下图所示,vlac对单词嵌入进行集群,以创建k概念。由于单词嵌入(即300)的高维性,使用球面k-均值进行聚类,因为应用欧几里德距离将导致样本之间的距离差别很小。方法如下。让wi是一个大小为d的单词嵌入,分配给集群中心ck。然后,对于文档中的每个单词,vlac计算每个单词嵌入到其指定的聚类中心的残差的元素和。这会产生k特征向量,每个概念一个,所有大小都是d。然后将所有特征向量连接起来,进行功率归一化,最后应用l2归一化。例如,如果要用大小为300的字嵌入创建10个概念,则生成的文档向量将包含10 x 300的值。
用法
在Python3.5.4中测试。
# Train model and transform collection of documentsvlac_model=VLAC(documents=train_docs,model=model,oov=False)vlac_features,kmeans=vlac_model.fit_transform(num_concepts=30)# Create features new documentsvlac_model=VLAC(documents=train_docs,model=model,oov=False)test_features=vlac_model.transform(kmeans=kmeans)