自然语言菜鸟学习笔记(二)
词法分析
1.语言的分类
传统语言学根据词的形态结构把语言分为三大类:
分析型语言
黏着性语言
曲折型语言
1.1分析型语言
词基本没有专门表示语法意义的附加成分
形态变化少
语法关系靠词序、虚词来表示
如:汉语、藏语
1.2黏着型语言
词内有专门表示语法意义的附加成分,一 个附加成分表达一种语法意义,一种意义 也基本上由一个附加成分来表达
词根或词干跟附加成分的结合不紧密
如:日语
1.3曲折型语言
用词的形态变化来表示语法关系,一个形态成分可以表示若干种不同的语法意义
词根或词干跟词的附加成分结合得很紧密, 往往不容易截然分开
如:英语、德语、法语等
简单比较(汉语与英语的比较)
汉语:词与词紧密相连,没有明显的分界标志
英语:用空格隔开,无需分词
汉语的词形态变化少,靠词序或虚词来表示, 而英语用词的形态变化来表示语法关系
所以对汉语进行词的自动切分 对英语进行词的形态还原
2.汉语的自动分词
根据GB-13715规范:
汉语信息处理
• 用计算机对汉语的音、形、义等信息进行的处理。
词
• 最小的能独立运用的语言单位
词组
• 由两个或两个以上的词,按一定的语法规则组成,表 达一定意义的语言单位
分词单位
• 汉语信息处理使用的、具有确定的语义或语法功能的 基本单位。它包括本规范的规则限定的词和词组。
汉语分词
• 从信息处理需要出发、按照特定的规范,对汉语按分 词单位进行划分的过程。
汉语自动分词主要包括:
1 根据分词规范,建立机器词典;
2 根据分词算法和机器词典,把字串切分为词 串。
3 机器学习方法和统计方法
构建词典:把没有明显分界标志的字串切分为词串。 包括:标点符号、数字、数学符号、各种 标记、人名、地名、机构名等未登录词的识别。
构建分词词典是一件非常难并且乏味的事情,那些构建词典的大佬都是值得敬佩的,像大佬鞠躬
汉语分词的重要性
汉语中词是汉语语言中最小的独立运用单位
分词是句法分析的基础,是所有应用系统 进行的第一步。
只有进行了分词,才可以继续进行下面的 语法分析、语义分析等。
一般句法分析所凭借的语法知识主要来自 机器词典和句法规则库,这些都是根据词 条来收录的,因此需要事先对一连串的汉字进行分词
应用包括:词频统计、自动摘要、自动分类、 机器翻译等都需要事先进行分词。
汉语分词又分为基于规则和基于统计的分词方法
基于规则的分词法:
(1) 事先人工建立好分词词典和分词规则库。
(2) 原理为基于字符串匹配进行分词,这样就要 求有足够大的词表为依据。
(3) 通过一定的算法来实现,如正向最大匹配法、 逆向最大匹配法、双向匹配法等。
(4) 优缺点:当分词词典所收容的词较少时,显 然覆盖度就有限,分词的正确率就低。
基于统计的分词法:
(1)利用字与字间、词与词间的同现频率作为分词的依 据, 可以没有建立好的词典
(2)需要大规模的训练文本, 用来训练模型参数
(3)优点:不受应用领域的限制;
(4)缺点:训练文本的选择将影响分词结果
3.基于规则的分词算法
3.1正向最大匹配分词法(MM)
算法描述:
设MaxLen表示最大词长,D为分词词典
(1) 从待切分语料中按正向取长度为MaxLen的字串str,令 Len=MaxLen;
(2) 把str与D中的词相匹配;
(3) 若匹配成功,则认为该字串为词,指向待切分语料的指 针向前移Len个汉字(字节),返回到(1);
(4) 若不成功:如果Len>1,则将Len减2,从待切分语料中 取长度为Len的字串str,返回到(2)。否则,得到长度为 2的单字词,指向待切分语料的指针向前移1个汉字, 返回(1)。
举例:比如说有一个分词词典:我,我是,我在,吃饭
比如说我们要对一个句子“我在吃饭”进行分词,那么我们首先先设定一个MaxLen,这里我们将MaxLen设为3,那么我们从句子里面取出三个字也就是 “我在吃” 去词典里面去匹配,发现词典里面匹配不到 “我在吃” 那么我们进行第(4)步操作,我们将长度减一,也就是变成 “我在” 去词典里面匹配,发现匹配成功!然后我们将指针向前移两个字,再取最后的 “吃饭” 去词典里面匹配,匹配成功,那么我们最后的分词结果为:
“我在 / 吃饭”
正向最大匹配分词缺点:
忽视“词中有词”的现象,导致切分错误
如切分:”幼儿园地节目”
切分结果为:幼儿园/地/节目/
正确结果为:幼儿/园地/节目/
最大词长难以确定
太长,匹配所花时间多,算法时间复杂度提高
太短,不能切分长度超过它的词,导致切分正确率 降低
3.2逆向最大匹配法(RMM)
与正向匹配算法反向,一开始的时候从尾部开始取,去MaxLen个字,然后匹配不成功的时候len减一则减去开头那个字
3.3双向匹配法
算法描述:
对同一个字符串分别采用MM和RMM两种方 法进行切分处理,如果能够得到相同的切分 结果,则认为切分成功,否则认为有疑点。
针对疑点:
•采用上下文信息,根据歧义规则库进行排歧;
•或进行人工干预,选取一种切分为正确的切分。
优点:
克服了MM方法里忽视“词中有词”的现象
缺点:
• 于算法复杂度的提高
• 并且为了支持正反向匹配算法,词典设置要复杂
• 对某些句子仍然无法发现歧义
4.基于统计的中文分词算法
概率最大分词方法
基本思想:选择概率最大的分词路径作为最优结果:
输入:字符串S:幼儿园地节目
输出:
词串W1:幼儿园/ 地/ 节目/
词串W2:幼儿/ 园地/ 节目/
即求 max(P(W1|S), P(W2|S))
依据贝叶斯定理及独立性假设:
举例:
我们这里随便假设一个概率表格,我们对字符串 “有意见分歧” 进行分词,我们给出两种分词的路径如下:
经过计算:
可见:P(W1)>P(W2) 所以我们最后的结果为:有 / 意见 / 分歧 /
概率最大分词方法优化:
根据分词的左临词来决定总的概率
利用动态规划算法来实现: 即最优路径中的第i个词wi 的累计概率等于它的左相 邻词wi-1的累积概率乘以wi 自身的概率
具体步骤:
对一个待分词的字串S,按照从左到右的顺序取出全 部候选词w1,w2,…,wi ,wn;
计算每个候选词的概率值P(wi ),记录每个候选词的全部左邻词;
计算每个候选词的累计概率,累计概率最大的候选词为最佳左邻词;
如果当前词wn是字串的尾词,且累计概率P’(wn)最大,则wn是S的终点词;
从wn开始,按照从右到左顺序,依次将每个词的最 佳左邻词输出,即S的分词结果.
举例:
我们下面使用概率最大分词方法来对 “结合成分子时”
概率表:
可见,我们执行最后一步,从“时”开始往左进行扫描最佳左邻词,“时”的最佳左邻是 分子(P(分子)>P(子))
以此类推,我们最后得到的概率最大分词为:结合/ 成/ 分子/ 时/
5.评测指标
正确率 (precision, P) :测试结果中正确切分的个数 占系统所有输出结果的比例
召回率(Recall ratio, R):测试结果中正确结果的个 数占标准答案总数的比例
F-度量值:正确率和召回率的综合值
本菜鸟学习不好,如有不妥望各位大佬指点
如要转载请说明原文:https://blog.csdn.net/qq_36652619/article/details/83789218
自然语言菜鸟学习笔记(二)相关推荐
- 自然语言菜鸟学习笔记(七):RNN(循环神经网络)及变体(LSTM、GRU)理解与实现(TensorFlow)
目录 前言 RNN(循环神经网络) 为什么要用循环神经网络(RNN)? 循环神经网络(RNN)可以处理什么类型的任务? 多对一问题 一对多问题 多对多问题 循环神经网络结构 单层网络情况 正向传播 反 ...
- NLP自然语言处理学习笔记(二)Word2Vec
NLP自然语言处理学习笔记(二)Word2Vec 一.Word2Vec 二.负采样 本文是根据吴恩达教授的教学视频来整理的学习笔记,部分图片来源于视频的截图.原教学视频连接 https://mooc. ...
- 菜鸟学习笔记:Java提升篇11(Java动态性1——注解与反射)
Java提升篇11(Java其它高级特性--注解与反射) 注解(Annotation) JDK内置注解 自定义注解 元注解(meta-annotation) 反射(reflection) 动态语言 反 ...
- 菜鸟学习笔记:Java基础篇6(数组、字符串)
菜鸟学习笔记:Java常用类(数组.字符串) 数组 概述 数组的定义 二维数组 数组查找和排序 查找 排序 数组运用--字符串 不可变字符序列(String) 可变字符序列(StringBuilder ...
- 菜鸟学习笔记:Java基础篇2(变量、运算符、流程控制语句、方法)
菜鸟学习笔记:Java基础篇2 变量 基本概念 变量作用域 final关键字 运算符 算术运算符 比较运算符 逻辑运算符 位运算符 赋值运算符 条件运算符 运算符优先级 Java三种流程控制语句 顺序 ...
- Mongodb使用学习笔记(二)
文章目录 Mongodb使用学习笔记(二)之查询篇 1. MongoDB命令学习 (1) MongoDB 查询文档 1.1 全部查询 1.2 单条件查询 1.3 多条件查询 1.3.1 AND拼接多条 ...
- 五子棋人机大战(Java菜鸟学习笔记)
五子棋人机大战(Java菜鸟学习笔记) 逻辑是: 1.绘制棋盘: 2.人机开始各执行一次操作,每进行一次操作就进行判断输赢 其中判断输赢主要分成四个方向,横向.纵向以及交叉向,此时可以画图来找规律实现 ...
- 对python的评价语_Python自然语言处理学习笔记之评价(evaluationd)
对模型的评价是在test set上进行的,本文首先介绍测试集应该满足的特征,然后介绍四种评价方法. 一.测试集的选择 1.首先,测试集必须是严格独立于训练集的,否则评价结果一定很高,但是虚高,不适用于 ...
- 自然语言处理学习笔记(1)——词典分词
自然语言处理学习笔记(1)--词典分词 一.相关定义(P32) 中文分词:将一段文本拆分为一系列单词的过程,这些单词顺序拼接后等于源文本. 词典分词:一个确定的查词与输出的规则系统,仅需要一部词典和一 ...
最新文章
- 数据竞争(data race)问题分析的利器——valgrind的Helgrind
- Future 模式介绍
- This function or variable may be unsafe
- Mac 安装rabbitmq
- L1-045 宇宙无敌大招呼
- 数组指针和指针数组的区别(1)
- 名企进名校精选IT人 07年毕业生就业看好
- Oracle入门(十四.6)之使用标量数据类型
- mongodb最多数据库_2020 年3 月数据库排行:前 10 整体下行,出新技术了?
- C语言程序设计第9堂作业
- 6.企业应用架构模式 --- 会话状态
- [Linux学习]更改默认启动图形界面或命令行
- RoboBee和RoboFly领衔微型昆虫机器人:从“上天入海”到“挣脱束缚”
- FPGA实验-VGA显示
- Blogspot.com再次解封
- spring boot打包本地idea跑能行,上线jar包跑不行 解决
- 论文阅读《Characterizing BDS signal-in-space performance from integrity perspective》3
- 打开小米5开发者选项
- Charles工具使用-pc端
- js中push使用 (数组)
热门文章
- Matplotlib--用Python创建各种数据可视化图形
- Unty3d 中textmeshpro如何生成中文字体
- 入网指南:一文读懂你身边的网络
- 高中的计算机考试是什么水平,高中生每次考试,自己老师的评分,为何与电脑阅卷的成绩差那么多...
- Python开发技巧-教你制作Python进度条
- Android 常用ADB命令汇总!!! -- 持续补充
- Codeforces 1634 C. OKEA ——简单思维
- 汇总我在IDEA中使用Maven导包遇到的问题
- 百度全民小视频主播火热招募中,星球传媒教你如何实现自己的主播梦
- 完美国际最新服务器,完美国际2:新服“永恒”明日开启,新老朋友踏实安家...