读书笔记 | 《Python自然语言处理实战:核心技术与算法》| (1)
NLP基础
自然语言处理 (Natural Language Processing,NLP)
音系学:指代语言中__发音__的系统化组织。
词态学:研究__单词构成__以及相互之间的关系。
句法学:给定文本的哪部分是__语法__正确的。
语义学:给定文本的__含义__是什么?
语用学:文本的__目的__是什么?
语言理解涉及语言、语境和各种语言形式的学科。
而自然语言生成(Natural Language Generation,NLG)恰恰相反,从结构化数据中以读取的方式自动生成文本。
该过程主要包含三个阶段:文本规划(完成结构化数据中的基础内容规划)、语句规划(从结构化数据中组合语句来表达信息流)、实现(产生语法通顺的语句来表达文本)。
都是标注,以此类推。
同的文本中出现的次数越多,就证明这相连的字很可能就是一个词。因此我们就可以利
用字与字相邻出现的频率来反应成词的可靠度,统计语料中相邻共现的各个字的组合的
频度,当组合频度高于某一个临界值时,我们便可认为此字组可能会构成一个词语。 基于统计的分词,一般要做如下两步操作:
对比机械分词法,这些统计分词方法不需耗费人力维护词典,能较好地处理歧义和未登录词,是目前分词中非常主流的方法。
但其分词的效果很依赖训练语料的质量,且计算量相较于机械分词要大得多。
NLP基本分类

该过程主要包含三个阶段:文本规划(完成结构化数据中的基础内容规划)、语句规划(从结构化数据中组合语句来表达信息流)、实现(产生语法通顺的语句来表达文本)。
NLP 研究任务
机器翻译:计算机具备将一种语言翻译成另一种语言的能力。 情感分析:计算机能够判断用户评论是否积极。 智能问答:计算机能够正确回答输入的问题。 文摘生成:计算机能够准确归纳、总结并产生文本摘要。 文本分类:计算机能够采集各种文章,进行主题分析,从而进行自动分类。 舆论分析:计算机能够判断目前舆论的导向。 知识图谱:知识点相互连接而成的语义网络。NLP 基本术语
1. 分词(segment)
2. 词性标注(part-of-speech tagging)
对词的词性标注,词性:动词、名词、形容词等,例如:我/r爱/v北京/ns天安门/ns。其中,ns代表名词,v代表动词,ns、v都是标注,以此类推。
3. 命名实体识别(NER,Named Entity Recognition)
命名实体指从文本中识别出具有特定类别的实体(通常名词),例如人名、地名、机构名、专有名词等。4. 句法分析(syntax parsing)
5. 指代消解(anaphora resolution)
6. 情感识别(emotion recognition)
7. 纠错(correction)
8. 问答系统(QA system)
中文分词技术规则分词
缺点:词典难维护 机器分词,通过维护词典,在切分语句时,与词典中的词逐一匹配,找到则切分,否则不切分。 按匹配切分方式分:-
正向最大匹配法(Maximum Match Method, MM法)
逆向最大匹配法(Reverse Maximum Match Method,RMM法)
双向最大匹配法(Bi-directction Matching method)
1 | class IMM(object): |
1 | text = "南京市长江大桥" |
统计分词
其主要思想是把每个词看做是由词的最小单位的各个字组成的,如果相连的字在不同的文本中出现的次数越多,就证明这相连的字很可能就是一个词。因此我们就可以利
用字与字相邻出现的频率来反应成词的可靠度,统计语料中相邻共现的各个字的组合的
频度,当组合频度高于某一个临界值时,我们便可认为此字组可能会构成一个词语。 基于统计的分词,一般要做如下两步操作:
-
建立统计语言模型。
对句子进行单词划分,然后对划分结果进行概率计算,获得概率最大的分词方式。这里就用到了统计学习算法,如隐含马尔可夫(HMM)、条件随机场(CRF)等。
语言模型


HMM 模型
隐含马尔可夫模型(HMM)是将分词作为字在字串中的序列标注任务来实现的。其基本思路是:每个字在构造一个特定的词语时都占据着一个确定的构词位置(即词位),现规定每个字最多只有四个构词位置:即B(词首)、M(词中)、E(词尾)和S(单独成词),那么下面句子 1)的分词结果就可以直接表示成如 2)所示的逐字标注形式: