每每以为攀得众山小,可、每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~

———————————————————————————

词向量的表示主流的有两种方式,一种当然是耳熟能详的google的word2vec,还有一类就是GloVe。那么前面一类有三个开源的包,后面这一类我倒是看到得不多,恰好是在我关注了许久的一个包里面有,它就是text2vec啦。该包提供了一个强大API接口,能够很好地处理文本信息。

本包是由C++写的,流处理器可以让内存得到更好的利用,一些地方是用RcppParallel包进行并行化加乘,同时兼容各个系统的服务器。如果没有并行的地方,大家也可以自己用foreach包来自己加速。

这个生态系统也是笔者见到过的,R语言里面最好、最全面的包了,包含了很多类型的算法以及成熟的应用。而且包的介绍十分详尽,很棒!!

      系列文章:

重磅︱R+NLP:text2vec包——New 文本分析生态系统 No.1(一,简介)
R+NLP︱text2vec包——BOW词袋模型做监督式情感标注案例(二,情感标注)

R+NLP︱text2vec包——四类文本挖掘相似性指标 RWMD、cosine、Jaccard 、Euclidean (三,相似距离)

————————————————————————————————

该包的四大功能

1、快速文本表达方式。文档可以以多种方式表达,单独词组、n-grams、特征hashing化的方法等。

2、GloVe词向量表达

3、LDA主题模型,LDA(latent dirichlet allocation)、LSA(latent sematic analysis),那么这个就是继lda、topicmodels两大包之后,第三个有主题模型功能的包啦~前面两个包可以参考我的另外博客:

R语言︱LDA主题模型——最优主题数选取(topicmodels)+LDAvis可视化(lda+LDAvis)

4、距离计算。cosine距离、jaccard距离、Relaxed word mover's distance(在最近的Kaggle比赛中很有效)、Euclidean距离。

————————————————————————————————————

      一、快速文本表达

文档可以以多种方式表达,单独词组、n-grams、特征hashing化的方法等。
      一般来说文本分析的步骤有以下三个步骤:
1、第一步:把内容表达成为文档-词组矩阵(document-term矩阵,DTM)或者词组共现矩阵(term-co-occurrence矩阵,TCM),换言之第一步就是在文档之上创造一个词条地图。
2、第二步:找个模型在DTM上进行拟合,有LDA、文本分类等
3、第三步:在验证集上进行验证

————————————————————————————————

      二、GloVe词向量表达

在Tomas Mikolov等人开发了word2vec词向量表达工具之后,一大批衍生方法由此崛起与发展,其中一种斯坦福大学的GloVe(Global Vectors for word representation)就是一篇非常好的文献。
      主要是在词语共现矩阵下因式分解。经过代码优化GloVe性能提高了2-3倍,是通过单精度浮点运算。

————————————————————————————————————————

      三、LDA主题模型

LDA主题模型是基于lda包开发的(Jonathan Chang),在下次发布的时候该主题模型的引擎就会嵌入到lda包之中,目前text2vec开发模型要比lda快2倍,比topicmodels包快10倍。LSA模型是基于irlab包。

——————————————————————————————————————

      四、距离计算

  • Cosine
  • Jaccard
  • Relaxed Word Mover's Distance
  • Euclidean

还在研究中,后续加更...

——————————————————————————————————————

参考文献:

1、重磅︱文本挖掘深度学习之word2vec的R语言实现

2、语言︱LDA主题模型——最优主题数选取(topicmodels)+LDAvis可视化(lda+LDAvis)

3、自然语言处理︱简述四大类文本分析中的“词向量”(文本词特征提取)

4、NLP︱句子级、词语级以及句子-词语之间相似性(相关名称:文档特征、词特征、词权重)

5、NLP︱R语言实现word2vec(词向量)经验总结(消除歧义、词向量的可加性)

