《FastText 工具使用》(五)文本分类模型


FastText 提供了预训练的文本分类模型,它是在大规模文本数据上进行训练得到的,并且通常具有良好的泛化能力。这些预训练的分类模型可用于快速搭建文本分类系统,无需从头开始训练模型,省去了大量数据收集和训练模型的时间。预训练的分类模型,有两种格式:

  1. .bin 格式:这是 FastText 默认的二进制模型格式,包含了词向量和模型参数。它提供了高效的加载和查询速度。
  2. .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]))
未经允许不得转载:一亩三分地 » 《FastText 工具使用》(五)文本分类模型
评论 (0)

8 + 3 =