本仓库包含了一系列工具的源码、数据以及CI脚本,用于从维基百科的全文备份验证指定词条列表文件的出现频率,从而获得输入法的高质量词条。
大量非常用词条出现在候选列表中是一件非常令人不爽的事情。我称之为“废词”。
如果直接把维基百科的词条列表作为一个词库,就会引入大量废词。
那么如何减少废词呢?我之前给出的答案是使用正则、黑名单、白名单以及根据经验构建的一系列算法来过滤废词。
但是产生的效果是有限的;因此我又使用了新的理论:使用词频去筛选低频词条。
那么应该如何筛选呢?我有两个基本思路:1. 使用搜索引擎检索词条,结合返回的总页数、前N页缩略内容精确匹配到完整词条的比例,判断这个词条是否是常用词条。 2. 使用维基百科全文来验证这些词条。 由于搜索引擎对访问频率有限制,所以方式1不可行,那么就需要实践方式2了。
考虑到1个词条出现在10篇文章中各出现1次,要远比在1篇文章中出现10次重要,因此我选择了统计每个词条出现在多少篇文章中的统计方式。
以下简述了人工和CI所做的事情
<doc></doc>包裹的xml内容为每行一篇纯文本,处理过程清除一部分无效文本,并从中提取形如{H|zh-cn:计算机; zh-sg:电脑; zh-tw:電腦;}的内容为字典。merge_csv.py合并多个csv的数据为一个文件merge_csv.py合并词频,从而叠加简繁词频统计;根据阈值输出合格词条。作为副产物,输出*.freq.csv文件统计每个词频值对应多少个词条目前数据保存于ci的Artifacts中。包含:
wiki_result_*_1从中获取未作简繁转换的merge.csv,通过scripts/postprocess.bat(其中的路径需要手动调整)对文件简繁转换、过滤词频以及其他处理。國樂團{tab}民乐团{space}民族乐团的词条,定义了國樂團转换为民乐团,而民族乐团作为注释,提示在这里定义了转换惯例,并且不影响正常转换的结果。评估 input.txt 的词条,结果保存到 output.csv