FastText 提供了预训练的文本分类模型,它是在大规模文本数据上进行训练得到的,并且通常具有良好的泛化能力。这些预训练的分类模型可用于快速搭建文本分类系统,无需从头开始训练模型,省去了大量数据收集和训练模型的时间。预训练的分类模型,有两种格式:
- .bin 格式:这是 FastText 默认的二进制模型格式,包含了词向量和模型参数。它提供了高效的加载和查询速度。
- .ftz 格式:这是 FastText 为移动和嵌入式设备优化的模型格式。它经过了量化和压缩,以减少模型的大小和内存占用,同时保持较高的分类和词向量查询性能。
1. 文本分类模型
https://fasttext.cc/docs/en/supervised-models.html
import fasttext
def test():
model = fasttext.load_model('ag_news.ftz')
print(model.labels)
print(model.predict('Dollar Drops Broadly on Record Trade Gap (Reuters)'))
if __name__ == '__main__':
test()
程序输出结果:
['__label__4', '__label__2', '__label__3', '__label__1']
(('__label__3',), array([1.00001001]))
2. 语言识别模型
FastText 提供两种语言识别模型,可以识别 176 种语言。这些模型是基于 Wikipedia、Tatoeba 和 SETimes 的数据训练。
https://fasttext.cc/docs/en/language-identification.html
import fasttext
def test():
model = fasttext.load_model('lid.176.ftz')
print(model.predict('I am a teacher!'))
print(model.predict('我是一个老师!'))
print(model.predict('Я учитель!'))
print(model.predict('私は先生です!'))
if __name__ == '__main__':
test()
程序输出结果:
(('__label__en',), array([0.96349567]))
(('__label__zh',), array([0.91488588]))
(('__label__ru',), array([0.99432421]))
(('__label__ja',), array([0.99975049]))


冀公网安备13050302001966号