尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

dict_build输出解读:词频、互信息、左右熵、位置概率四列字段完全攻略

dict_build输出解读:词频、互信息、左右熵、位置概率四列字段完全攻略 dict_build输出解读词频、互信息、左右熵、位置概率四列字段完全攻略【免费下载链接】dict_build自动构建中文词库http://www.matrix67.com/blog/archives/5044项目地址: https://gitcode.com/gh_mirrors/di/dict_builddict_build 是一个自动构建中文词库的开源工具它从原始文本中无监督地抽取候选词并在运行结束后输出一个名为words_sort.data的结果文件。这篇文章将带你逐列拆解 dict_build 输出文件中的四个核心字段——词频、互信息、左右熵、位置成词概率用真实示例讲清楚每个数字代表什么、怎么读以及如何用它筛选出高质量词条堪称一份面向新手的字段完全攻略。一、输出的文件在哪里快速找到 words_sort.data运行./dict_build 你的数据文件的绝对路径之后结果文件words_sort.data会出现在数据文件的同目录下。比如你处理的文件是/data/raw.txt那么结果就在/data/words_sort.data。注意数据文件必须是UTF-8 编码否则中文会乱码。相关的启动入口在 Main.java整个构建流程由 FastBuilder.java 完成。二、输出文件的行结构一行就是一个词条文件每行一个词条字段之间用Tab 制表符分隔共 5 列词、词频、互信息、左右熵、位置成词概率。README 中常说的四列字段指的是除词本身之外的四个统计指标。以《金瓶梅》抽取结果为例词词频互信息左右熵位置成词概率西门庆47546.722.030.17潘金莲2888.272.490.35两银子4586.122.350.38三、词频字段判断一个词出现的绝对次数词频是候选词在语料中出现的总次数它是四列中最直观的一个指标。dict_build 会先生成 ngram 并统计频率在 FastBuilder.java 的genFreqRight方法中完成。频率越高说明这个词在文本中的存在感越强。注意高频不等于高质量像如今今日这类高频但信息量低的词需要结合后面几个指标一起看。四、互信息字段衡量字与字是否抱团互信息PMI衡量的是字与字之间的凝聚程度——两个字如果总是固定一起出现互信息就高。计算逻辑在 FastBuilder.java将候选词拆成左右两部分用整体频率除以左右部分频率乘积的比值取对数。比如潘金莲的互信息高达 8.27说明这三个字高度绑定几乎不会单独拆开使用。互信息越高词内部越团结。五、左右熵字段衡量词的边界自由度左右熵是判断一个词左右能否搭配丰富多样的字。如果西门后面几乎只跟庆那西门的右熵就低反之如果后面能接很多不同的字右熵就高。dict_build 分别计算左熵和右熵最终取两者中的较小值见mergeEntropy方法FastBuilder.java。左右熵越大说明这个词两端自由度高、边界清晰更可能是真正的词而不是偶然组合。六、位置成词概率字段利用字的位置偏好加分这个指标利用了汉字在词中的位置分布规律有些字天然喜欢出现在词首如相贵有些喜欢出现在词尾如们了。dict_build 内置了一份 pos_prop.txt 位置概率表由 PosProbability.java 根据搜狗词典统计生成记录每个字作为词首S、词中M、词尾E的概率。输出时取首字词首概率与尾字词尾概率的较小值概率越高说明该词首尾搭配越符合语言习惯。七、四列字段的筛选阈值如何圈出高质量词条dict_build 并不是把所有候选词都输出而是设置了硬性过滤条件FastBuilder.java互信息≥ 1左右熵≥ 2位置成词概率≥ 0.1只有同时满足这三个条件的 ngram 才会被写入结果文件之后按词频降序排序输出。所以你在 words_sort.data 中看到的每一个词都已经通过了凝聚度 边界自由度 位置合理性三重检验。八、实战解读从《西游记》结果看字段意义看一段《西游记》的抽取结果唐僧 1003 7.07 4.35 0.43。词频 1003 说明全书出现上千次互信息 7.07 说明唐僧绑定牢固左右熵 4.35 是较高值因为唐僧前后可以接大量不同词语位置概率 0.43 表明唐常作词首、僧常作词尾完全符合唐僧作为专有名词的特征。四列指标全部达标这样的词条就可以放心加入你的中文词库。结语dict_build 的 words_sort.data 输出文件虽然只有五列但每一列都承载着一种无监督成词的核心思想。理解了词频、互信息、左右熵、位置成词概率这四列字段的含义你就能从原始文本中高效提取高质量中文词库无论是做分词、搜索引擎还是文本分析都能派上大用场。完整的成词条件说明见 README.md动手跑一遍《金瓶梅》或《西游记》语料你会更快掌握这份攻略。【免费下载链接】dict_build自动构建中文词库http://www.matrix67.com/blog/archives/5044项目地址: https://gitcode.com/gh_mirrors/di/dict_build创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表