fasttext(2)-- 安装 & 使用

fastText 安装

fasttext 是一个有效的学习字词表达和句子分类的库。建立在现代 Mac OS 和 Linux 发行版上。因为它使用了 C++11 的特性,所以需要一个支持 C++11 的编译器,这些包括:

gcc-4.8 或更高版本

clang-3.3 或更高版本

安装 fasttext

(1)最简单的方法是使用 pip 安装

$ git clone https://github.com/facebookresearch/fastText.git
$ cd fastText
$ pip install .

(2)也可以使用 setuptools 安装

$ git clone https://github.com/facebookresearch/fastText.git
$ cd fastText
$ python setup.py install

(3)现在可以直接安装

pip install fasttext

一般来说,正确处理数据是很重要的,fasttext 采用 UTF-8 编码的文本。所有的文本必须是 Python2的Unicode 和Python3的str。传递的文本将被 pybind11 编码为 UTF-8 ,然后传递给 fasttext c++ 库。这意味着在构建模型时使用 UTF-8 编码的文本非常重要。在类 unix 系统中,可以使用 iconv 转换文本。

fasttext 将基于以下 ASCII 字符进行标记(将文本分割成块)。特别是,它不知道 UTF-8 空格。建议将 UTF-8空格/字符边界转换成下列符号之一作为批准:

空格  tab 空字符 回车符

 

fastText 使用

fasttext 包有两个主要用例:单词表示学习 和 文本分类

1.单词表示学习

为了学习单词向量,我们可以使用 fasttext.skipgram 和 fasttext.cbow 功能

import fasttext
# skipgram model
model = fasttext.skipgram('data.txt','model')
print model.words # 字典中的词汇列表

# CBOW model
model = fasttext.cbow('data.txt','model')
print model.words

data.txt 是一个以 UTF-8 编码的训练文本文件,在默认情况下,单词向量将会考虑到 n-grams 的3 到 6 个字符。在优化结束时,程序将保存 2 个文件: model.bin 和 model.vec

获取词汇表外单词的向量,已经训练过的模型可以用来计算词汇表外的词汇向量。

# 单词 'king' 的词向量
print model['king']

加载训练好的词向量模型,我们可以使用 fasttext.load_model 方法

# 加载前面训练好的模型 model.bin
model = fasttext.load_model("model.bin")
print model.words # model 中的词汇列表
print model["king"] # "king" 的词向量

2.文本分类

该包还可以用于训练监督文本分类器,并从 fasttext 加载经过训练的分类器

训练文本分类器如下,data.train.txt 是一个包含训练语句和标签的文本文件,可以先参考上一节中训练语料的格式。默认情况下,我们假定标签是由字符串 __label__ 为前缀的单词。

# 训练文本分类器
classifier = fasttext.supervised('data.train.txt','model')
# 还可以用 label_prefix 指定标签前缀
classifier = fasttext.supervised('data.train.txt','model',label_prefix = '__label__')

将输出两个文件: model.bin 和 model.vec

一旦模型被训练,我们可以计算分类器在测试数据集上的准确率和召回率来评估模型 classifer.test 方法

# 加载模型
classifier = fasttext.load_model("model.bin",label_prefix = "__label__")

# 使用 classifier.test 方法在测试数据集上评估模型
result = classifier.test("test.txt")
print "准确率:" , result.precision
print "召回率:" , result.recall
print "Number of examples:", result.nexamples

为了使用训练的模型预测文本列表中最有可能的标签,我们可以用 classifier.predict 方法

texts = ["example very long text 1","example very longtext 2"]
labels = classifier.predict(texts)
print labels

或者加上可能性,也就是这个标签的预测概率,我们用 classifier.predict_proba 方法

texts = ["example very long text 1","example very longtext 2"]
labels = classifier.predict_proba(texts)
print labels

我们也可以指定 k 值,从分类器中得到 k-best 标签

# 不含预测可能性的 k = 3
labels = classifier.predict(texts,k = 3)

# 含可能性的 k = 3
labels = classifier.predict_proba(texts,k = 3)
fasttext-0.9.2-cp36-cp36m-win_amd64.whl是FastText库的一个特定版本,适用于Python 3.6并且在Windows操作系统上运行。 下载fasttext-0.9.2-cp36-cp36m-win_amd64.whl的目的是安装FastText库,以便在Python程序中使用FastText的功能。FastText是一个用于文本分类和文本表示的开源库,具有高效和强大的文本处理能力。 要进行fasttext-0.9.2-cp36-cp36m-win_amd64.whl的下载,可以按照以下步骤进行: 1. 打开浏览器,并进入FastText库的官方网站或可信赖的第三方Python库托管网站。 2. 在搜索框中输入"fasttext-0.9.2-cp36-cp36m-win_amd64.whl"进行搜索,或者在网站上浏览库的版本列表找到对应的版本。 3. 点击相关的下载链接,开始下载fasttext-0.9.2-cp36-cp36m-win_amd64.whl文件。下载过程可能需要一些时间,具体取决于您的网络速度和文件大小。 4. 下载完成后,可以将fasttext-0.9.2-cp36-cp36m-win_amd64.whl文件保存到本地的任意位置。 安装FastText库时,可以使用pip工具进行安装。在命令行中执行以下命令: ``` pip install fasttext-0.9.2-cp36-cp36m-win_amd64.whl ``` 安装过程可能需要一些时间,具体取决于您的计算机性能和网络速度。 通过完成以上步骤,您可以成功下载fasttext-0.9.2-cp36-cp36m-win_amd64.whl,并安装FastText库以在Python程序中使用FastText的功能。如果安装成功,您可以开始使用FastText进行文本分类和文本表示的任务。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值