jieba分词

Python实现Wordcloud生成词云图的示例

主宰稳场 提交于 2020-03-30 16:22:23
wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概。 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前,首先要做一些准备工作 1.安装结巴分词库 pip install jieba Python中的分词模块有很多,他们的功能也都是大同小异,我们安装的结巴分词 是当前使用的最多的类型。 下面我来简单介绍一下结巴分词的用法 结巴分词的分词模式分为三种: (1)全模式:把句子中所有的可以成词的词语都扫描出来, 速度快,但是不能解决歧义问题 (2)精确模式:将句子最精确地切开,适合文本分析 (3)搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词 下面用一个简单的例子来看一下三种模式的分词区别: import jieba # 全模式:把句子中所有的可以成词的词语都扫描出来, 速度快,但是不能解决歧义问题 text = "哈利波特是一常优秀的文学作品" seg_list = jieba.cut(text, cut_all=True) print(u"[全模式]: ", "/ ".join(seg_list)) # 精确模式:将句子最精确地切开,适合文本分析 seg_list = jieba.cut(text, cut_all=False) print(u"

自然语言处理之序列标注问题

≯℡__Kan透↙ 提交于 2020-01-13 20:38:42
  序列标注问题是自然语言中最常见的问题,在深度学习火起来之前,常见的序列标注问题的解决方案都是借助于HMM模型,最大熵模型,CRF模型。尤其是CRF,是解决序列标注问题的主流方法。随着深度学习的发展,RNN在序列标注问题中取得了巨大的成果。而且深度学习中的end-to-end,也让序列标注问题变得更简单了。   序列标注问题包括自然语言处理中的分词,词性标注,命名实体识别,关键词抽取,词义角色标注等等。我们只要在做序列标注时给定特定的标签集合,就可以进行序列标注。   序列标注问题是NLP中最常见的问题,因为绝大多数NLP问题都可以转化为序列标注问题,虽然很多NLP任务看上去大不相同,但是如果转化为序列标注问题后其实面临的都是同一个问题。所谓“序列标注”,就是说对于一个一维线性输入序列:        给线性序列中的每个元素打上标签集合中的某个标签:        所以,其本质上是对线性序列中每个元素根据上下文内容进行分类的问题。一般情况下,对于NLP任务来说,线性序列就是输入的文本,往往可以把一个汉字看做线性序列的一个元素,而不同任务其标签集合代表的含义可能不太相同,但是相同的问题都是:如何根据汉字的上下文给汉字打上一个合适的标签(无论是分词,还是词性标注,或者是命名实体识别,道理都是想通的)。 序列标注问题之中文分词   以中文分词任务来说明序列标注的过程。假设现在输入句子

jieba分词原理 ‖ 词性标注

白昼怎懂夜的黑 提交于 2019-11-29 09:02:47
1 简介 词性(part-of-speech)是词汇基本的语法范畴,通常也称为词类,主要用来描述一个词在上下文的作用。例如,描述一个概念的词就是名词,在下文引用这个名词的词就是代词。有的词性经常会出现一些新的词,例如名词,这样的词性叫做开放式词性。另外一些词性中的词比较固定,例如代词,这样的词性叫做封闭式词性。因为存在一个词对应多个词性的现象,所以给词准确地标注词性并不是很容易。例如,“改革”在“中国开始对计划经济体制进行改革”这句话中是一个动词,但是在“医药卫生改革中的经济问题”这个句子中是一个名词。把这个问题抽象出来,就是已知单词序列,给每个单词标注词性。词性标注是自然语言处理中一项非常重要的基础性工作。 汉语词性标注同样面临许多棘手的问题,其主要的难点可以归纳为以下三个方面: 汉语是一种缺乏词形态变化的语言,词的类别不能像印欧语言那样,直接从词的形态变化来判别; 常用词兼类现象严重,越是常用的词,不同的用法越多,尽管兼类现象仅仅占汉语词汇很小的一部分,但是由于兼类使用的程度高,兼类现象纷繁,覆盖面广,涉及汉语中大部分词类,因而造成汉语文本中词类歧义排除的任务量大,而且面广,复杂多样; 研究者主观原因造成的困难。语言学界在词性划分的目的、标准等问题还存在分歧; 不同的语言有不同的词性标注集。为了方便指明词的词性,可以给每个词性编码,可以具体参考 ICTCLAS 汉语词性标注集