使用GloVe生成中文词向量

首先从官网上下载glove

下载地址:https://github.com/stanfordnlp/GloVe

这个工具是需要在lunix下执行的

解压后得到下图

使用GloVe生成中文词向量_第1张图片

把要生成词向量的文本扔进这个文件夹中(文本一句一行,分词)

我的文本 222.txt

 还 行 
 一级 棒 , 一切 都 好 ! 
 玩 的 很 开心 , 很 好 。 
 景色 优美 , 也 很 好玩 。 
 风景 特别 好 , 很 喜欢 。 
 啥 都 没有 啊 , 白 去一趟 ! 
 不错 , 比 青龙 侠 好多 了   
 好 地方 , 真的 好 地方 , 不错 
 青龙峡 也 是 非常 值得 一去 。 
 景区 很 不错 , 安静 、 幽美 。 
 值得 一去 , 这里 风景 非常 不错 
 玩得 很 开心 , 下次 还会 再 去 。 
 感觉 一般般 , 漂流 可以 试试 , 
 很 好 , 山西 太行山 很 不错 的 。 
 风景 不错 , 值得 来 这里 游玩 ! 
 长治 博物馆 体验 长治 人文 特色 ! 
 这 是 那 一片 山脉 里 最好 的 , 推荐 
 八路军 纪念馆 好 地方 , 值得 一去 !

修改demo.sh中的东西

首先我们先了解一下demo.sh中的一些内容

CORPUS=text8                                     要生成词向量的文本
VOCAB_FILE=vocab.txt                             得到的词和词频
COOCCURRENCE_FILE=cooccurrence.bin
COOCCURRENCE_SHUF_FILE=cooccurrence.shuf.bin
BUILDDIR=build
SAVE_FILE=vectors
VERBOSE=2
MEMORY=4.0                                        内存
VOCAB_MIN_COUNT=5                                 最小词频数
VECTOR_SIZE=50                                    词向量维度
MAX_ITER=15                                       训练迭代次数
WINDOW_SIZE=15                                    上下文窗口数
BINARY=2                                          保存文件类型(2进制)
NUM_THREADS=8                                     线程数
X_MAX=10

在这里修改CORPUS=222.txt,保存

在终端输入命令

sh demo.sh(centOS)

bash demo.sh(ubuntu)

然后我的代码报错了

Shuffling by chunks: processed 0 lines.demo.sh: 行 40: 11571 段错误               (吐核)$BUILDDIR/shuffle -memory $MEMORY -verbose $VERBOSE < $COOCCURRENCE_FILE > $COOCCURRENCE_SHUF_FILE

因为在demo.sh中设置的MEMORY=4大于机器的memory

修改后的代码如下(我还改了其他参数,请根据需求自行修改)

CORPUS=222.txt
VOCAB_FILE=vocab.txt
COOCCURRENCE_FILE=cooccurrence.bin
COOCCURRENCE_SHUF_FILE=cooccurrence.shuf.bin
BUILDDIR=build
SAVE_FILE=vectors
VERBOSE=2
MEMORY=2.0
VOCAB_MIN_COUNT=5
VECTOR_SIZE=300
MAX_ITER=15
WINDOW_SIZE=15
BINARY=2
NUM_THREADS=8
X_MAX=10

最后得到结果

使用GloVe生成中文词向量_第2张图片

 

 

 

剧终。。。 

另一篇文章说:

原文地址:https://blog.csdn.net/weixin_37947156/article/details/83145778

注意,如果训练数据较大,则训练时间较长,那么建议使用nohup来运行程序
nohup bash demo.sh >output.txt 2>&1 &
坐等训练,最后会得到vectors.txt 以及其他的相应的文件。如果要用gensim的word2ve load进来,那么需要在vectors.txt的第一行加上vacob_size vector_size,第一个数指明一共有多少个向量,第二个数指明每个向量有多少维。
我没有使用过,用后过来修改

你可能感兴趣的:(工具)