jieba

jieba分词库的安装与使用

為{幸葍}努か 提交于 2020-03-16 19:53:38
Anaconda安装wordcloud GitHub: wordcloud 直接在Anaconda Prompt输入: conda install -c conda-forge wordcloud Anaconda安装jieba GitHub: jieba 方式一: 直接在Anaconda Prompt输入: conda install -c conda-forge jieba 。 方式二: 1.下载jieba压缩包: jieba 2. 将压缩包解压到anaconda下的pkgs目录下, 3. 进入pkgs目录下的jieba-0.39(或其他版本),打开命令行窗口(shift+右键),输入python setup.py install即可完成安装。 其他: 添加下载渠道, Anaconda 安装jieba 库报错 使用jieba分词库 jieba分词的原理 Jieba分词依靠中文词库 利用一个中文词库,确定汉字之间的关联概率 汉字间概率大的组成词组,形成分词结果 除了分词,用户还可以添加自定义的词组 jieba分词的三种模式 精确模式:把文本精确的切分开,不存在冗余单词 全模式:把文本中所有可能的词语都扫描出来,有冗余 搜索引擎模式:在精确模式基础上,对长词再次切分 jieba库常用函数 jieba.cut(s):精确模式,返回一个可迭代的数据类型 jieba.cut(s,cut

如何使用 Serverless 实现一个图书查询 App

做~自己de王妃 提交于 2020-03-16 17:19:22
某厂面试归来,发现自己落伍了!>>> 我有一个朋友(这朋友不是我),朋友的单位里有一个小型图书室,图书室中存放了不少书。 尽管每本书都在相应的区域里进行了编号,但是毕竟没有图书馆的管理系统,大家找起来还是要花点时间的。为了让大家更容易地找到这些书,朋友联系我,打算让我帮他做一个简单的图书查询系统(<del>完整的图书馆管理系统</del>)。 Easier said than done,考虑到这还是有一定复杂度的项目,我打算使用腾讯云云函数 SCF,把整个应用部署到 Serverless 架构上。 ▎整体效果 左边是图书检索系统的首页;右边是检索演示,比方说我们搜索「精神」,App 就会依据返回相关的书籍。看起来还不赖。 ▎功能设计 将包含书籍信息的 Excel 表存放至腾讯云对象存储 COS 中; 使用腾讯云云函数读取并解析表格; 根据词语相似性检索对应的图书; 通过 MUI 制作前端页面,页面也存放在 COS 中。 ▎具体实现 Excel 样式(包含书名和编号) 分类 tab: 核心代码实现: import jieba import openpyxl from gensim import corpora, models, similarities from collections import defaultdict import urllib.request with

【NLP】文本表示之实战

好久不见. 提交于 2020-03-15 01:52:03
在上一篇文章介绍了文本表示《NLP之文本表示》 https://blog.csdn.net/Prepared/article/details/94864658 但是没有代码。在这篇博客中,我们在实践一下! 中文分词常用模型: Jieba 模型、百度的LAC模型,这里使用 Jieba 模型进行中文分词。 数据集使用:人民日报1946年05月的数据。数据集地址: https://github.com/fangj/rmrb/tree/master/example/1946年05月 Jieba 模型: Jieba 基本上目前最好的 Python 中文分词组件,它主要有以下 3 种特性: 支持 3 种分词模式: 精确模式 全模式 搜索引擎模式 支持繁体分词 支持自定义词典 第一步:读取所有文件,形成数据集 corpus def getCorpus(self, rootDir): corpus = [] r1 = u'[a-zA-Z0-9’!"#$%&\'()*+,-./::;<=>?@,。?★、…【】《》?“”‘’![\\]^_`{|}~]+' # 用户也可以在此进行自定义过滤字符 for file in os.listdir(rootDir): path = os.path.join(rootDir, file) if os.path.isfile(path): # 打印文件地址

结巴分词原理介绍

笑着哭i 提交于 2020-03-14 03:43:35
转自一个很不错的博客,结合自己的理解,记录一下。作者:zhbzz2007 出处: http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明。谢谢! https://www.cnblogs.com/zhbzz2007/p/6076246.html?utm_source=itdadao&utm_medium=referral 结巴分词的原理,结合一个面试题:有一个词典,词典里面有每个词对应的权重,有一句话,用这个词典进行分词,要求分完之后的每个词都必须在这个词典中出现过,目标是让这句话的权重最大。 涉及算法: 基于前缀词典实现词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG),采用动态规划查找最大概率路径,找出基于词频的最大切分组合; 对于未登录词,采用了基于汉字成词能力的 HMM模型,采用Viterbi算法进行计算; 基于Viterbi算法的词性标注; 分别基于tfidf和textrank模型抽取关键词; 基于前缀词典及动态规划实现分词 http://www.cnblogs.com/zhbzz2007/p/6084196.html jieba分词主要是基于统计词典,构造一个前缀词典;然后利用前缀词典对输入句子进行切分,得到所有的切分可能,根据切分位置,构造一个有向无环图;通过动态规划算法,计算得到最大概率路径

python统计word文档中的词频

岁酱吖の 提交于 2020-03-11 11:55:50
如何将统计word文档中的词频呢?先用docx模块将word文档转变成txt格式,然后使用jieba模块进行分词,并统计词频。是不是很简单~ #2020年3月10日 #Elizabeth from docx import Document import jieba #分词模块 #自定义函数,将word文档写入txt文档 def to_txt(path): document=Document(path) txt=open('/Users/fangluping/Desktop/数据分析笔试试题/词频统计.txt','w+') for paragraph in document.paragraphs: text=paragraph.text txt.write(text) txt.close() return txt if __name__=='__main__': path0='/Users/fangluping/Desktop/数据分析笔试试题/笔试题目-V1.0.docx' to_txt(path0) #调用写入txt文档的函数 #分词 txt=open('/Users/fangluping/Desktop/词频统计.txt','r',encoding='utf-8').read() words=jieba.lcut(txt) counts={} for word in words

各分词工具对比 jieba、pkuseg、thulac、nlpir、基于BI-LSTM+ CRF自训练

為{幸葍}努か 提交于 2020-03-10 00:17:26
jieba 主要接口 cut https://github.com/fxsjy/jieba 默认精准切词,尽量保留长词 cut_all模式,在精准模式下增加一些短词 cut_for_search 切出尽量多的词用于搜索 特性 日常切词效果最好,比如三个字的动词一般会比较全,“打不开”,“扫一扫”,如何实现的,目前未知? 但多个字的名词会容易切掉,可能主要原因是语料较老,主要是1998人民日报 算是目前实用性较高的工具 目前最有效的方法就是将清华的高质量词库以及自己整理的专有词库导入jieba jieba与其他最大的区别是,jieba以预先整理的词库为优先,尽量匹配最长的词。而其他是通过模型预测BMES,再分词 pkuseg 特性 主要基于人民日报,三个字的动词或形容词会容易切断,比如“打不开”,“好得多” https://github.com/lancopku/PKUSeg-python thulac 特性 与pkuseg效果基本差不多,主要基于人民日报 https://github.com/thunlp/THULAC-Python nlpir 特性 与pkuseg效果基本差不多,主要基于人民日报 BI-LSTM + CRF 特性 与pkuseg效果基本差不多,主要基于2014人民日报 偶尔还能比前三个更好,比如“门禁卡号” https://github.com

Python二级考试程序题型(四):jieba库的使用及集合去重

允我心安 提交于 2020-03-09 03:08:45
问题: 有data.txt文件,内容如下: 人工智能的定义可以分为两部分,即“人工”和“智能”。“人工”比较好理解,争议性也不大。有时我们会要考虑什么是人力所能及制造的,或者人自身的智能程度有没有高到可以创造人工智能的地步,等等。但总的来说,“人工系统”就是通常意义下的人工系统。 关于什么是“智能”,就问题多多了。这涉及到其它诸如意识(CONSCIOUSNESS)、自我(SELF)、思维(MIND)(包括无意识的思维(UNCONSCIOUS_MIND))等等问题。人唯一了解的智能是人本身的智能,这是普遍认同的观点。但是我们对我们自身智能的理解都非常有限,对构成人的智能的必要元素也了解有限,所以就很难定义什么是“人工”制造的“智能”了。因此人工智能的研究往往涉及对人的智能本身的研究。其它关于动物或其它人造系统的智能也普遍被认为是人工智能相关的研究课题。 人工智能在计算机领域内,得到了愈加广泛的重视。并在机器人,经济政治决策,控制系统,仿真系统中得到应用。 尼尔逊教授对人工智能下了这样一个定义:“人工智能是关于知识的学科――怎样表示知识以及怎样获得知识并使用知识的科学。”而另一个美国麻省理工学院的温斯顿教授认为:“人工智能就是研究如何使计算机去做过去只有人才能做的智能工作。”这些说法反映了人工智能学科的基本思想和基本内容。即人工智能是研究人类智能活动的规律,构造具有一定智能的人工系统

#Python入门(八)##太原理工大学机器人团队20天学习打卡day8

倾然丶 夕夏残阳落幕 提交于 2020-03-08 22:33:01
今日主讲字典类型及其应用和jieba库 字典类型 可以理解为" 映射 “,一种键(索引)和值(数据)之间的对应 键值对:键是数据索引的扩展 字典是键值对的集合,键值对之间无序 采用大括号{}和dict创建,键值对用冒号:表示 如: a={“name”:“太原理工大学”,“address”:"山西太原”} ~~d[“name”] 对应’太原理工大学’ 值=字典变量[键] 字符类型操作函数和方法 字典类型应用场景 映射无处不在,键值对无处不在 例如:统计数据出现的次数,数据是键,次数是值 补充说明:中文文本需要通过分词获得单个的词语,jieba库就能实现中文分词,三种用法 jieba.lcut(s),精确模式,把文本精确的切分开,无冗杂单词 jieba.lcut(s,cut_all=True),把文本所以可能的词语都扫描出来,有冗杂 jieba.lcu_for_search(s),搜索引擎模式,在精确模式基础上,对长词再次切分 jieba库属于第三方库,是需要手动安装的,在下方输入cmd(命令提示符),输入 pip install jieba 如果它显示你pip版本过低,需要升级(degrade),那么就按照它的要求输入 python -m pip install --upgrade import jieba print ( jieba . lcut ( "我爱太原理工大学" ) )

