fasttext(3)-- API 文档 & 参数说明

(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 '''

 

你可能感兴趣的:(NLP)