Перчатки тренировочные слова векторов
Вход: Корпус
вывод: вектор слова
Шаги делятся на загрузку кода, подготовку корпуса и обучение модели.
1. Загрузите код
git clone https: // github . com / stanfordnlp / GloVe . git
После загрузки находится папка, каталог файлов выглядит следующим образом:
2. Подготовьте корпус
Формат корпуса - текст после сегментации слов. Слова разделены пробелами. Метод сегментации слов выбирается самостоятельно, например jieba, следующим образом:
紧急通知 通知 七点 50 准时 武陵 楼 开会 早 开 早 散 十一 十一点 十一点半 一点 一点半 准时 散会 时间 会议
党 服 成员 明天 中午 12 点 30 分 第一 第一次 例会 会地 地点 待定 请 预留 留出 时间 收到 请 回复 全体成员 成员 时间 会议
通知 宣传 宣传部 部将 明天 中午 1230 周三 j4101 开本 本次 部门 例会 请 带好 笔 本次 例会 考评 部 本次 例会 主席 主席团 发 邀请 梁 淑 楠 收到 请 回复 全体成员 成员 时间 会议 议会 会议 议会 会议
Поместите корпус (counts.txt) в каталог Glove и добавьте путь к demo.sh. Исходная часть кода demo.sh выглядит следующим образом:
#!/bin/bash
set -e
# Makes programs, downloads sample data, trains a GloVe model, and then evaluates it.
# One optional argument can specify the language used for eval script: matlab, octave or [default] python
make
if [ ! -e text8 ]; then
if hash wget 2>/dev/null; then
wget http://mattmahoney.net/dc/text8.zip
else
curl -O http://mattmahoney.net/dc/text8.zip
fi
unzip text8.zip
rm text8.zip
fi
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
NUM_THREADS=8
X_MAX=10
Измененные файлы выглядят следующим образом
#!/bin/bash
set -e
# Makes programs, downloads sample data, trains a GloVe model, and then evaluates it.
# One optional argument can specify the language used for eval script: matlab, octave or [default] python
#make
#if [ ! -e text8 ]; then
# if hash wget 2>/dev/null; then
# wget http://mattmahoney.net/dc/text8.zip
# else
# curl -O http://mattmahoney.net/dc/text8.zip
# fi
# unzip text8.zip
# rm text8.zip
#fi
CORPUS=counts.txt #CORPUS改为自己的预训练的文档
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=300 #训练的词向量维度
MAX_ITER=15 #训练迭代次数
WINDOW_SIZE=15 #窗口大小
BINARY=2
NUM_THREADS=8
X_MAX=10
В-третьих, модель обучения.
Сначала выполните команду make в каталоге перчаток (если он не существует, вам может потребоваться установить MinGW)
make
После выполнения команды будет сгенерирована папка сборки и файлы зависимостей, необходимые для обучения.
Затем запустите demo.sh:
./demo.sh 或 bash demo.sh 或 sh demo.sh
После обучения вы получите 3 векторных файла:
Каждая строка в vocab.txt представляет собой слово и его частотность.
Нужные нам векторы слов хранятся в vectors.txt