前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【自然语言处理】统计中文分词技术(一):1、分词与频度统计

【自然语言处理】统计中文分词技术(一):1、分词与频度统计

作者头像
Qomolangma
发布2024-07-30 12:40:25
1800
发布2024-07-30 12:40:25
举报
文章被收录于专栏:自然语言处理深度学习

一、词与分词

1、词 vs 词素

  • 词是语言中能够独立运用的最小单位,是指词在语法结构中的地位和作用而言的。
  • 从语言的词本身来讲,很多词可以进一步分析成若干个最小的音义统一体,即词素
  • 词素是构成词的要素。词素是比词低一级的单位。
    • 参考黄伯荣和廖旭东老师的《现代汉语(上)》(P251)中介绍的“替代法”。简单来说,能被替换的是词,不能被替换的是词素。比如说“茶杯”这个词,“茶杯”中的“茶”可以替换成“水”,“杯”又可以替换成“叶”,所以“茶杯”是一个词,有两个词素。但是“彷徨”这个词中,“彷”和“徨”都不能被替换,所以“彷徨”是一个词素,不过同时也是一个词。“茶杯”和“彷徨”都有两个字,也都是一个词。但是,“茶杯”是一个由两个语素组成的词,而“彷徨”既是一个由一个语素组成的词。。。

2、世界语言分类

  传统语言学根据词的结构将世界语言分为三类:孤立语、黏着语、屈折语

  • 孤立语:又称“词根语”、“无形态语”,以汉语为代表
    • 词内没有专门表示语法意义的附加成分,形态变化很少,语法关系靠词序和虚词来表示
    • 例如:“我吃饭”中的“我”、“吃”、“饭”都是独立的词,词序和上下文决定了它们之间的语法关系。
  • 黏着语:又称“胶着语”,以日语为代表
    • 词内有专门表示语法意义的附加成分,一个附加成分表达一种语法意义,词根或词干跟附加成分结合不紧密
  • 曲折语:以英语为代表
    • 用词的形态变化表示语法关系,词根或词干跟词的附加成分结合的很紧密,一个附加成分表达多种语法意义
  • 孤立语和黏着语存在分词问题
    • 在孤立语言和黏着语言中,由于词本身没有太多的形态变化,因此分词相对较简单。在汉语中,词语之间一般使用空格或标点符号进行分隔,每个词都具有独立的语义和语法功能。

二、分词的原因与基本原因

1、为什么要分词

  • 汉语的机器自动分词是汉语信息处理系统的重要组成部分
  • 正确的机器自动分词是正确的中文信息处理的基础
    • 文本检索
      • 和服 | 务 | 于三日后裁制完毕,并呈送将军府中。
      • 王府饭店的设施 | 和 | 服务 | 是一流的。 如果不分词或者“和服务”分词有误,都会导致荒谬的检索结果。
    • 文语转换
      • 他们是来 | 查 | 金泰 | 撞人那件事的。(“查”读音为cha)
      • 行侠仗义的 | 查金泰 | 远近闻名。(“查”读音为zha)

2、分词规范

  • 中国国家标准GB13715 刘源等《信息处理用现代汉语分词规范及自动分词方法》
  • 分词规范内容实录
    • 二字或三字词,以及结合紧密、使用稳定的
      • 发展 可爱 红旗
      • 对不起 自行车 青霉素
    • 四字成语一律为分词单位,以及四字词或结合紧密、使用稳定的四字词组
      • 胸有成竹 欣欣向荣
      • 社会主义 春夏秋冬 由此可见
    • 五字和五字以上的谚语、格言等,分开后如不违背原有组合的意义,应予切分
      • 时间/就/是/生命/
      • 失败/是/成功/之/母

3、分词的主要难点-切分歧义

如何排除切分歧义

  利用前趋字串和后继字串在词法、句法、语义、语用方面的信息。

利用词法信息
  • 湖上有几只美丽的白/天鹅
  • 加入规则:“如果交段与其后继字串组成名词,则将该歧义词首字单切,否则,确认该歧义词为词”。
利用句法信息
  • 利用歧义字串与前趋字串和后继字串的搭配关系等句 法信息确定正确切分
  • 例:一阵/风/吹/过来/了
  • 加入规则:“如果歧义字段是量词且直接前趋字串是数词,那么歧义字段的首段单切,否则,该歧义字段成词”
利用语义信息
  • 例:学生会兴奋得手舞足蹈
  • 学生/会/兴奋/得/手舞足蹈
  • 学生会/兴奋/得/手舞足蹈
  • 加入规则:“如果歧义切分字段后继动词的义项中含有动作发出者为“人”这个义素,则歧义字段的尾字单切,否则该歧义字段成词”
利用语用、语境信息
  • 日本保留和尚使用的古代庙宇已经不多了
  • 乒乓球拍卖完了

4、分词的主要难点-未登录词

未登录词
  • 就是在词典中没有登录过的人名(中国人名和外国人译名)、地名、机构名、新词语、缩略语等。当采用匹配的方法来切词时,由于词典中没有登录这些词,会引起自动切词的困难。
  • 歧义切分字段在汉语书面文本中所占的比例并不很大,在实际的书面文本中,特别是在新闻类文本中,未登录词的处理是书面文本自动切分的一个十分突出的问题。这是汉语书面语自动切分的另一个难点。
