前言
先列出来几个概念:
- 信息熵:变量的混乱程度,公式,熵越大表示混乱程度越大。
- 互信息:表示两个变量X与Y相关性的强弱,越大表示X和Y的相关性越强。
- 点互信息:点互信息表示两个元素相关性的强弱,越大表示两个元素相关性越强,点互信息公式 点互信息加权就是互信息。
正文
对于一句话,“你回家了嘛”,会中文的我们知道“回家”是一个词汇,假设我们在不懂中文的情况下,如何从中识别出“回家”这个词呢。
直观上思考,如果要使“回家”单独成词,那么需要包含如下特征:
- 回家 这个词在大规模语料中出现的频次高。
- 回|家 必须比较牢固(凝合度够大)。不能是两个没有关系的词,比如“你的”这个词出现的频率很高,但是并不牢固。
- 回家 这个词的左边和右边可以有大批组合词(自由度够大)。比如我爱俄罗斯;我不爱吃俄罗斯的食物。
对于上面这些直观的想法,我们把它转换成数学语言:
- 统计在大规模语料中,“回家”这个词出现的频率。
- 统计“回家”这个词的点互信息衡量聚合度,这个聚合度要足够大。回家的点互信息公式:。
- 统计“回家”左边和右边较小的熵衡量自由度,这个自由度要足够大。比如回家左边跟着一堆的字,这些字的熵是a;右边跟着一堆的字,这些字的熵是b,取作为结果。
得到了上面三个值:频率,聚合度,自由度。接下来要做的就是根据设定的阈值来进行筛选了。
下面这个是参考别人的阈值选择:
具体阈值选择,不同语料会有较大差异。
网络blog上介绍的经验公式(30M文本,字母 n 表示 n-gram 即相关新词包含的字数):
词频>200, 凝固度>,自由度>1.5
词频>30, 凝固度>也能发现很多低频的词汇
网友评论