【发布时间】:2020-12-10 08:40:58
【问题描述】:
我正在使用官方 FastText python 库 (v0.9.2) 进行意图分类。
import fasttext
model = fasttext.train_supervised(input='./test.txt',
loss='softmax',
dim=200,
bucket=2000000,
epoch=25,
lr=1.0)
其中 test.txt 仅包含一个示例文件,例如:
__label__greetings hi
并预测两个话语的结果是:
print(model.words)
print('hi', model.predict('hi'))
print('bye', model.predict('bye'))
app_1 | ['hi']
app_1 | hi (('__label__greetings',), array([1.00001001]))
app_1 | bye ((), array([], dtype=float64))
这是我的预期输出,同时如果为同一个标签设置两个样本:
__label__greetings hi
__label__greetings hello
OOV 的结果不正确。
app_1 | ['hi', '</s>', 'hello']
app_1 | hi (('__label__greetings',), array([1.00001001]))
app_1 | bye (('__label__greetings',), array([1.00001001]))
我知道问题出在</s> 标记上,也许是文本文件中的\n?,当词汇表上没有任何单词时,文本将替换为</s>。是否有任何火车选项或方法可以跳过此行为?
谢谢!
【问题讨论】:
标签: python-3.x fasttext