jieba

《自然语言处理实战入门》 ---- 第4课 :中文分词原理及相关组件简介 之 分词算法原理

允我心安 提交于 2020-02-07 10:18:14
文章大纲 分词算法介绍 语言模型 HMM CRF 结构化感知器 开源实现 bi LSTM 开源实现 汉语分词技术----以jieba 分词为例 Jieba分词的特点 分词算法 未登录词识别与词性标注 未登录词识别 词性标注 分词算法介绍 上一节课我们介绍了分词算法主要分为三个类别,除了基于统计算法的分词算法,基于规则的分词,一般都较为简单高效,但是词典的维护对于网络发达、新词层出不穷的今天,很难通过词典覆盖到所有的词。 随着大规模语料库的建立,统计机器学习方法的研究和发展, 来源: CSDN 作者: shiter 链接: https://blog.csdn.net/wangyaninglm/article/details/104206064

python常用库 1

陌路散爱 提交于 2020-02-06 02:23:39
文章目录 time库和datetime库 time库 时间获取 时间格式化 格式化字符串 程序计时 实例操作打印文本进度条 datetime库 1\) 获取当前日期和时间 2\) 获取指定日期和时间,加减计算 3\) 日期datetime\-timestamp 时间戳相互转 4\) datetime 时间 转换为str字符串 random库 基本随机数函数: 扩展随机数函数: 实例: PyInstaller库 OS库 路径操作 os\.path子库 进程管理 环境参数 jieba库 常用函数 文本词频统计 turtle 库 turtle画笔控制函数 运动控制函数 方向控制函数 wordcloud库 使用方法 实例: time库和datetime库 time库 是处理时间的标准库,可用于程序性能分析 时间获取 time() 获取当前时间戳,浮点数 1970.1.1 00.00开始 ctime() 获取当前时间并且以一种易读时间的函数 gmtime() 生成的一种计算机可以处理的格式 时间格式化 strftime(tpl,ts) tpl是格式化模板字符串,用来定义输出效果 ts是计算机内部时间类型变量 strptime(str,tpl) 将一个字符串定义成计算机内部可以操作的时间 格式化字符串 %Y 年份 0000~9999 %m 月份 01~12 %B 月份名称 如April %b

[Python] jieba 库介绍

回眸只為那壹抹淺笑 提交于 2020-02-05 09:36:17
jieba 库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。 精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析 全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据 搜索引擎模式:在精确模式的基础上,对长词再次进行切分 jieba 库介绍 来源: CSDN 作者: lbt_dvshare 链接: https://blog.csdn.net/lbt_dvshare/article/details/103857221

机器学习------NLP

