二元分词和中文分词

本文介绍了二元分词和中文分词的概念,探讨了语言模型在处理句子概率计算时的数据稀疏和计算代价问题。通过马尔科夫链理论,解释了二元语法模型,并提出平滑策略解决数据稀疏。还提到了中文分词的常用语料库以及HanLP分词器的工作方式。
摘要由CSDN通过智能技术生成

二元分词和中文分词

语言模型

模型:对事物的数学抽象。
语言模型:对语言现象的数学抽象,准确的讲,给定一个句子 w,语言模型就是计算句子的出现概率 p(w) 的模型,而统计的对象就是人工标注而成的语料库。

例如:

商品 和 服务
商品 和服 物美价廉
服务 和 货币

P(商品 和 服务)= P(商品 和服 物美价廉)= P(服务 和 货币)=1/3,然后其他句子的概率都为0,语言模型的建立:
在这里插入图片描述
这时就出现下列问题:

问题
1.数据稀疏:长度越大的句子越难出现,可能统计不到频次,导致句子出现的概率为0。
2.计算代价大:k (句子中的单词)越大,需要存储的 p 就越多,即便用上字典树索引,依然代价不菲。

问题解决:(将句子分解成一个一个的单词进行统计句子)
马尔科夫链:需要使用马尔可夫假设

在这里插入图片描述
来简化语言模型,给定时间线上有一串事件顺序发生,假设每个事件的发生概率只取决于前一个事件,那么这串事件构成的因果链被称作马尔可夫链,由此衍生出二元语法模型:每个单词的出现仅仅依靠前一个单词。

在这里插入图片描述

类似的n元语法:每个单词的概率仅仅取决于该单词之前的n个单词。

在这里插入图片描述

特别地,当 n=1 时的 n 元语法称为一元语法 ( unigram);当 n=3 时的 n 元语法称为三元语法(tigam); n≥4时数据稀疏和计算代价又变得显著起来,实际工程中几乎不使用。

数据稀疏与平滑策略
对于n元语法模型,n越大,数据稀疏问题越严峻。比如上述语料库中“商品 货币”的频次就为0。一个自然而然的解决方案就是利用低阶 n 元语法平滑高阶n 元语法,所谓平滑,就是字面上的意思:使n元语法频次的折线平滑为曲线。最简单的一种是线性插值法:
在这里插入图片描述
中文分词语料库

  1. 《人民日报》语料库 PKU
  2. 微软亚洲研究院语料库 MSR
  3. 香港城市大学 CITYU(繁体)
  4. 台湾中央研究院 AS(繁体)

训练和预测
训练指的是统计二元语法频次以及一元语法频次,有了频次,通过极大似然估计以及平滑策略,我们就可以估计任意句子的概率分布,即得到了语言模型。这里以二元语法为例:
语料库:my_cws_corpus.txt。内容如下:

商品 和 服务
商品 和服 物美价廉
服务 和 货币

代码:

from pyhanlp import *
from jpype import JString

## 加载 JAVA 类
CorpusLoader = SafeJClass('com.hankcs.hanlp.corpus.document.CorpusLoader')
NatureDictionaryMaker = SafeJClass(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值