NLP segment-01-聊一聊分词 AI 的基础

2024-10-31  本文已影响0人  老马啸西风2020

拓展阅读

分词系列专题

jieba-fenci 01 结巴分词原理讲解 segment

jieba-fenci 02 结巴分词原理讲解之数据归一化 segment

jieba-fenci 03 结巴分词与繁简体转换 segment

jieba-fenci 04 结巴分词之词性标注实现思路 speechTagging segment

关键词系列专题

NLP segment-01-聊一聊分词

NLP segment-02-聊一聊关键词提取 keyword

NLP segment-03-基于 TF-IDF 实现关键词提取 java 开源实现

倒排索引原理与实现 reverse-index

TF-IDF 自动生成文章摘要

TF-IDF 自动提取关键词

相似文章算法之语义指纹-文本内容去重

TF-IDF 找出相似文章算法

开源项目

为了便于大家学习,项目开源地址如下,欢迎 fork+star 鼓励一下老马~

nlp-keyword 关键词

pinyin 汉字转拼音

segment 高性能中文分词

opencc4j 中文繁简体转换

nlp-hanzi-similar 汉字相似度

word-checker 拼写检测

sensitive-word 敏感词

NLP 的分词

在自然语言处理(NLP)中,分词是指将一段文本按照一定规则分解为一个个单词或词组的过程。

这是 NLP 的基础步骤之一,尤其在中文处理里尤为关键,因为中文没有天然的空格分隔词语。

分词的必要性

  1. 中文语料:与英文不同,中文中没有天然的分词标记,分词是理解文本的前提。例如,“我爱北京天安门”可以分成多个不同的词组,影响模型对文本的理解。
  2. 语义分析:正确的分词可以帮助算法准确地获取文本含义,便于后续的词频统计、情感分析等任务。
  3. 信息检索:分词能够提高信息检索系统的精度,比如在搜索引擎中,合理的分词可以帮助用户更好地找到相关内容。

分词的难点

  1. 歧义问题:如“我是中国人”,“中国人”既可以是国家名字加“人”,也可以是“中”“国人”。
  2. 未登录词:在词库中不存在的词称为未登录词,比如新出现的网络词汇、人名或地名等,需要识别这些词语才能提升分词的准确度。
  3. 多义性:同一个词在不同上下文中的含义可能不同,例如“苹果”既可能是水果,也可能是科技公司。

分词方法

  1. 基于规则的分词

    • 正向最大匹配法(MM):从文本开头开始,尝试匹配最长的词,直到文本结束。缺点是可能会漏掉较短的词汇。
    • 逆向最大匹配法(RMM):从文本末尾开始,向前匹配最长词语。可以与正向法组合,增加准确率。
    • 双向最大匹配法(Bi-MM):结合正向和逆向匹配,取分词结果较少的分法。可以较好地减少歧义,但效果仍有限。
  2. 基于统计的分词

    • N-gram 模型:将词语按 N-gram(如二元组)的形式切分,利用词语共现的频率计算切分的概率。适合处理文本中的高频词。
    • 隐马尔科夫模型(HMM):将分词问题转化为状态序列标注问题,利用已知的标注序列训练模型并计算分词概率。能处理一定的未登录词问题,但依赖于标注数据的质量。
  3. 基于机器学习的分词

    • 条件随机场(CRF):一种常用的序列标注方法,能通过上下文信息进行词语边界判断。与 HMM 相比,CRF 不要求特征的独立性,适合更复杂的语言结构。
    • 支持向量机(SVM)、决策树等:将分词转化为分类问题,使用上下文特征判断分词点。效果通常不如 CRF,但在特定任务中可能有效。
  4. 基于深度学习的分词

    • 循环神经网络(RNN):RNN 模型(如 LSTM 和 GRU)可以处理长文本的上下文信息,通过构建一个词语序列标注模型来进行分词。
    • BERT、GPT 等预训练模型:这类模型捕获了丰富的上下文信息和语义关系,经过微调后可用于分词任务,尤其在处理复杂语境和歧义问题上表现优异。

分词有哪些应用场景?

分词在自然语言处理(NLP)的多个应用场景中起着重要的作用。以下是一些主要的应用场景:

1. 文本分类

2. 搜索引擎

3. 信息抽取

4. 机器翻译

5. 对话系统和聊天机器人

6. 文本摘要

7. 知识图谱构建

8. 推荐系统

9. 舆情分析和社会媒体监控

10. 语音识别

上一篇 下一篇

猜你喜欢

热点阅读