如何识别未登录词
  • 汉语自然语言处理的经典难题之一
  • 人们探索了多种方法,如互信息、期望方差法、语言模型法等等
  • 基于最大熵、马尔科夫模型等统计分类模型是比较常用的方法

三、分词的一般方法

  中文词汇切分技术大体上可以分为: 1.基于词典的词汇切分方法(又称机械词汇切分) 2.基于统计的词汇切分方法 3.基于理解的词汇切分方法 4.词典与统计相结合的词汇切分方法

1、基于词典的方法(又称机械分词方法)

  本质上是字符串匹配的方法,将一串文本中的文字片段和已有的词典进行匹配,如果匹配到,则此文字片段就作为一个分词结果。 1)正向最大匹配法(从左到右的方向); 2)逆向最大匹配法(从右到左的方向); 3)最小切分(每一句中切出的词数最小) 4)双向最大匹配(进行从左到右、从右到左两次扫描

  • 优点是速度快,时间复杂度可以保持在O(n),实现简单,效果尚可;
  • 但对歧义和未登录词处理效果不佳
    • 基本就是不处理~
1. 正向最大匹配算法
  • 基于词典词汇切分中最大正向匹配是基于“每次从句子中切分出尽量长的词语”的原理。即一个词的长度越长,从这个词中所获取的信息就有可能更多,同时也更确切。
  • 比如“王小花”,这是一个人名,假设其存在于词典中,而“王”、“小”、“花”三个也均为词典中存在的单字词,倘若我们将“王小花”分为“王/小/花”,这将让人不知所云,而使用最长匹配的方法将会匹配出“王小花”这个三字词。
代码语言:javascript
复制
ch_dict = ['基于', '解析', '语义解析', '方法', '逻辑', '逻辑形式', '产生','更可', '解释', '可解释', '推理过程']
sentence = '基于语义解析的方法由于逻辑形式而产生了更可解释的推理过程'
segment_list = []   # 存放分词后的分词词组
# print(sentence)
# 例句不为空时,循环地进行分词操作

while len(sentence) >= 1:
    # 最大匹配单词的长度为5,当然实际意义从3开始即可,因为词典最大单词长度为3
    max_match_len = 5
    # 当匹配单词长度大于1时,循环判断分词
    while max_match_len > 1:
        # 判断前 max_match_len 个字符是否存在于字典
        if sentence[0:max_match_len] in ch_dict:
            segment_list.append(sentence[0:max_match_len])      # 追加到分词词组中
            sentence = sentence[max_match_len:len(sentence)]    # 将符合的词语从原例句中截取
            # 退出循环,重新从max_match_len最长匹配数开始匹配截取
            break

        max_match_len -= 1  # max_match_len累减,开始匹配4个字符,3个字符,,,

    # 只剩下一个汉字时,说明当前不再存在任何符合的词语,直接截取一个汉字作为词组
    if max_match_len == 1:
        segment_list.append(sentence[0:1])      # 追加单个汉字词语
        sentence = sentence[1:len(sentence)]    # 截取例句

# 输出进行分词后的例句
print('/'.join(segment_list))
代码语言:javascript
复制
基于/语义解析/的/方法/由/于/逻辑形式/而/产生/了/更可/解释/的/推理过程
2. 逆向最大匹配算法
  • 从右到左取词,每次取尽可能长的词,匹配词典中的词语。

2、基于统计的分词方法

  • 基于统计的分词方法是在给定大量已经分词的文本的前提下,利用统计机器学习模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。例如最大概率分词方法和最大熵分词方法等。随着大规模语料库的建立,统计机器学习方法的研究和发展,基于统计的中文分词方法渐渐成为了主流方法。
  • 主要的统计模型有:N元文法模型(N-gram),隐马尔可夫模型(Hidden Markov Model ,HMM),最大熵模型(ME),条件随机场模型(Conditional Random Fields,CRF)等

3、基于理解的分词方法

  • 基于理解的分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。
  • 它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,语法子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。
  • 这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。

4、词典与统计相结合的词汇切分方法

  利用词典匹配和统计模型的方法,结合了基于词典的规则和基于统计的概率模型,以提高分词准确性和效率。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、词与分词
    • 1、词 vs 词素
      • 2、世界语言分类
      • 二、分词的原因与基本原因
        • 1、为什么要分词
          • 2、分词规范
            • 3、分词的主要难点-切分歧义
              • 如何排除切分歧义
            • 4、分词的主要难点-未登录词
              • 未登录词
              • 如何识别未登录词
          • 三、分词的一般方法
            • 1、基于词典的方法(又称机械分词方法)
              • 1. 正向最大匹配算法
              • 2. 逆向最大匹配算法
            • 2、基于统计的分词方法
              • 3、基于理解的分词方法
                • 4、词典与统计相结合的词汇切分方法
                相关产品与服务
                NLP 服务
                NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档