1 引言
尽管目前基于doc2vec语义相似词汇的代码已经非常完美[Doc2Vec获得语义相似词汇的算法改进(更新4个矿山数据集)],但为了扩展和挖掘更有意义的词汇, 在此基础上增加了一种新的算法fasttext,这个笔记简要描述了这个试验过程。
2 fasttext算法
在这个改进中, 使用了两种形式增加fasttext算法,第一种形式是通过调用gensim(4.1.0, 8/30/2021)来实现,gensim在初始fasttext的基础之上作了少许改进,在gensim下可以直接调用。
from gensim.models import FastText
第二种方法是通过安装原始的fasttext(0.9.2,4/28/2020)来实现:
import fasttext
fasttext的无监督算法与doc2vec一样,也使用了skipgram和cbow模型。skipgram通过句子中间的词来预测其周围的词, 而cbow通过周围的词来预测中间的词.
3 结果比较
下面显示了这三种方法得出的结果, 以'shear'作为输入:
(1) doc2vec
cohesion and tensile strength
normal stress
shear cracks
pre-existent fractures
shear failure
stiffness model
intact rock bridges between
(2) fasttext-gensim
tensile
stress
peak
cracks
extensile
bolt
ks
Length
(3) fasttext-original无监督
tensile
normal/shear
strength
persistency
Direct
persistency
Reinforcement
tensile–shear
(4) fasttext-original监督
west-dipping
Board
classification
finite/discrete
ornamentation
two-factor
minimised
上述结果显示, 在目前的数据状态下, doc2vec得出的结果最好, fasttext-gensim和fasttext-original无监督得出的结果差不多, fasttext-original监督得出的结果最差, 因此决定去掉这种算法.
4 改进数据集
在这个试验中,同时更新了以下数据集:
(1) orientation bias [断裂产状(Fracture Orientation)的概率密度函数---Fisher分布]
(2) joint trace length [岩体不连续贯通度(discontinuity persistence)的窗口取样方法]
5 1000天打卡
时间过得真快, 不知不觉已经过了1000天, 下面这段代码用来计算两个日期之间的天数.