(1)fasttext.skipgram 和 fasttext.cbow 参数如下
input_file 训练文件路径(必须)
output 输出文件路径(必须)
lr 学习率 default 0.05
lr_update_rate 学习率更新速率 default 100
dim 训练的词向量维度 default 100
ws 上下文窗口大小 default 5
epoch epochs 数量 default 5
min_count 最低出现的词频 default 5
word_ngrams n-grams 设置
loss 损失函数 {ns,hs,softmax} default ns
minn 最小字符长度 default 3
maxn 最大字符长度 default 6
thread 线程数量 default 12
t 采样阈值 default 0.0001
silent 禁用 c++ 扩展日志输出 default 1
encoding 指定 input_file 的编码 default utf-8
使用示例
# skipgram model
model = fasttext.skipgram('train.txt','model',lr = 0.1,dim = 300)
# cbow model
model = fasttext.cbow('train.txt','model',lr = 0.1,dim = 300)
加载模型后,model 的方法一共有如下
# 加载词向量模型
model = fasttext.load_model("model.bin",encoding = "utf-8")
# model 方法一览
print model.model_name ''' 模型名称 '''
print model.words ''' 词汇列表 '''
print model.dim ''' 词向量维度 '''
print model.ws ''' 上下文窗口大小 '''
print model.epoch ''' epochs 数量 '''
print model.min_count ''' 最低词频 '''
print model.word_ngrams ''' n-gram 设置'''
print model.loss_name ''' 损失函数名称 '''
print model.minn ''' 模型最小字符长度 '''
print model.maxn ''' 模型最大字符长度 '''
print model.lr_update_rate ''' 学习率更新速率 '''
print model.t ''' 采样阈值 '''
print model.encoding ''' 模型编码 '''
print model[word] ''' word 的词向量 '''
(2) fasttext.supervised 参数 & classifier 方法一览
fasttext.supervised 参数如下
input_file 训练文件路径(必须)
output 输出文件路径(必须)
label_prefix 标签前缀 default __label__
lr 学习率 default 0.1
lr_update_rate 学习率更新速率 default 100
dim 词向量维度 default 100
ws 上下文窗口大小 default 5
epoch epochs 数量 default 5
min_count 最低词频 default 5
word_ngrams n-gram 设置 default 1
loss 损失函数 {ns,hs,softmax} default softmax
minn 最小字符长度 default 0
maxn 最大字符长度 default 0
thread 线程数量 default 12
t 采样阈值 default 0.0001
silent 禁用 c++ 扩展日志输出 default 1
encoding 指定 input_file 编码 default utf-8
pretrained_vectors 指定使用已有的词向量 .vec 文件 default None
使用示例
classifier = fasttext.supervised('train.txt','model',label_prefix = '__myprefix__',thread = 4)
加载模型后,classifier 的方法一共如下
# 加载已经训练好的文本分类器
classifier = fasttext.load_model("classifier.bin",label_prefix = "__label__")
# 使用测试数据集评估模型,数据格式与训练数据集一样
result = classifier.test("test.txt",k = 1) ''' k default 1 '''
print result.precision ''' 准确率 '''
print result.recall ''' 召回率 '''
print result.nexamples ''' Number of test examples '''
# 其他方法展示
print classifier.labels ''' 标签列表 '''
print classifier.label_prefix ''' 标签前缀 '''
print classifier.dim ''' 词向量维度 '''
print classifier.ws ''' 上下文窗口大小 '''
print classifier.epoch ''' epochs 数量 '''
print classifier.min_count ''' 最低词频 '''
print classifier.word_ngrams ''' n-gram 设置 '''
print classifier.loss_name ''' 损失函数名称 '''
print classifier.minn ''' 最小字符长度 '''
print classifier.maxn ''' 最大字符长度 '''
print classifier.lr_update_rate ''' 学习率更新速率 '''
print classifier.t ''' 采样阈值 '''
print classifier.encoding ''' 分类器使用的编码 '''
print classifier.predict(texts,k) ''' 预测类别,不包含预测可能性,k default 1 '''
print classifier.predict_proba(tests,k) '''预测类别,包含预测概率,k default 1 '''