NLP一周总结(一)
来源:互联网 发布:excel表函数数据分类 编辑:程序博客网 时间:2024/06/01 01:34
1.jieba在ubuntu环境下的安装,命令行中输入
pip install jieba//注意不要进入python环境中,就在系统环境中输入
import jiebastr=">>> str="网络可以被看作未经标注的巨大的语料库。网络搜索引擎提供了一个有效的手段,搜索">>> for t in result:... print (t)>>> result= jieba.cut(str)>>> for t in result:... print (t)...网络可以被看作未经标注的巨大的语料库。网络搜索引擎提供了一个有效的手段,搜索
可以看出jieba的分词效果对于日常的本文比较理想,以后将尝试医学的专业文本的分词。
2.word embedding
word embedding实际上就是把分词后的内容转化为词向量的过程,这里是用python中的gensim来实现此功能
这里对稀疏向量和密集向量做一点注释(以下摘自百度百科)
密集向量和稀疏向量的区别: 密集向量的值就是一个普通的Double数组 而稀疏向量由两个并列的 数组indices和values组成
例如:
向量(1.0,0.0,1.0,3.0)
用密集格式表示为[1.0,0.0,1.0,3.0]
用稀疏格式表示为(4,[0,2,3],[1.0,1.0,3.0]) 第一个4表示向量的长度(元素个数),[0,2,3]就是indices数组,[1.0,1.0,3.0]是values数组 表示向量0的位置的值是1.0,2的位置的值是1.0,而3的位置的值是3.0,其他的位置都是0
3.TF-IDF
TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频(Term Frequency),IDF意思是逆向文件频率(Inverse Document Frequency)。
有很多不同的数学公式可以用来计算TF-IDF。这边的例子以上述的数学公式来计算。词频 (TF) 是一词语出现的次数除以该文件的总词语数。假如一篇文件的总词语数是100个,而词语“母牛”出现了3次,那么“母牛”一词在该文件中的词频就是3/100=0.03。一个计算文件频率 (IDF) 的方法是文件集里包含的文件总数除以测定有多少份文件出现过“母牛”一词。所以,如果“母牛”一词在1,000份文件出现过,而文件总数是10,000,000份的话,其逆向文件频率就是 lg10,000,000 / 1,000)=4。最后的TF-IDF的分数为0.03 * 4=0.12。
4.gensimport gensim
import sysf= open("C://Users/Administrator/Documents/testjieguo.txt","r")model=gensim.models.Word2Vec(f,size=200)
//jieba分词需要将/替换为空格不然会提示you must first build vocabulary before training the model
#!/usr/bin/env python# -*- coding: utf-8 -*-from gensim.models import word2vecimport logging# 主程序logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)sentences = word2vec.Text8Corpus(u"C:\\Users\\83704\\Desktop\\test\\fortest.txt") # 加载语料model = word2vec.Word2Vec(sentences, size=200) # 计算两个词的相似度/相关程度y1 = model.similarity(u"行", u"好")print u"【行】和【好】的相似度为:", y1print "--------\n"
- NLP一周总结(一)
- 一周一总结(6)
- 一周一总结(7)
- 一周一总结(8)
- 一周一总结(9)
- 一周一总结(10)
- 一周一总结(11)
- 一周一总结(12)
- 一周一总结(1301)
- 第一周总结(一)
- NLP笔记(一)
- 一周一总结(13-14)
- 一周一总结(15~16)
- 第十一周训练总结(一)
- nlp基础科普(一)
- nlp(一)语种检测
- NLP(一) Ansj 分词
- NLP:总结
- 微信公众号支付开发常见问题
- LintCode刷题(容易篇 四)
- 时间因素与优质自然外链的探讨
- ARKit-带你走进全新的世界(二:动画与光线处理)
- UnityEngine中Animator相关类的说明
- NLP一周总结(一)
- windows下securecrt链接linux查看日志出现乱码
- day-21-SQL语句-连接池
- 基于stm32f103最小使用code
- 【转载】svn配置文件详析
- gitlab修改默认端口号
- ifndef的使用
- css动画
- Oracle NID工具修改数据库DBID和数据库名称