重磅︱R+NLP:text2vec包——New 文本分析生态系统 No.1(一,简介)的更多相关文章

  1. R+NLP︱text2vec包——四类文本挖掘相似性指标 RWMD、cosine、Jaccard 、Euclidean (三,相似距离)

    要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 在之前的开篇提到了text2vec ...

  2. R+NLP︱text2vec包——BOW词袋模型做监督式情感标注案例(二,情感标注)

    要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 在之前的开篇提到了text2vec ...

  3. R语言 ggplot2包

    R语言  ggplot2包的学习   分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...

  4. 用R进行文本分析初探——以《红楼梦》为例

    一.写在前面的话~ 刚吃饭的时候同学问我,你为什么要用R做文本分析,你不是应该用R建模么,在我和她解释了一会儿后,她嘱咐我好好写这篇博文,嗯为了娟儿同学,细细说一会儿文本分析. 文本数据挖掘(Text ...

  5. R软件中 文本分析安装包 Rjava 和 Rwordseg 傻瓜式安装方法四部曲

    这两天,由于要做一个文本分析的内容,所以搜索了一天R语言中的可以做文本分析的加载包,但是在安装包的过程,真是被虐千百遍,总是安装不成功.特此专门写一篇博文,把整个心塞史畅快的释放一下. ------- ...

  6. NLP相关问题中文本数据特征表达初探

    1. NLP问题简介 0x1:NLP问题都包括哪些内涵 人们对真实世界的感知被成为感知世界,而人们用语言表达出自己的感知视为文本数据.那么反过来,NLP,或者更精确地表达为文本挖掘,则是从文本数据出发 ...

  7. R语言rvest包网络爬虫

    R语言网络爬虫初学者指南(使用rvest包) 钱亦欣 发表于 今年 06-04 14:50   5228 阅读   作者 SAURAV KAUSHIK 译者 钱亦欣 引言 网上的数据和信息无穷无尽,如 ...

  8. NLP自然语言处理入门-- 文本预处理Pre-processing

    引言 自然语言处理NLP(nature language processing),顾名思义,就是使用计算机对语言文字进行处理的相关技术以及应用.在对文本做数据分析时,我们一大半的时间都会花在文本预处理 ...

  9. Solr:文本分析

    文本分析时搜索引擎的核心工作之一,对文本包含许多处理步骤,比如:分词.大写转小写.词干化.同义词转化等.简单的说,文本分析就说将一个文本字段的值转为一个一个的token,然后被保存到Lucene的索引 ...

随机推荐

  1. tomcat部署最佳实践(一)

    Tomcat部署最佳实践 标签: linux 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 tomcat是玩web软件必会技能之一,今天我给大家介绍一下tomc ...

  2. Date对象和正则对象

    1.Date对象 创建 var date1 = new Date(); var date2 = new Date(12983798123);//填一个毫秒值,应该是距离1970年1月1日.....多少 ...

  3. shiro权限控制(二):分布式架构中shiro的实现

    前言:前段时间在搭建公司游戏框架安全验证的时候,就想到之前web最火的shiro框架,虽然后面实践发现在netty中不太适用,最后自己模仿shiro写了一个缩减版的,但是中间花费两天时间弄出来的shi ...

  4. virtualbox创建虚拟机及增加硬盘记录

    创建虚拟机 jken01VBoxManage createvm --name "jken01" --basefolder /data/virtualDir/jken01 --reg ...

  5. js调DLL类库中的方法实现(非com组件形式)

    1.首先,创建一个Web空项目 2.添加一个html或aspx页面 3.页面代码如所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...

  6. 在eclipse的配置文件里指定jdk路径

    在eclipse的配置文件里指定jdk路径,只需在eclipse的配置文件里增加-vm参数即可. 打开eclipse目录下的eclipse.ini配置文件,增加-vm配置,需要注意的是该参数要加在-v ...

  7. [一个脑洞] Candy?'s 不饱和度

    update 2017.7.10 Candy?'s 不饱和度 题目背景 化学老师让同学们出题!昌老师担任有机组组长! Candy?出了一道数不饱和度的题目,昌老师不会做所以拒绝接受!!! 于是Cand ...

  8. NOIP2016提高组初赛(C++语言)试题 个人的胡乱分析 Part 3.

    *已更新 胡乱分析的第三部分,程序填空(所谓的完善程序) 说到初赛,好像本周六就是了.哇好激动.. 填空题都是玄学.也许get到点了就会好做一些.. (标红的是填在空里的答案) T1.交朋友 (小矮个 ...

  9. Redis 学习(一) —— 安装、通用key操作命令

    一.Redis介绍 1.介绍 通常,在系统中,我们会把数据交由数据库来存储,但传统的数据库增删查改的性能较差,且比较复杂.根据 80/20 法则,百分之八十的业务访问集中在百分之二十的数据上.是否可以 ...

  10. MySQL数据库基础

    MySQL数据库基础 本文的所有操作是基于CMD环境,MySQL通过在命令行中输入SQL语句对数据库进行操作.配置问题可参考<打通MySQL的操作权限>中的内容,该文算是针对前期的环境配置 ...