关于中文处理方面的研究
中文的处理,越来越多的在应用当中体现,比如:输入法,比如:拼音查询,比如:中文分词,比如语言翻译,等等,这都离不开中文处理。 在国内,中文分词已经有许多实现,应该说,他们做的已经非常好,直接使用他们的实现就可以了。但是由于我们的要求更多一些,因此还是自己做了一个实现。
- 需要提供自定义词库能力
- 需要提供词性描述能力
- 需要提供权重调整能力
- 需要提供同义词描述能力
- 需要提供反义词描述能力
- 需要提供拼音描述能力
- 需要有高效准确的分词能力
也就是说,词库不能是做死的,必须能够方便的进行扩展
词性描述便于进行语法分析,当然,也便于提升分词准确性
词在不同的应用场景中,重要度是不同的,通过调整词的权重可以大幅度提升分词的准确性
同义词与反义词可以提升查询的准确性及灵活性
拼音可能为拼音搜索提供支持,也可以在自动生成用户帐号,代码等方面提供方便,当然如果要做tts系统,这个就更重要了。
下面就是几个词的描述,同义词,反义词没有配表示没有,pinyin没有表示取默认的拼音即可。
1 2 3 4 5 6 7 8 9 10 |
<word word="扰乱" partOfSpeech="v" weighing="3" thesaurus="" antonym="" pinyin="" /> < word word="河道" partOfSpeech="n" weighing="3" thesaurus="" antonym="" pinyin="" /> < word word="中试厂" partOfSpeech="j" weighing="7" thesaurus="" antonym="" pinyin="" /> < word word="注解" partOfSpeech="n" weighing="3" thesaurus="" antonym="" pinyin="" /> < word word="开放型" partOfSpeech="b" weighing="7" thesaurus="" antonym="" pinyin="" /> < word word="洪臣" partOfSpeech="n" weighing="3" thesaurus="" antonym="" pinyin="" /> < word word="黑红" partOfSpeech="z" weighing="3" thesaurus="" antonym="" pinyin="" /> < word word="战备" partOfSpeech="v" weighing="3" thesaurus="" antonym="" pinyin="" /> < word word="礼让" partOfSpeech="v" weighing="3" thesaurus="" antonym="" pinyin="" /> < word word="白手起家" partOfSpeech="i" weighing="9" thesaurus="" antonym="" pinyin="" /> |
在分词方法上,我们采用了前序和后序两种分词方式。
测试词库,我们有两种,一种是直接采用五笔字型输入法的词库,词组数为67340
另外,也可以使用1998年的国标词库,词组数为:51106
当然,也可以方便的添加自定义词库,添加过程非常简单,只要按规范编写好词库就可以了,不必另外写代码添加。也可以通过API添加,比如:把人名、地名作为词库添加,可以大大提高分词的准确性。
测试数据:
在添加了67340+51106两个词库之后,分词效率在普通笔记本上,可以每秒分词2M多,后面会补一个专门的测试数据列表出来。
准确性分析:
标准语料库内容
1 2 3 4 5 6 7 8 |
19980131-03-008-001/m 『/w 回家/v 的/u 感觉/n 真/d 好/a 』/w 19980131-03-008-002/m 本报/r 驻/v 日本/ns 记者/n 于/nr 青/nr 19980131-03-008-003/m 欢聚/v 使馆/n 喜迎/v 新春/t ,/w 留/v 日/j 学子/n 年年/q 如此/r 。/w 1月/t 23日/t ,/w 近/a 300/m 名/q 中国/ns 留学人员/n 前来/v 出席/v [中国/ns 驻/v 日/j 大使馆/n]nt 举办/v 的/u 春节/t 招待会/n ,/w 兴高采烈/i 地/u 送/v “/w 牛/n ”/w 迎/v “/w 虎/n ”/w 。/w 使馆/n 临时代办/n 武/nr 大伟/nr 向/p 大家/r 拜年/v ,/w 教育/vn 参赞/n 曲/nr 德林/nr 向/p 大家/r 慰问/v 祝酒/v ,/w 使馆/n 大厅/n 响起/v 阵阵/q 掌声/n ,/w 充满/v 欢声笑语/l 。/w 19980131-03-008-004/m 辞旧迎新/l 之际/f ,/w 是/v 抚今追昔/i 之/u 时/Ng 。/w 回首/v 牛年/t 令/v 人/n 心潮难平/l ,/w 难忘/v 庆祝/v 香港/ns 回归/v 的/u 不眠之夜/l 、/w [中共/j 十五大/j]nz 举世瞩目/i 。/w 有人/r 说/v 起/v ,/w 去年/t 是/v 毛/nr 主席/n 接见/v 留/v 苏/j 学生/n 并/c 发表/v “/w 希望/v 寄托/v 在/p 你们/r 身上/s ”/w 著名/a 演说/vn 40/m 周年/q ,/w 对/p 海外/s 学子/n 来说/u 是/v 值得/v 纪念/v 的/u 一/m 年/q ;/w 又/c 有人/r 说/v 起/v ,/w 去年/t 是/v 中/j 日/j 邦交/n 正常化/vn 25/m 周年/q ,/w 对/p 留/v 日/j 学子/n 来说/u 又/d 多/a 了/u 一/m 分/q 喜庆/v 的/u 一/m 年/q ;/w 还/d 有人/r 说/v 起/v ,/w 去年/t 是/v 祖国/n 农业/n 大/d 丰收/v 的/u 一/m 年/q ,/w 蔬菜/n 水果/n 物美价廉/l 。/w 19980131-03-008-005/m 辞旧迎新/l 之际/f ,/w 也/d 是/v 展望/v 未来/t 之/u 时/Ng 。/w 大家/r 你一言我一语/l 议论/v 着/u :/w 今年/t 是/v 中/j 日/j 和平/a 友好/a 条约/n 缔结/v 20/m 周年/q ,/w /nr /nr 主席/n 年内/t 将/d 来/v 日/j 访问/v ,/w 这/r 是/v 中国/ns 国家/n 元首/n 首/m 次/q 访问/v 日本/ns ,/w 衷心/d 希望/v 中/j 日/j 关系/n 稳定/a 健康/a 不断/d 发展/v ;/w 今年/t 是/v 中国/ns 实行/v 改革/v 开放/vn 政策/n 20/m 周年/q ,/w 国家/n 继续/v 贯彻/v “/w 支持/v 留学/v ,/w 鼓励/v 回国/v ,/w 来去/v 自由/a ”/w 的/u 方针/n ,/w 海外/s 学子/n 应该/v 为/p “/w 科教兴国/l ”/w 刻苦/ad 学习/v ,/w 多/ad 做/v 实事/n ,/w 贡献/v 力量/n 。/w 19980131-03-008-006/m 海外/s 学子/n 聚会/v 也/d 是/v 交流/v 信息/n 的/u 机会/n 。/w 那位/r 刚/d 从/p 国内/s 回来/v 的/u 学生/n 说/v ,/w 现在/t 国内/s 收视率/n 最高/a 的/u 是/v 电视/n 连续剧/n 《/w 水浒传/nz 》/w ,/w 最/d 流行/v 的/u 歌词/n 是/v “/w 路/n 见/v 不/d 平/a 一/m 声/q 吼/v ,/w 该/v 出手/v 时/Ng 就/d 出手/v ”/w ;/w 还/d 听说/v ,/w 一/m 位/q 搞/v 摄影/v 的/u 在/p 台湾/ns 举行/v 的/u 作品展/n 圆满/ad 成功/a ,/w 另/r 一/m 位/q 搞/v 摄影/v 的/u 将/d 在/p 维也纳/ns 举办/v 作品展/n ;/w 这/r 位/q 从/p 使馆/n 教育处/n 获悉/v ,/w 去年/t 从/p 日本/ns 回国/v 的/u 留学人员/n 总计/v 1623/m 人/n ,/w 其中/r 博士生/n 266/m 人/n ,/w 硕士生/n 224/m 人/n ;/w 另/r 一/m 位/q 说/v ,/w 一些/m 在/p 日/j 就职/v 的/u 中国/ns 留学人员/n 正在/d 酝酿/v 成立/v 社会/n 团体/n ,/w 制订/v 为/p 国/n 服务/vn 规划/n 。/w 19980131-03-008-007/m 海外/s 学子/n 聚会/v 也/d 是/v 抒发/v 思乡/v 爱国/a 情怀/n 的/u 时候/n 。/w 他们/r 唱歌/v 时/Ng 都/d 是/v 那么/r 投入/a ,/w 那么/r 动情/v 。/w 《/w 草原/n 之/u 夜/Tg 》/w 、/w 《/w 长江/ns 之/u 歌/n 》/w 、/w 《/w 在/p 希望/v 的/u 田野/n 上/f 》/w 让/v 人/n 怀念/v 故乡/n ;/w 《/w 达坂城/ns 的/u 姑娘/n 》/w 、/w 《/w 拉/v 骆驼/n 的/u 黑/a 小伙/n 》/w 、/w 《/w 父老乡亲/l 》/w 令/v 人/n 思念/v 家人/n ;/w 《/w 我/r 和/c 我/r 的/u 祖国/n 》/w 、/w 《/w 我/r 爱/v 你/r 中国/ns 》/w 使/v 人/n 爱国/a 之/u 情/n 在/p 胸中/s 激荡/v 。/w 19980131-03-008-008/m “/w 到/v 使馆/n 就/d 是/v 到/v 家/n 了/y ”/w ,/w 看/v 着/u 餐桌/n 上/f 的/u 春卷/n 、/w 麻团/n 、/w 水饺/n ……/w “/w 回家/v 的/u 感觉/n 真/d 好/a !/w ”/w 一/m 位/q 留学生/n 自言自语/i 地/u 说道/v 。/w (/w 本报/r 东京/ns 1月/t 26日/t 电/n )/w |
测试的输入文本,为了增加难度,我们去掉所有的标点英文数字,仅留一行中文:
1 | 回家的感觉真好本报驻日本记者于青欢聚使馆喜迎新春留日学子年年如此月日近名中国留学人员前来出席中国驻日大使馆举办的春节招待会兴高采烈地送牛迎虎使馆临时代办武大伟向大家拜年教育参赞曲德林向大家慰问祝酒使馆大厅响起阵阵掌声充满欢声笑语辞旧迎新之际是抚今追昔之时回首牛年令人心潮难平难忘庆祝香港回归的不眠之夜中共十五大举世瞩目有人说起去年是毛主席接见留苏学生并发表希望寄托在你们身上著名演说周年对海外学子来说是值得纪念的一年又有人说起去年是中日邦交正常化周年对留日学子来说又多了一分喜庆的一年还有人说起去年是祖国农业大丰收的一年蔬菜水果物美价廉辞旧迎新之际也是展望未来之时大家你一言我一语议论着今年是中日和平友好条约缔结周年主席年内将来日访问这是中国国家元首首次访问日本衷心希望中日关系稳定健康不断发展今年是中国实行改革开放政策周年国家继续贯彻支持留学鼓励回国来去自由的方针海外学子应该为科教兴国刻苦学习多做实事贡献力量海外学子聚会也是交流信息的机会那位刚从国内回来的学生说现在国内收视率最高的是电视连续剧水浒传最流行的歌词是路见不平一声吼该出手时就出手还听说一位搞摄影的在台湾举行的作品展圆满成功另一位搞摄影的将在维也纳举办作品展这位从使馆教育处获悉去年从日本回国的留学人员总计人其中博士生人硕士生人另一位说一些在日就职的中国留学人员正在酝酿成立社会团体制订为国服务规划海外学子聚会也是抒发思乡爱国情怀的时候他们唱歌时都是那么投入那么动情草原之夜长江之歌在希望的田野上让人怀念故乡达坂城的姑娘拉骆驼的黑小伙父老乡亲令人思念家人我和我的祖国我爱你中国使人爱国之情在胸中激荡到使馆就是到家了看着餐桌上的春卷麻团水饺回家的感觉真好一位留学生自言自语地说道本报东京月日电 |
分词的结果:
1 | 回家 的 感觉 真 好 本报 驻 日本 记者 于 青 欢聚 使馆 喜迎 新春 留 日 学子 年年 如此 月 日 近 名 中国 留学人员 前来 出席 中国 驻 日 大使馆 举办 的 春节 招待会 兴高采烈 地 送 牛 迎 虎 使馆 临时代办 武 大伟 向 大家 拜年 教育 参赞 曲 德林 向 大家 慰问 祝酒 使馆 大厅 响起 阵阵 掌声 充满 欢声笑语 辞旧迎新 之际 是 抚今追昔 之 时 回首 牛年 令 人 心潮难平 难忘 庆祝 香港 回归 的 不眠之夜 中共 十五大 举世瞩目 有人 说 起 去年 是 毛 主席 接见 留 苏 学生 并 发表 希望 寄托 在 你们 身上 著名 演说 周年 对 海外 学子 来说 是 值得 纪念 的 一 年 又 有人 说 起 去年 是 中 日 邦交 正常化 周年 对 留 日 学子 来说 又 多 了 一 分 喜庆 的 一 年 还 有人 说 起 去年 是 祖国 农业 大 丰收 的 一 年 蔬菜 水果 物美价廉 辞旧迎新 之际 也 是 展望 未来 之 时 大家 你一言我一语 议论 着 今年 是 中 日 和平 友好 条约 缔结 周年 主席 年内 将 来 日 访问 这 是 中国 国家 元首 首 次 访问 日本 衷心 希望 中 日 关系 稳定 健康 不断 发展 今年 是 中国 实行 改革 开放 政策 周年 国家 继续 贯彻 支持 留学 鼓励 回国 来去 自由 的 方针 海外 学子 应该 为 科教兴国 刻苦 学习 多 做 实事 贡献 力量 海外 学子 聚会 也 是 交流 信息 的 机会 那位 刚 从 国内 回来 的 学生 说 现在 国内 收视率 最高 的 是 电视 连续剧 水浒传 最 流行 的 歌词 是 路 见 不 平 一 声 吼 该 出手 时 就 出手 还 听说 一 位 搞 摄影 的 在 台湾 举行 的 作品展 圆满 成功 另 一 位 搞 摄影 的 将 在 维也纳 举办 作品展 这 位 从 使馆 教育处 获悉 去年 从 日本 回国 的 留学人员 总计 人 其中 博士生 人 硕士生 人 另 一 位 说 一些 在 日 就职 的 中国 留学人员 正在 酝酿 成立 社会 团体 制订 为 国 服务 规划 海外 学子 聚会 也 是 抒发 思乡 爱国 情怀 的 时候 他们 唱歌 时 都 是 那么 投入 那么 动情 草原 之 夜 长江 之 歌 在 希望 的 田野 上 让 人 怀念 故乡 达坂城 的 姑娘 拉 骆驼 的 黑 小伙 父老乡亲 令 人 思念 家人 我 和 我 的 祖国 我 爱 你 中国 使 人 爱国 之 情 在 胸中 激荡 到 使馆 就 是 到 家 了 看 着 餐桌 上 的 春卷 麻团 水饺 回家 的 感觉 真 好 一 位 留学生 自言自语 地 说道 本报 东京 月 日 电 |
可以看出,通过对语料库创建词库之后,进行分词,可以说是一字不差。现在的词库还没有进行过任何优化调整,优化调整之后准确性还会有更大的提升。 当然了,拼音获取也不在话下:
1 2 3 4 |
List<String> r = pinYin.getPinYin("中的"); assertEquals(2, r.size()); assertEquals("zhong1", r.get(0)); assertEquals("de5", r.get(1)); |
从中也可以看到,确实找到了汉字对应的拼音。 当然,分了中文分词,不可能不去适配Lucene,已经做了lucene4.3.1的适配,所以在lucene中使用是完全没有问题的。