开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:基本文本处理 2 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15499
基本文本处理 2
内容介绍:
一、 jieba 具体使用方法
二、 exam 2 Stanford CoreNLP 分词与词性标注。
三、命名文本的识别
四、exem 3 stanfordcorenlp 命名实体识别
一、 jieba 具体使用方法
Jieba 支持自定义词典词典格式是一个文本文件,一个词占一行,每一行可以分为三个部分:词语、词频(可省略),词性(可省略),用空格隔开,顺序不可颠倒。
具体的使用方法:形容 jieba 里面的一个函数 load_userdict,再看文件名,就可以下载用户自定义词典。也可以动态地去修改词典,用 add_word 也可以删除 word。 另外还可以调节词语的词频,然后使其能/不能被分词。满足一定的词频就能分出来,然后使用suggest_freq 加词频的一个函数来处理。
二、 exam 2 Stanford CoreNLP 分词与词性标注
pop install stanfordcorenl需要安装,装好之后还需要从 github官网上面下载中文的支持文件,放到一个 NLP 目录当中。
网址:https://stanfordnlp.github.io/CoreNLP/download.html
下载coreNLP3.9.x与Chinese xxx-models.jar文件将其存放在统一文件目录下,例如 f:\phython\coreNLP目录下。
在下载安装包时需要指定这个文件。然后看代码,从斯坦福的 stanfordcorenlp 里面导入一个模快 StanfordCoreNLP ,前面nlp为小写字母,后面的模块里面为首字母大写。作为对象引用 Stanford CoreNLP, 在模块儿参数里面要指明中文资源在哪一块目录。
同样使用文本句“大学生活像白纸”,然后进行分词,使用 stanfordcorenlp 里面的 word_tokenize 把文本句传给它,即可进行分词。
做词性标注,使用 pos_tag 来做词性标注,然后运行,因为需要调用中文数据来做分词和词性标注,分词也是一个精确方法,然后其词性标注是一个词性,其词性代码和 jieba 不一样。比如名词它是两个大写 N, 而动词是两个大写 V 表示
三、命名文本的识别
命名文本识别就是在文本当中找出一些实体,这些实体大多数是人名、地名、机构名等等。还可以扩展到其他领域中,比如说生活医学中的疾病、药品、治疗方法等等。命名实体识别更多提到的是组织、地理位置、人等等。如果是不同的领域需要有专门的 命名识别工具工具。命名实体识别的英文缩写是 NER, 全称是 Named Entity recognition。 也可以用 StanfordCoreNLP 做命名实体识别。
四、exem 3 stanfordcorenlp 命名实体识别
文本句:“华东师范大学位于中国上海”
用包里面的 ner 来做命名实体识别,然后进行识别得出的结果是命名实体:(“华东”,“ORGANIZATION”),(“师范”,“ORGANIZATION”),(“大学”,“ORGANIZATION”),把这三个词拼接在一起是一个组织;(“位于”,“0”),(“的”,“0”),0表示其他;(“中国”,“COUNTRY”)指一个地理位置的国家;(“上海”,“STATE OR PROVINCE”),指一个省市,首都、省府等等。