wordcloud库的使用

眉间皱痕 提交于 2020-03-08 04:35:08
wordcloud是优秀的词云展示第三方库 1. 安装 (cmd命令行)pip install wordcloud 2. wordcloud库的使用 wordcloud库把词云当作一个WordCloud对象 * wordcloud.WordCloud()代表一个文本对应的词云 * 可以根据文本中词云出现的频率等参数绘制词云 * 词云的绘制形状、尺寸和颜色都可以设定 3. wordcloud库常规方法 w = wordcloud.WordCloud() 配置对象参数: width —— 指定词云对象生成图片的宽度,默认400像素 height —— 指定词云对象生成图片的高度,默认200像素 min_font_size —— 指定词云中字体的最小字号,默认4号 max_font_size —— 指定词云中字体的最大字号,根据高度自动调节 font_step —— 指定词云中字体的步进间隔,默认为1 font_path —— 指定字体文件的路径,默认None max_words —— 指定词云显示的最大单词量,默认200 stop_words —— 指定词云的排除词列表 mask —— 指定词云形状,默认为长方形,需要引用imread()函数 background_color —— 指定词云图片的背景颜色,默认为黑色 w = generate(txt) 加载词云文本 w.to_file

python jieba分词小说与词频统计

人走茶凉 提交于 2020-03-07 10:07:23
1、知识点 """ 1)cut() a) codecs.open() 解决编码问题 b) f.readline() 读取一行,也可以使用f.readlines()读取多行 c) words =" ".join(jieba.cut(line))分词,每个词用空格分隔 2)lcut() 返回一个list列表 """ 2、标点符号处理,并分词,存储到文件中 def fenCi(): """ 标点符号处理,并分词,存储到文件中 :return: """ f = codecs.open("深渊主宰系统.txt",'r',encoding='utf-8') f1 = open("seg.txt",'w',encoding='utf-8') line = f.readline() while line: line = line.strip(' ') words =" ".join(jieba.cut(line)) words = words.replace(",","").replace("!","").replace("“","")\ .replace("”","").replace("。","").replace("?","").replace(":","")\ .replace("...","").replace("、","").strip(' ') print(len(words))