Skip to content

Latest commit

 

History

History
13 lines (7 loc) · 932 Bytes

README.md

File metadata and controls

13 lines (7 loc) · 932 Bytes

SenseAssignment

项目介绍:用spark实现基于词义分配的一词多义词向量算法,并进行参数调优。算法是基于skipgram with negative sampling, 根据词义向量评分动态调整句子中每个词的词义,再进行分布式梯度下降训练词义向量。

算法特色:每次调整词义后根据词义的更新频率调整低频词义,不同executor上的词向量合并后做normalization。

项目特色:JVM分布式框架上的一词多义向量算法的尝试。

难点:参数调优,空间优化以及分布式的参数更新,参数包括Spark自带的一些系统参数(executor的数量,driver memory的大小)以及算法参数(词典大小,多义词的词义数量)。 遇到的麻烦:机器间的数据传输太慢,最后只是用单机32核做一个任务的训练。

附加工作:词义向量可视化(Python),t-SNE非线性降维以及相关系数计算(Spark)