高级大数据人才培养丛书张雪萍主编唐万梅副主编景雪琴副主编BIGDATA刘鹏张燕总主编Python程序设计高级大数据人才培养丛书张雪萍主编9.1
Python常用自然语言处理工具9.2
文本处理9.3词法分析9.5实战:搜索引擎9.4
语法分析of562习题第九章自然语言处理9.1Python常用自然语言处理工具9.2文本处理9.9.1Python常用自然语言处理工具第九章自然语言处理of3139.1.1Python自然语言处理工具包NLTK自然语言处理工具包NLTK是NLP领域最常使用的一个Python库。NLTK是由美国宾夕法尼亚大学的StevenBird和EdwardLoper开发的。NLTK包括图形演示和示例数据,其提供了WordNet这种方便处理词汇资源的接口,以及分类、分词、词干提取、标注、语法分析、语义推理等类库。NLTK网站:/。安装NLTK的命令:sudopipinstall-Unltk。安装NumPy的命令(可选):sudopipinstall-Unumpy。安装测试的命令:pythonthentypeimportnltk。9.1Python常用自然语言处理工具第九章自然语言处理9.1Python常用自然语言处理工具第九章自然语言处理of3149.1.2Python中文处理工具jiebajieba是一个用Python实现的分词库,对中文有很强大的分词能力。jieba网站:/fxsjy/jieba。Windows环境下安装jieba的命令:pipinstalljieba。jieba的优点如下:(1)支持3种分词模式:
精确模式。试图将句子最精确地切开,适合文本分析。
全模式。把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。
以布朗语料库为例。因为这个语料库是研究文本间系统性差异的资源,所以可以用来比较不同文本中情态动词的用法,示例如右上:如果想操作自己的语料库,并且使用之前的方法,那么,需要用PlaintextCorpus-Reader函数来载入它们。这个函数有2个参数,第1个是根目录,第2个是子文件(可以使用正则表达式进行匹配),示例如右下:9.2文本处理第九章自然语言处理of3189.2.19.2文本处理第九章自然语言处理of3199.2.2文本表示文本的表示及其特征词的选取是自然语言处理的一个基本问题。它通过对从文本中抽取的特征词进行量化来表示文本信息,将它们从一个无结构的原始文本转化为结构化的、计算机可以识别处理的信息,即对文本进行科学抽象,建立它的数学模型,用以描述和代替文本。由于文本是非结构化的数据,要想从大量的文本中提取有用的信息就必须首先将文本转化为可处理的结构化形式。通常先对词汇进行分离,也就是采用分词技术,然后实现文本向量化表示。例如,文本
可以用向量表示为
,其中,
为文本
计算如式(9-3)所示。TF-IDF计算如式(9-4)所示。TF-IDF加权法计算简单,对文本特征词提取效果良好,是一种应用广泛的提取方法。9.2文本处理第九章自然语言处理of31129.2.39.2文本处理第九章自然语言处理of31139.2.3文本特征词提取2)互信息互信息的主要思路是衡量词项与文本类别的关系。当词项在某类别中出现的频次比较高,但是在另一类别中出现的频次比较低时,说明该词项在出现频率较高的文本类别中互信息贡献大,则该词项最能表征文本的特征性。互信息计算的是词项出现在某一类别中的文本个数与它出现在整个文本集中的文本个数之比。特征项
的互信息的计算如下:
3)信息增益信息增益表征特征项对文本类别的影响程度,主要考量特征项出现之前与出现之后的信息熵的相差额度。假设S为文本集合,D为文本集合中所有类别的集合,d为集合D
语法分析of5615高级大数据人才培养丛书习题第九章自然语言处理9.1Python常用自然语言处理工具9.2文本处理9.9.3词法分析第九章自然语言处理of31169.3.1分词9.3.1分词词是最小的能够独立活动的有意义的语言成分。分词的主要任务是将文本中连续的字符序列转换成分隔正确的单词序列。
是最悠久,也是最常用的标记集之一。1.NLTK词性标注NLTK进行词性标注时用到的函数是nltk.pos_tag(tokens),其中,tokens是句子分词后的结果,同样是句子级的标注。例如:9.3词法分析第九章自然语言处理of31209.3.29.3词法分析第九章自然语言处理of31219.3.2词性标注2.jieba词性标注
语法分析of5642高级大数据人才培养习题第九章自然语言处理9.1Python常用自然语言处理工具9.2文本处理9.习题:1.简述自然语言处理的定义及意义。2.简述文本表示的3种模型并比较其优缺点。3.简述文本的提取过程及文本特征词提取的方法。4.简述分词的定义及分词的作用和意义。5.简述词性标注的定义及意义。6.简述命名实体识别的定义及作用。7.什么叫停用词?为何要去停用词?8.简述语法分析及其功能。9.简述上下文无关语法和概率分布的上下文无关语法。习题:1.简述自然语言处理的定义及意义。感谢聆听感谢聆听高级大数据人才培养丛书张雪萍主编唐万梅副主编景雪琴副主编BIGDATA刘鹏张燕总主编Python程序设计高级大数据人才培养丛书张雪萍主编9.1
语法分析of5646习题第九章自然语言处理9.1Python常用自然语言处理工具9.2文本处理9.9.1Python常用自然语言处理工具第九章自然语言处理of31479.1.1Python自然语言处理工具包NLTK自然语言处理工具包NLTK是NLP领域最常使用的一个Python库。NLTK是由美国宾夕法尼亚大学的StevenBird和EdwardLoper开发的。NLTK包括图形演示和示例数据,其提供了WordNet这种方便处理词汇资源的接口,以及分类、分词、词干提取、标注、语法分析、语义推理等类库。NLTK网站:/。安装NLTK的命令:sudopipinstall-Unltk。安装NumPy的命令(可选):sudopipinstall-Unumpy。安装测试的命令:pythonthentypeimportnltk。9.1Python常用自然语言处理工具第九章自然语言处理9.1Python常用自然语言处理工具第九章自然语言处理of31489.1.2Python中文处理工具jiebajieba是一个用Python实现的分词库,对中文有很强大的分词能力。jieba网站:/fxsjy/jieba。Windows环境下安装jieba的命令:pipinstalljieba。jieba的优点如下:(1)支持3种分词模式:
以布朗语料库为例。因为这个语料库是研究文本间系统性差异的资源,所以可以用来比较不同文本中情态动词的用法,示例如右上:如果想操作自己的语料库,并且使用之前的方法,那么,需要用PlaintextCorpus-Reader函数来载入它们。这个函数有2个参数,第1个是根目录,第2个是子文件(可以使用正则表达式进行匹配),示例如右下:9.2文本处理第九章自然语言处理of3189.2.19.2文本处理第九章自然语言处理of31539.2.2文本表示文本的表示及其特征词的选取是自然语言处理的一个基本问题。它通过对从文本中抽取的特征词进行量化来表示文本信息,将它们从一个无结构的原始文本转化为结构化的、计算机可以识别处理的信息,即对文本进行科学抽象,建立它的数学模型,用以描述和代替文本。由于文本是非结构化的数据,要想从大量的文本中提取有用的信息就必须首先将文本转化为可处理的结构化形式。通常先对词汇进行分离,也就是采用分词技术,然后实现文本向量化表示。例如,文本
计算如式(9-3)所示。TF-IDF计算如式(9-4)所示。TF-IDF加权法计算简单,对文本特征词提取效果良好,是一种应用广泛的提取方法。9.2文本处理第九章自然语言处理of31129.2.39.2文本处理第九章自然语言处理of31579.2.3文本特征词提取2)互信息互信息的主要思路是衡量词项与文本类别的关系。当词项在某类别中出现的频次比较高,但是在另一类别中出现的频次比较低时,说明该词项在出现频率较高的文本类别中互信息贡献大,则该词项最能表征文本的特征性。互信息计算的是词项出现在某一类别中的文本个数与它出现在整个文本集中的文本个数之比。特征项
语法分析of5659高级大数据人才培养丛书习题第九章自然语言处理9.1Python常用自然语言处理工具9.2文本处理9.9.3词法分析第九章自然语言处理of31609.3.1分词9.3.1分词词是最小的能够独立活动的有意义的语言成分。分词的主要任务是将文本中连续的字符序列转换成分隔正确的单词序列。
是最悠久,也是最常用的标记集之一。1.NLTK词性标注NLTK进行词性标注时用到的函数是nltk.pos_tag(tokens),其中,tokens是句子分词后的结果,同样是句子级的标注。例如:9.3词法分析第九章自然语言处理of31209.3.29.3词法分析第九章自然语言处理of31659.3.2词性标注2.jieba词性标注
2)开发文法下面程序展示了如何利用简单的过滤器来寻找带句子补语的动词。9.4语法分析第九章自然语言处理of31329.4.39.4语法分析第九章自然语言处理of31779.4.3语法分析算法2.概率分布的上下文无关语法由于语法的解析存在二义性,就需要找到一种方法从多种可能的语法树中找出最可能的一棵树。一种常见的方法是概率分布的上下文无关语法