【NLP汉语自然语言处理与实践】分词_笔记
一、两种分词标准:
1. 粗粒度。
- 将词作为最小基本单位。比如:浙江大学。
- 主要用于自然语言处理的各种应用。
2. 细粒度。
- 不仅对词汇继续切分,也对词汇内部的语素进行切分。比如:浙江/大学。
- 主要用于搜索引擎。一种常用方案是:
- 索引的时候使用细粒度的分词以保证召回,比如浙江/大学
- 询的时候使用粗粒度的分词以保证精度
二、歧义
1.分类:
- 交集型切分歧义。对于AJB,AJ和JB都成词
- 组合型切分歧义。对于AB,A、B、AB都成词
- 多义组合型切分歧义。对于AB,(1)A、B、AB同时为词;(2)文本中至少存在一个上下文语境c,在c的约束下,A、B在语法和语义上都成立
- PS:语法与语义
- 语法:语言符号之间的关系
- 语义:语言符号与所指事物之间的关系
2. 解决方法(分词算法)
- 机械分词系统
- 基于最大匹配方法MM(The Maximum Matching Method)
- 设词典中的最长词条为L,每次先取L个词尝试匹配,若失败,就去掉最后一个字,取前L-1个词尝试匹配,以此类推
- 双向匹配法
- MM的改进算法,分为正向最佳匹配法和逆向最佳匹配法
- 两个方向得到的结果必然不同
- 缺陷:只能正向或逆向得找出最长的词,而不能找出所有的候选词条
- 双向扫描法
- 以上的改进算法,能更快速的检测出歧义产生的位置
- 整体缺点:没有考虑词汇上下文相关性,分词准确度不高
- 基于最大匹配方法MM(The Maximum Matching Method)
- 机械分词系统揭示了一个语言规律:
- 一个词汇的出现与其上下文环境中出现的词汇序列存在着紧密的联系
- 上下文相关性:
- 文本中第n个词的出现与其前后n-m和n+m个词有高度相关性,这个范围[-m,m]称为窗口范围
计算:Markov假设+最大似然估计,看笔记
三、未登录词识别(Named Entity Recognition, NER)
- 未登录词中,九成是专有名词,其余为通用新词或专业术语。所以未登录词识别就是包括中国人名、译名、日本人名、地理位置名称、组织机构等专有名词的识别。
- 在NLP中,通常将上述专有名词和数字、日期等词称为命名实体。
- 算法
- 基于构词编码的方法
- 缺点:只适用于狭窄的专门领域等,在处理大规模不同领域的未登录词上存在很大的障碍
- 基于语义的方法
- 认为:不同语义类下的未登录词,在统计学规律上具有相似性。
- 算法:基于半监督的条件随机场算法(semi-CRF)
- 基于构词编码的方法
【NLP汉语自然语言处理与实践】分词_笔记的更多相关文章
- 郑捷2017年电子工业出版社出版的图书《NLP汉语自然语言处理原理与实践》
郑捷2017年电子工业出版社出版的图书<NLP汉语自然语言处理原理与实践> 第1章 中文语言的机器处理 1 1.1 历史回顾 2 1.1.1 从科幻到现实 2 1.1.2 早期的探索 3 ...
- NLP自然语言处理 jieba中文分词,关键词提取,词性标注,并行分词,起止位置,文本挖掘,NLP WordEmbedding的概念和实现
1. NLP 走近自然语言处理 概念 Natural Language Processing/Understanding,自然语言处理/理解 日常对话.办公写作.上网浏览 希望机器能像人一样去理解,以 ...
- Exp2后门原理与实践_20154305 _ 齐 帅
Exp2后门原理与实践 20154305 _ 齐 帅 2.1简单后门 一.后门工具介绍 1.netcat(nc.ncat) 是一个底层工具,进行基本的TCP UDP数据收发.常被与其他工具结合使用,起 ...
- 实验三《敏捷开发与XP实践》_实验报告
实验三<敏捷开发与XP实践>_实验报告 一.实验内容和步骤 提交点1: 任务要求: 实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/479577 ...
- 在TensorFlow中基于lstm构建分词系统笔记
在TensorFlow中基于lstm构建分词系统笔记(一) https://www.jianshu.com/p/ccb805b9f014 前言 我打算基于lstm构建一个分词系统,通过这个例子来学习下 ...
- RESTful接口设计原则/最佳实践(学习笔记)
RESTful接口设计原则/最佳实践(学习笔记) 原文地址:http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api 1 ...
- 《疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践》学习笔记
<疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践>学习笔记 二〇一九年二月十三日星期三2时28分54秒 前提:本书适合有初步HTML.CSS.JavaScri ...
- 20180929 北京大学 人工智能实践:Tensorflow笔记04
20180929 北京大学 人工智能实践:Tensorflow笔记03(2018-09-30 00:01)
- 20180929 北京大学 人工智能实践:Tensorflow笔记01
北京大学 人工智能实践:Tensorflow笔记 https://www.bilibili.com/video/av22530538/?p=13 (完)
随机推荐
- C# 父窗体与子窗体之间委托
先实例化子窗体jobForm,然后让 jobForm.TransfEvent += job_TransfEvent;显示子窗体 if (jobForm.DialogResult != DialogRe ...
- 用PL/sql连接oracle 弹窗出现 could not resolve the connect identifier specified 这个错误
1 错误如下图: 图1 2.可能原因: 配置oracle客户端中tnsnames.ora文件时,把数据库名弄错,如下图: 图2 箭头所指位置出错.箭头处应该为我们安装时的数据库名(通常是orcl).而 ...
- webpack+vue解决前端跨域问题
webpack 跨域,在这里整理了一下逻辑首先不是为了axios库来进行跨域的,而是直接通过node的webpack设置代理来完成跨域的. 先贴一条自己请求的连接 1.设置自定义域: 在config目 ...
- vue2.0修饰符sync用法
如果子组件是一个弹窗,我们想通过点击关闭按钮来关闭子组件弹窗,子组件弹窗的v-show由变量isVisible控制,这个变量通过props由父组件来注入, 而子组件无法改变props里面的变量的值,但 ...
- selenium+Python(文件上传)
文件上传操作也比较常见功能之一,上传功能没有用到新有方法或函数,上传过程一般要打开一个本地窗口,从窗口选择本地文件添加.所以,一般会卡在如何操作本地窗口添加上传文件只要定位上传按钮,通send_key ...
- 快速掌握用python写并行程序
目录 一.大数据时代的现状 二.面对挑战的方法 2.1 并行计算 2.2 改用GPU处理计算密集型程序 3.3 分布式计算 三.用python写并行程序 3.1 进程与线程 3.2 全局解释器锁GIL ...
- VS2008默认的字体居然是 新宋体
本人还是觉得 C#就是要这样看着舒服
- Xcode 常用路径收集
Xcode证书 路径: ~/Library/MobileDevice/Provisioning Profiles Xcode 插件路径: ~/Library/Application Support/D ...
- KVC的特殊用法
- (id)valueForKeyPath:(NSString *)keyPath方法的强大用法,举个例子: NSArray *array = @[@"name", @" ...
- Java入门系列-27-反射
咱们可能都用过 Spring AOP ,底层的实现原理是怎样的呢? 反射常用于编写工具,企业级开发要用到的 Mybatis.Spring 等框架,底层的实现都用到了反射.能用好反射,就能提高我们编码的 ...