自然语言处理5——词法分析

本文介绍了词法分析在英文和中文自然语言处理中的重要步骤,包括词的识别、形态分析和词性标注。英文词法分析关注屈折变化和派生变化,而中文词法分析面临无明显边界和歧义问题,常用方法有最大匹配法和统计分词。分词评价指标包括精确率和召回率。未登录词识别是提高分词准确性关键,涉及规则和统计方法。工具如jieba结合了统计和规则。
摘要由CSDN通过智能技术生成

自然语言处理5——词法分析


词:是语言信息处理的基本单位。

词法分析步骤:

  • 词的识别:将句子序列转换为词序列
  • 形态分析:词的构成、形态变化、词形还原
  • 词性标注:标记句子中词的词性

英文的词法分析

英文的特点:曲折型语言,词与词之间有边界标记,词的形态变化丰富

  • 屈折变化:由于语法作用而造成的单词形态变化,但单词的词性基本不变
  • 派生变化:一个单词/词干衍生处若干不同类的单词

词的识别:特殊的如:数字、缩略、含非字母符号、含" "/‘/-等词串、网址、公式等

  • 识别方法:词典+规则可识别;数字可以用有限状态自动机识别正则表达式

形态分析:词形还原:将英文的屈折变化和派生变化还原。

  • 方法:词典;不规则词形变化表;词形变化集;作为未登录词处理

词形还原与词干还原的区别:

词形还原:是去掉单词前后缀等词缀,提取单词的主干部分,提取出的还是单词。

词干还原:抽取词的词干或词根,结果可能只是词的一部分。

还原的程度有:词干层(如:impossibilitiesà impossibility+ies);词根层(如:impossibilities à im+poss+ibil+it+ies),分析程度取决于系统的深度。

中文的词法分析

中文的特点:分析性语言;词语之间没有边界;词缺少形态变化

分析步骤:分词->未登录词识别->词性标注

分词困难

  • 交叉(集)型歧义:即字串abc,既可以切分成ab/c,又可以分成a/bc
    • 链长:交叉歧义字段中含有交集字段的个数
  • 组合型歧义(覆盖型歧义):若ab为词,而a和b在句子中又可以单独成词

分词方法

  • 规则分词

    • 最大匹配法:使用词典及规则的机械的切分方法

      1. 正向最大匹配算法(FMM):自左向右,每次取最长词。即:字串S,字典最长词有i个,将S的前i个字作为字段Q进行匹配,找不到则去掉Q的最后一个,直到找到,直到剩余字串长度为0,说明匹配完成。
      2. 逆向最大匹配算法(BMM):自右向左,每次取最长词。即:每次取末端的i个。分词词典:逆序词典
      3. 双向最大匹配算法(Bi-directional MM):依次采用正向和逆向的,如果结果一致则输出,不一致要排除歧义。如:搜索引擎用双向的,但是两边的结果都要。

      优点:简单、快速、某些场合足够使用

      缺点:单向最大匹配会忽略交叉型歧义和组合型歧义;双向会忽略链长为偶数的交叉型歧义和组合型歧义

    • 最少分词法:分词的词数最少是分词的最优结果<——>有向图中搜索最短路

      方法:动态规划(Viterbi算法)

      优点:好于单向的最大匹配,处理未登录词的表现好

      缺点:忽略了所有组合歧义,对交叉歧义的效果也不好

  • 统计分词

    • 基于n-gram模型:根据词典给出句子所有可能的切分结果,将句子整理为前缀的数组组合->构建词图(词网路)->利用n-gram模型计算找到最优路径

      优点:训练语料规模足够大、覆盖领域足够多时,正确率高

      缺点:性能依赖于训练语料规模及质量;计算量大

    • 基于HMM:观察序列:字串,状态序列:词序列

    • 全切分方法:根据词典给出句子所有可能的分词结果,如搜索引擎

分词系统的评价指标

  • 精确率: P = 切 分 正 确 的 词 数 总 的 切 分 词 数 P = \frac{切分正确的词数}{总的切分词数} P=
  • 召回率: R = 切 分 正 确 的 词 数 正 确 的 总 词 数 R = \frac{切分正确的词数}{正确的总词数} R=
  • F 1 = 2 P R P + R F_1 = \frac{2PR}{P+R} F1=P+R2PR,得出的结果偏向于P和R中小的那个值

工具:jieba,原理:统计和规则结合,用HMM进行未登录词的识别

中文未登录词识别

未登录词:词典中没有的词,如:命名实体、数字、日期、专业术语、新词、缩略词、商标字号等

未登录词识别的意义:使得分词结果准确;且未登录词包含的信息一般更多

困难:未登录词没有明确边界;构成未登录词的单元本身均可单独成词

方法:

  • 基于规则的方法:依据未登录词内部构成规律、外部环境(上下文)、重复出现规律

    如:设姓名为 X m 1 m 2 Xm_1m_2 Xm1m2,识别方法:1.姓名库匹配;2.计算潜在姓名的概率

    F ( X ) = X 用 作 姓 X 出 现 总 次 数 F(X) = \frac{X用作姓}{X出现总次数} F(X)=XX; F ( m 1 ) = m 1 作 为 名 字 首 字 出 现 次 数 m 1 总 出 现 次 数 F(m_1) = \frac{m_1作为名字首字出现次数}{m_1总出现次数} F(m1)=m1m1,同理求出 F ( m 2 ) F(m_2) F(m2)

    P ( n a m e ) = F ( X ) F ( m 1 ) F ( m 2 ) P(name) = F(X)F(m_1)F(m_2) P(name)=F(X)F(m1)F(m2),若P高于所设定的阈值,那么name即为人名。

    人名识别的困难:一些高频姓名用字在非姓名中也是高频字;名字中间一部分是一个已经被收录的词;人名与其上下文组合成词;人名地名冲突

    识别效果:人名>地名>机构名

    机构名识别方法:根据相应规则往期逐个检查名词作为修饰名词的合法性,直到发现非法词;若修饰词及机构称呼词构成合法机构名词,则记录

  • 统计方法:将识别问题转化为标注问题

    方法:HMM、最大熵、条件随机场

OBIE
不属于未登录词未登录词首字未登录词中间字未登录词尾字

往期文章:
自然语言处理1——NLP概述
自然语言处理2——语言学基础
自然语言处理3——语言学资源
自然语言处理4——统计语言模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值