旧城冷巷雨未停 提交于 2020-02-04 18:02:32
文章目录 文本相似度分析 情感分类 NLP: Natural Language Processing 自然语言处理 文本相似度分析 指从海量数据(文章,评论)中,把相似的数据挑选出来 步骤如下 : 1: 把评论翻译成机器看的懂的语言 中文分词 :把句子拆分成词语 工具:结巴分词 (Terminal中 pip install jieba -i https://pypi.douban.com/simple/ ) 结巴中文分析支持的三种分词模式包括: (1)精确模式:试图将句子最精确的切开,适合文本分析(默认模式) (2)全模式:把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义问题 (3)搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜素引擎分词 text = "我来到北京清华大学" seg_list = jieba.cut(text, cut_all=True) print("全模式:", "/ ".join(seg_list)) 执行结果: 全模式: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学 自制字典进行关键字提取 ,字典范围小效果不好。 import jieba import jieba.analyse jieba.load_userdict('./mydict.txt') text = "故宫的著名景点包括乾清宫

用Python制作词云

拥有回忆 提交于 2020-02-04 11:35:11
用Python制作词云非常酷炫,先看张图。所有的词围绕在一张人物图像身上。 要用python完成上图一样的词云,只要4步就可以完成。首先做好准备工作,需要准备一个文本文件,可以是歌词,小说的章节等。然后准备一张图片和需要用到的一个字体文件SimHei.ttf。当这些准备工作完成后,开始制作了。 第一步:读取文本文件 #1、读入文本数据 text = open(r'.\jay.txt','r').read() 第二步:用jieba库进行分词,需要导入jieba库 #2、分词 text_cut = jieba.cut(text) result = ' '.join(text_cut) #把分开的词,重新连接起来 第三步:生成词云图,这里要用到WordCloud库和imread库 #3、生成词云图 #获取图片 imag=imread(r'.\jay1.jpg') wc = WordCloud( #字体路径 font_path=r'.\SimHei.ttf', #背景颜色 background_color='white', #width=500, #height=350, max_font_size=50, #min_font_size=12, mask=imag ) wc.generate(result) 第四步:重定向词云图文件或用 matplotlib库绘制出来 #4、重定向图片

决策树算法(四)

对着背影说爱祢 提交于 2020-02-04 10:24:09
8.特征提取 1 定义 将任意数据(如文本或图像)转换为可用于机器学习的数字特征 注:特征值化是为了计算机更好的去理解数据 特征提取分类: 字典特征提取(特征离散化) 文本特征提取 图像特征提取(深度学习将介绍) 2 特征提取API sklearn . feature_extraction 3 字典特征提取 作用:对字典数据进行特征值化 sklearn.feature_extraction.DictVectorizer(sparse=True,…) DictVectorizer.fit_transform(X) X:字典或者包含字典的迭代器返回值 返回sparse矩阵 DictVectorizer.get_feature_names() 返回类别名称 3.1.使用 from sklearn . feature_extraction import DictVectorizer def dict_demo ( ) : """ 对字典类型的数据进行特征抽取 :return: None """ data = [ { 'city' : '北京' , 'temperature' : 100 } , { 'city' : '上海' , 'temperature' : 60 } , { 'city' : '深圳' , 'temperature' : 30 } ] # 1、实例化一个转换器类

生成微博内容词云图

与世无争的帅哥 提交于 2020-02-04 00:43:01
任务 根据爬取到的微博内容概要,将其连接为文本,利用既有代码框架生成词云图。 过程 提取转发内容和原文内容 choice = '转发' #'原文'# txt = '' for text in ( dataDict [ choice + 'text' ] ) : txt += text 利用jieba分词并导入wordcloud绘制图像 import jieba import numpy as np import wordcloud from PIL import Image import os #图片保存地址 savePath = '词云/' if os . path . exists ( savePath ) is False : os . mkdir ( savePath ) #导入文本数据,可通过文件导入,如: #fc = open("threekingdoms.txt", "r", encoding='utf-8') #fc=fc.read() fc = txt #jieba分词 words = jieba . lcut ( fc ) article = ' ' . join ( words ) #mask = np.array(Image.open("huakegatemask.jpg")) c = wordcloud . WordCloud ( \ #mask=mask

NLP入门(1)

扶醉桌前 提交于 2020-02-03 15:16:04
自然语言处理,简称:NLP,是指对人们平时日常使用的交流语言进行处理的一项技术。NLP 经过多年的发展,现今可以划分为两部分内容,即:自然语言的理解和自然语言的生成。 本文将以文本分类为目标,介绍自然语言处理相关的基础操作和应用。 (来自 https://www.shiyanlou.com/courses/1208 ) 做一个中文文本分类任务,首先要做的是文本的预处理,对文本进行分词和去停用词操作,来把字符串分割成词与词组合而成的字符串集合并去掉其中的一些非关键词汇(像是:的、地、得等)。再就是对预处理过后的文本进行特征提取。最后将提取到的特征送进分类器进行训练。 术语解释: 分词:词是 NLP 中能够独立活动的有意义的语言成分。即使某个中文单字也有活动的意义,但其实这些单字也是词,属于单字成词。 词性标注:给每个词语的词性进行标注,比如 跑/动词、美丽的/形容词等等。 命名实体识别:从文本中识别出具有特定类别的实体。像是识别文本中的日期,地名等等。 词义消歧:多义词判断最合理的词义。 句法分析:解析句子中各个成分的依赖关系。 指代消解:消除和解释代词「这个,他,你」等的指代问题。 1.Python字符串操作 变量名.count("A"):返回子串A在字符串中出现的次数 .strip() 方法可以去除字符串首尾的指定符号。无指定时,默认去除空格符 ' ' 和换行符 '\n'

Python jieba库的使用方法

耗尽温柔 提交于 2020-02-03 12:12:53
jieba库是一个python的第三方词库,是用来中文分词的这个库是需要下载的,我们需要在命令行输入pip install jieba来下载 pip install jieba 需要找到python安装路径的Scripts目录切换到该目录使用pip才有用,当然配了环境变量的是不需要的,如果使用的是pycharm也可以在pycharm的控制台直接使用该目录 我这是安装了,使用它显示了我的安装位置 安装完成之后就是使用jieba库了 jieba库主要有四个方法 jieba.lcut(s) # 精确模式,返回一个列表类型的分词结果 例:jieba.lcut("中国是一个伟大的国家) [‘中国’, ‘是’, ‘个’, ‘伟大’, ‘的’, ‘国家’] jieba.lcut(s,cut_all=Ture) # 全模式,返回一个列表类型的分词结果,存在冗余 例:[‘中国’, ‘国是’, ‘个’, ‘伟大’, ‘的’, ‘国家’] jieba.lcut_for_search(“中华人民共和国是伟大的”) # 搜索引擎模式,返回一个类型的分词结果,存在冗余 例:[‘中华’, ‘华人’, ‘人民’, ‘共和’, ‘共和国’, ‘中华人民共和国’, ‘是’, ‘伟大’, ‘的’] 向分词词典添加新词w jieba.add_word(w) # 例:jieba.add_word(“蟒蛇语言”)

NLP之中文分词cppjieba

柔情痞子 提交于 2020-02-02 19:06:02
jieba简介 jieba库是一个简单实用的中文自然语言处理分词库。 jieba分词属于概率语言模型分词。概率语言模型分词的任务是:在全切分所得的所有结果中求某个切分方案S,使得P(S)最大。 jieba支持三种分词模式: 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; 精确模式,试图将句子最精确地切开,适合文本分析; 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。 jieba分词原理 基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG) 1. 根据dict.txt生成trie树,字典在生成trie树的同时, 把每个词的出现次数转换为频率(jieba自带一个dict.txt的词典, 里面有2万多条词, 包含了词条出现的次数和词性(作者基于人民日报语料等资源训练得出来)。trie树结构的词图扫描, 说的就是把这2万多条词语, 放到一个trie树中, trie树是有名的前缀树, 也就是说一个词语的前面几个字一样, 就表示他们具有相同的前缀, 就可以使用trie树来存储, 具有查找速度快的优势)。 2.对待分词句子, 根据dict.txt生成的trie树, 生成DAG, 通俗的讲, 就是将句子根据给定的词典进行查词典操作, 生成所有可能的句子切分