一、两种分词标准:

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的改进算法,分为正向最佳匹配法和逆向最佳匹配法
      • 两个方向得到的结果必然不同
      • 缺陷:只能正向或逆向得找出最长的词,而不能找出所有的候选词条
    • 双向扫描法
      • 以上的改进算法,能更快速的检测出歧义产生的位置
    • 整体缺点:没有考虑词汇上下文相关性,分词准确度不高
  • 机械分词系统揭示了一个语言规律:
    • 一个词汇的出现与其上下文环境中出现的词汇序列存在着紧密的联系
    • 上下文相关性:
      • 文本中第n个词的出现与其前后n-m和n+m个词有高度相关性,这个范围[-m,m]称为窗口范围
      • 计算:Markov假设+最大似然估计,看笔记

三、未登录词识别(Named Entity Recognition, NER)

  • 未登录词中,九成是专有名词,其余为通用新词或专业术语。所以未登录词识别就是包括中国人名、译名、日本人名、地理位置名称、组织机构等专有名词的识别。
  • 在NLP中,通常将上述专有名词和数字、日期等词称为命名实体。
  • 算法
    • 基于构词编码的方法

      • 缺点:只适用于狭窄的专门领域等,在处理大规模不同领域的未登录词上存在很大的障碍
    • 基于语义的方法
      • 认为:不同语义类下的未登录词,在统计学规律上具有相似性。
      • 算法:基于半监督的条件随机场算法(semi-CRF)

【NLP汉语自然语言处理与实践】分词_笔记的更多相关文章

  1. 郑捷2017年电子工业出版社出版的图书《NLP汉语自然语言处理原理与实践》

    郑捷2017年电子工业出版社出版的图书<NLP汉语自然语言处理原理与实践> 第1章 中文语言的机器处理 1 1.1 历史回顾 2 1.1.1 从科幻到现实 2 1.1.2 早期的探索 3 ...

  2. NLP自然语言处理 jieba中文分词,关键词提取,词性标注,并行分词,起止位置,文本挖掘,NLP WordEmbedding的概念和实现

    1. NLP 走近自然语言处理 概念 Natural Language Processing/Understanding,自然语言处理/理解 日常对话.办公写作.上网浏览 希望机器能像人一样去理解,以 ...

  3. Exp2后门原理与实践_20154305 _ 齐 帅

    Exp2后门原理与实践 20154305 _ 齐 帅 2.1简单后门 一.后门工具介绍 1.netcat(nc.ncat) 是一个底层工具,进行基本的TCP UDP数据收发.常被与其他工具结合使用,起 ...

  4. 实验三《敏捷开发与XP实践》_实验报告

    实验三<敏捷开发与XP实践>_实验报告 一.实验内容和步骤 提交点1: 任务要求: 实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/479577 ...

  5. 在TensorFlow中基于lstm构建分词系统笔记

    在TensorFlow中基于lstm构建分词系统笔记(一) https://www.jianshu.com/p/ccb805b9f014 前言 我打算基于lstm构建一个分词系统,通过这个例子来学习下 ...

  6. RESTful接口设计原则/最佳实践(学习笔记)

    RESTful接口设计原则/最佳实践(学习笔记) 原文地址:http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api 1 ...

  7. 《疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践》学习笔记

    <疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践>学习笔记 二〇一九年二月十三日星期三2时28分54秒 前提:本书适合有初步HTML.CSS.JavaScri ...

  8. 20180929 北京大学 人工智能实践:Tensorflow笔记04

    20180929 北京大学 人工智能实践:Tensorflow笔记03(2018-09-30 00:01)

  9. 20180929 北京大学 人工智能实践:Tensorflow笔记01

    北京大学 人工智能实践:Tensorflow笔记 https://www.bilibili.com/video/av22530538/?p=13 (完)

随机推荐

  1. pandas数据清洗

    1.我已安装好Anavonda3.5.所以我只用打开"jupyter notebook",然后打开浏览器 然后点击右侧的“new",然后打开python3

  2. HBase的Java Api连接失败的问题及解决方法

    分布式方式部署的HBase,启动正常,Shell操作正常,使用HBase的Java Api操作时总是连接失败,信息如下: This server is in the failed servers li ...

  3. 性能调优之vmstat命令(转)

    vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.IO读写.CPU活动等进行监视.它是对系统的整体情况进行统计,不足之处是无法对某 ...

  4. 后台如何通过Request取得多个含有相同name的控件的值?

    在Asp.net开发中,所有html控件的值都是可以在服务器端用后台代码的Request[name]来获取其值的.但如果有多个相同name的Html控件提交到后台,怎么分别取各个控件的值呢?而多数情况 ...

  5. iOS 开发工具网页下载

    iOS 开发工具网页下载地址: https://developer.apple.com/downloads/

  6. Vue父子组件生命周期执行顺序及钩子函数的个人理解

    先附一张官网上的vue实例的生命周期图,每个Vue实例在被创建的时候都需要经过一系列的初始化过程,例如需要设置数据监听,编译模板,将实例挂载到DOM并在数据变化时更新DOM等.同时在这个过程中也会运行 ...

  7. MVVMLight - IOC Containers and MVVM

    在面向对象编程的早期,开发者要面对在应用程序或者类库中创建或检索类的实例的问题.针对这个问题有很多的解决方案.在过去几年中,依赖注入(DI)和控制反转(IoC)在开发者中很流行,并且取代了老的方案,比 ...

  8. docker 容器中设置 mysql lampp php软链接

    在容器中安装xampp后,进入到终端,直接输入mysql php 发现报错,命令未被发现.如果输入/opt/lampp/bin/mysql   就可以进入了,所以我们要找到在容器中安装的位置,然后将他 ...

  9. NOI.AC NOIP模拟赛R3解题报告

    心路历程 预计得分:\(100+100+50=250\) 实际得分:\(10 +100 +50 = 160\) 三道原题,真好.T2做过,T1写了个错误思路,T3写了写50分状压dp. 整场考试实际在 ...

  10. CSS背景相关属性

    CSS样式可以精确控制HTML元素的背景.边框的样式和外观,也可以精确控制边框的线型和形状.其中,背景相关属性可以用于控制背景色.背景图片等属性.在控制背景图片的同时还可以控制背景图片的排列方式. 常 ...