http://blog.csdn.net/m0_37306360/article/details/72832606

这里记录使用fastText训练word vector笔记

github地址:https://github.com/facebookresearch/fastText

下载到本机:

$ gitclone https://github.com/facebookresearch/fastText.git

$ cdfastText

$ make

Make报错:

原因GCC版本过低

Gcc –v

升级版本:参考(http://www.linuxidc.com/Linux/2016-11/136840.htm)

1.      添加源

首先添加ppa到库:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

2.      安装新版gcc/g++(注意gcc和g++都要更新)

接着就可以选择安装gcc-4.9,gcc-5之类的啦!(注意目前gcc-5实际上是5.3.0,没有5.1或5.2可供选择)

sudo apt-get install gcc-4.8 g++-4.8
sudo apt-get install gcc-4.9 g++-4.9
sudo apt-get install gcc-5 g++-5
sudo apt-get install gcc-6 g++-6

具体希望安装哪个版本,大家可以自己选择

3.      刷新db并locate

接着现在可以考虑刷新一下, 否则locate等命令是找不到的, 这个也是可选的(非必须)

sudo updatedb && sudo ldconfig
locate gcc | grep -E "/usr/bin/gcc-[0-9]"

4.      切换版本

通过update-alternatives建立文件关联

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.620

sudo update-alternatives --install /usr/bin/gcc gcc/usr/bin/gcc-4.8 30

然后在fastText文件夹下make,成功生成fastText执行文件。

接下来就可以愉快的使用了。

fastText可以可以用于训练 word represent和text classification,这里记录使用fastText训练word embedding过程。

1.      首先打开word-vector-example.sh文件

RESULTDIR=result  //结果保存文件夹

DATADIR=data     //输入数据文件夹

mkdir -p"${RESULTDIR}"

mkdir -p"${DATADIR}"

if [ ! -f"${DATADIR}/fil9" ]  //如果fil9不存在,就下载

then

wget -c http://mattmahoney.net/dc/enwik9.zip-P "${DATADIR}"

unzip "${DATADIR}/enwik9.zip" -d"${DATADIR}"

perl wikifil.pl "${DATADIR}/enwik9"> "${DATADIR}"/fil9

fi

if [ ! -f"${DATADIR}/rw/rw.txt" ]  //如果rw.txt不存在,就下载

then

wget -chttps://nlp.stanford.edu/~lmthang/morphoNLM/rw.zip -P "${DATADIR}"

unzip "${DATADIR}/rw.zip" -d"${DATADIR}"

fi

make

./fasttextskipgram -input "${DATADIR}"/fil9 -output"${RESULTDIR}"/fil9 -lr 0.025 -dim 100 \

-ws 5 -epoch 1 -minCount 5 -neg 5 -loss ns-bucket 2000000 \

-minn 3 -maxn 6 -thread 4 -t 1e-4-lrUpdateRate 100

//这行代码为训练word embedding,输入为DATADIR下的fil9,输出模型保存在RESULTDIR下fil9。

这些参数是强制性设定的:

- minCount 5:单词出现少于5就丢弃  -minn 最小长度的字符  -maxn 最长长度的字符 –t 采样阈值

这些参数是可选的:

-lr 学习率–epoch 迭代次数–neg 负采样–loss  loss function {ns,hs, softmax}   ---dim 词向量维度 –ws 窗口大小

cut -f1,2 "${DATADIR}"/rw/rw.txt | awk '{print tolower($0)}' | tr '\t' '\n'> "${DATADIR}"/queries.txt

cat"${DATADIR}"/queries.txt | ./fasttext print-word-vectors "${RESULTDIR}"/fil9.bin> "${RESULTDIR}"/vectors.txt

python eval.py -m "${RESULTDIR}"/vectors.txt -d"${DATADIR}"/rw/rw.txt

2.      使用自己的语料训练,这里我使用维基百科英文语料,处理过程前面有讲。

./fasttext cbow –input new_enwiki –output new_enwiki_100_30–epoch 30 –neg 5 –loss ns –dim 100 –ws 5

fasttext使用笔记的更多相关文章

  1. fasttext学习笔记

    When to use FastText? The main principle behind fastText is that the morphological structure of a wo ...

  2. NLP︱高级词向量表达(二)——FastText(简述、学习笔记)

    FastText是Facebook开发的一款快速文本分类器,提供简单而高效的文本分类和表征学习的方法,不过这个项目其实是有两部分组成的,一部分是这篇文章介绍的 fastText 文本分类(paper: ...

  3. cips2016+学习笔记︱简述常见的语言表示模型(词嵌入、句表示、篇章表示)

    在cips2016出来之前,笔者也总结过种类繁多,类似词向量的内容,自然语言处理︱简述四大类文本分析中的"词向量"(文本词特征提取)事实证明,笔者当时所写的基本跟CIPS2016一 ...

  4. 人工智能头条(公开课笔记)+AI科技大本营——一拨微信公众号文章

    不错的 Tutorial: 从零到一学习计算机视觉:朋友圈爆款背后的计算机视觉技术与应用 | 公开课笔记 分享人 | 叶聪(腾讯云 AI 和大数据中心高级研发工程师) 整    理 | Leo 出   ...

  5. 官网实例详解-目录和实例简介-keras学习笔记四

    官网实例详解-目录和实例简介-keras学习笔记四 2018-06-11 10:36:18 wyx100 阅读数 4193更多 分类专栏: 人工智能 python 深度学习 keras   版权声明: ...

  6. 学习笔记(25)- NLP的几个概念

    NLP的几个概念 从技术研究的角度,简单介绍自然语言处理的几个概念 1. 对抗学习 主要指对抗生成网络. 2个主要构成:判别器.生成器 判别模型尽可能提取特征正确率增加的模型,生成模型尽可能" ...

  7. 无所不能的Embedding 2. FastText词向量&文本分类

    Fasttext是FaceBook开源的文本分类和词向量训练库.最初看其他教程看的我十分迷惑,咋的一会ngram是字符一会ngram又变成了单词,最后发现其实是两个模型,一个是文本分类模型[Ref2] ...

  8. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  9. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

随机推荐

  1. 20172319 实验四 《Android程序设计》实验报告

    20172319 2018.05.17-30 实验四<Android程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1723班 学生姓名:唐才铭 学生学号:2 ...

  2. Linux/CentOS设置全局代理(http)

    说明:为什么说是http代理,其实这个还不能说是全称走代理,罪名写的区别就是ICMP协议这个设置就无效,只能说是90%的应用都可以使用这个设置来实现代理访问,只有个别不行,比如一些软件根本不走http ...

  3. MikroTik RouterOS获取在线终端和在线IP总数并自动对IP做限速(转)

    1.将在线IP自动添加到地址列表 2.实时检测在线IP数 :local s 0 :foreach i in=[/ip firewall address-list find list=Online] d ...

  4. SimpleUpdater.NET

    本类库+工具用于快速实现一个简单的自动更新程序,旨在快速简单地为现有的.Net应用程序添加上比较简单的自动更新功能. 本页包含以下内容 概述 整个自动升级工作的流程 更新包生成工具 发布更新包 为应用 ...

  5. delphi 使用工控机控件 iThreadTimes 出现问题, 导致主程序创建页面的时候, 阻塞消息, 不能正常执行。

    delphi  使用工控机控件 iThreadTimes 出现问题, 导致主程序创建页面的时候, 阻塞消息, 不能正常执行. 使用这个控件需要小心 function Tfrm_MainIPC.Open ...

  6. Delph 两个对立程序使用消息进行控制通信

    在实际应用中,总是会遇到两个独立的程序进行通信,其实通信的方式有好几种,比如进程间通信,消息通信. 项目中用到了此功能, 此功能用于锁屏程序, 下面把实现的流程和大家分享一下. 1. 在锁屏程序中,自 ...

  7. 奇妙的 CSS shapes(CSS图形) 【css 图形,绘图,CSS 几何图形)】

    http://www.cnblogs.com/coco1s/p/6992177.html <!DOCTYPE html> <html> <head> <met ...

  8. AngularJS的增删改查、state嵌套案例,不涉及服务端

    本篇实践一个案例,大致是:左边有导航菜单,右边显示列表,并可对列表项编辑或删除,也可添加新的列表项.借此,可体会到:如何组织可扩展的AngualrJS文件结构,如何点击左侧菜单项右侧显示相应内容,an ...

  9. (Delphi) Using the Disk Cache 使用磁盘缓存

    The Chilkat Spider component has disk caching capabilities. To setup a disk cache, create a new dire ...

  10. Grid布局方式

    wp7中Grid布局类似HTML中的表格,但是又不太一致! 为了测试新一个3行3列的Grid 方了方便,剔除掉其它XAML代码 [c-sharp:collapse] view plaincopy   ...