Python Fasttext

2017-12-20

本博客所有文章采用的授权方式为 自由转载-非商用-非衍生-保持署名 ,转载请务必注明出处,谢谢。

声明: 本博客欢迎转发,但请保留原作者信息!
github地址:atanx
新浪微博:@蜀山掌门V
QQ:365039667
博客地址:江斌的博客
内容仅供学习参考,如有不当引用,请告知博主。

layout: post title: Python-使用fasttext进行文本分类 description: Python-使用fasttext进行文本分类 category: 技术

安装

  • 系统要求linux/Mac
  • GCC 4.7+

使用fastText进行文本分类demo

  • 测试环境:master(172.16.0.30)
  • 路径/app/bi/jiangb/sloganClassify
  • 训练集data.txt

1. 训练模型

训练数据data形如:

    1 把 1000 首歌 装 到 口袋 里 。 __label__slogan
    2 唯一 的 不同 , 是 处处 都 不同 。 __label__slogan
    3 喝 杯水 都 可 感知 的 精准 。 __label__slogan
    4 一面 科技 , 一面 艺术 。 __label__slogan
    5 就算 是 家人 , 也 要 继续 当 恋人 。 __label__slogan
    6 世界 上 有 一种 专门 拆散 亲子关系 的 怪物 , 叫做 长大 。 __label__slogan
    7 所有 的 光芒 , 都 需要 时间 才能 被 看到 。 __label__slogan
    8 那些 别人 眼中 的 天真 , 都 是 我 以梦为 马 的 狂奔 。 __label__slogan
    9 它 很丑 , 但 它 能带 你 到 想 去 的 地方 。 __label__slogan
   10 了解 世界 的 两种 方式 , 翻墙 或者 MINI 。 __label__slogan
   11 越是 强手 , 越是 喜欢 强有力 的 对手 。 __label__slogan
   12 世界 上 最 重要 的 一部 车是 爸爸 的 肩膀 。 __label__slogan
   13 酒 , 两个 人分 着 喝 就 会 觉得 更 暖 。 __label__slogan
   14 第一次 和 父亲 喝酒 , 喝 的 是 小时候 父亲 在 家里 喝 的 那种 酒 。 __label__slogan
   15 没有 酒鬼 , 只有 胆小鬼 。 __label__slogan

模型训练代码

import fasttext
import sys 


reload(sys)
sys.setdefaultencoding('utf-8')

c = fasttext.supervised('data.txt', 'data.model', label_prefix='__label__')

2. 预测

#!/usr/bin/env python
# coding=utf-8

import fasttext
import sys
import jieba


reload(sys)
sys.setdefaultencoding('utf-8')

# 导入模型
c = fasttext.load_model('data.model.bin', label_prefix='__label__')

# 使用测试集数据测试模型
# r = c.test('data.txt')  # 测试 测试集数据
# print r.precision, r.recall  # 输出模型在测试集上的准确率和召回率


# 对指定句子进行预测
sentences = [u'重阳节日喜登高,思乡游子盼归巢',
			 u'你的眼神里,有涟漪,有落下的疼',
			 u'水洗的天空牵引我      延伸的远',
			 u'找灵感数据管理后台',
			 u'在无涯的时光中,我目空一切地走来',
			 u'用自己的生命',
			 u'再忙,也要和你喝杯咖啡 ']
sentences = [u' '.join(jieba.cut(s)) for s in sentences]
for s in sentences:
	print s
	print c.predict_proba([s])[0]
	print




章节列表