|
打造自己的巨硬0.98词库[原创][申请加精]
7 Y2 R7 {6 ~! ~' t8 T# t; R3 L2 R# |- a0 h: n+ C
& a4 b2 ~9 U% C# o之前发帖子问如何制作自己的巨硬词库,将如拼音加加的词库导入tero650的巨硬词库的方法,得到的答案是无法做到。经过不断的实践终于研究出一套方法。) a; b. v6 ^1 Q: \) ]
2 x4 u0 P* M' I! g先介绍一下巨硬对可导入词库的要求,请参照一下转自Uglee大侠的说明内容:% N1 Z5 @( D+ p4 ]/ w
! `2 q2 o. ]8 H- {, n6 n: r' w! w
............导入词语需要规定格式的文本文件。文件的格式为:每一行为一个字或者一个词,每个字后面紧接拼音,然后是一个空格,最后一个拼音后面没有空格,回车要使用Unix格式的"\n"而不是Mac的"\r"或者PC的"\r\n",你可以用Editplus一类的文本编辑器来实现这一点;文件的最后一行需要是一个空行。示例文件如下:
: V; |& u; j. h2 R0 ^4 A会hui- c( R) s, L8 k% b
工gong
2 [: u- j) e' W/ F8 P: W! D6 {经jing3 P: ?( x* Y u+ Z8 t% H
后hou 话hua
% A" E! y. l% e# l/ G喊han 话hua
' Z% j ?- y) n6 c4 X. _+ S% e$ a坏huai 分fen 子zi
; M* h9 O; o3 O- x- m3 G+ J1 o豪hao 富fu
0 f" q4 f, ^. p6 ~黑hei 户hu
E2 B }* V% c5 q3 E" D9 i花hua 好hao 月yue 圆yuan7 A% k. x, v* R
...........
4 z9 V, S. ~: k$ ~8 G3 T2 I9 h8 h* A2 ?7 {* k
1.对原始词库进行处理
/ @2 c; P$ P- t ~3 n' p* _4 U4 a9 H首先,我们当然应该先有拼音加加,紫光,搜狗。。。等输入法的txt词库,这些词库的格式是以换行为分隔符的txt文本文件,不论何种词库文件除了汉字以外都会包括部分英文字母(拼音)对词进行注音,我们需要将这些英文字母删除。在这里,我建议大家将词库中的所有词复制到Excel中操作(注意:直接从txt粘贴到excel就可以了,而无须用excel打开txt词库文件)例如:将所有的词粘贴在A列,然后用查找替代功能将26个字母分别替代一遍,替代的时候在“查找内容”一栏填上单个英文字母,“替换为”一栏什么都不用填,这样可以删掉所有的英文字母,当然26个字母需要替换26遍,如果有数字的话也需要用以上方法将数字删除。之所以用Excel进行替换而不用记事本的原因主要是Excel的替换速度会比记事本快10倍都不止,而且在后面的处理过程中还继续需要使用到Excel。5 h* O. r5 z& A8 V, q# |/ B
* Y* }& R' w$ e: f, {9 R8 s2 i) x巨硬输入法是不支持超过4个汉字的词组的,所有我们必须忍痛割爱将5字以上的词组删除。这里需要用到偶们丰富的Excel知识 。在B列第一行,也就是B1,输入以下内容:=Len(A1),这个公式是用来输出相关单元格的字符长度的,如果是2个汉字的词组就会输出值2,以此类推3个汉字的词组就是3,4个汉字就是4...........将所有词库中的所有词组都以此处理,确保每个词组旁都能输出改词组的长度。相信常用Excel的吹友都能明白我在说什么。然后用Excel中”数据“-》”筛选“-》自动筛选”的功能,将所有的大于4(注意不是大于5)的单元行都筛选出来,并进行删除。1 g; a( I5 V% U5 c
M$ w& w; [3 e: a1 b R# ]; m9 x
处理完后,将刚才自动筛选取消,以显示所有的词组,再选定A列中的词组单元格复制,粘贴到记事本中,这些我们最终需要的是一个只有汉字,每个词组都不超过4个汉字,且不带任何英文字母和数字,以回车为分隔符的txt词库文件。
; E: e& o4 K3 J# R1 }# @: |' E5 B5 m4 A5 u
2.对词库中的词加拼音+ y, e: T9 [! j; e! N+ U, \
这里需要用到的一个软件,叫做“实用汉字转拼音4.6”,大家在网上随便一搜就有了,无需安装是个绿色软件。将软件打开后,软件下面有5列单选/复选框以设置拼音转换的格式,设置方法如下:. T2 ?& T/ ~+ T* w! X
% q! ]/ T0 T' k; a/ y
第1列只选中“加上空格”( F! D# ^3 b! I: {0 A( g% Z/ P
( d) ^3 e0 D' q, }4 V
第2列只选中“左汉字友拼音”
5 R. U: R. n+ l3 f) S
; E6 s9 U4 H! o第3列只选中“全小写”( {9 i% i0 J3 O5 M- `7 {5 u
2 _1 T$ q( F0 e第4列和第5列什么都不用选
/ A: T" L. F+ I1 ~+ x8 c
- G! F0 A2 L. j- @将刚才处理过txt词库中的词直接就粘贴到“实用汉字转拼音”软件位于上部的文本框中,再点击“转换”按钮,再将转换的结果复制,粘贴到Excel的A列中。, v9 p# R- U) F( a* ~3 h
1 ?" z, ?7 [2 W8 @% N" `2 D/ [
* t3 h7 Q# S5 x$ Q5 j
9 Y, A0 b% k% f9 {5 p& EPS:我曾将3万行的词从txt文件中粘贴到这个软件中进行转换,出现了转换词不全的问题,这个软件好像只转了5000多行就没下文了,但有时候又没问题,可以一下转换2,3万个词 。有时候转换2,3万个词需要好几分钟,有时候就死机了,需要重新启动软件(不是重启电脑),重试几次就好了,所以大家在转换完拼音后需看看转换的最后一个词为标志,检查一下是否所有的词都转成拼音了。当然,如果各位大家的词库不大,不超过1万个词就不是什么问题了。: U+ N o0 ], W1 [6 N ^
' J# l8 p- a. u- T7 q7 C
5 I4 I K' m2 s& z
- K3 j' q9 g$ e* g! [# C0 y, j2 L% k1 T) _
3.对汉字+拼音的Excel文件进行处理
" s! k! u! Q; [+ e9 c1 S$ i% h) ~0 t! v) Q% X" t o9 M2 x' D
转完的汉字+拼音的词库,每个词内部的每个字是以空格分隔的,我们需要将每个词最后一个空格删除,这里再次需要运用我们丰富的EXCEL知识了。Excel确实是很NB的处理工具啊 。我处理的方法是这样的,在B1单元格中键入“xxx”,在C1中键入公式“=A1&B1“。解释一下这个公式,”&“这个字符的作用在于将两个单元格中显示(注意是显示的内容,不是实际内容)的内容的连接在一起显示出来。然后复制C1单元格,用选择性粘贴将C1的数值到D1单元格中(这个我就不再解释了,不明白的朋友去查Excel教程吧),其他词组照此处理,
; T) j" n6 ]9 q2 [ ?* H7 h1 l! g+ w4 P' G& }
) n4 S! \: a* u
$ _' Y' a6 m l; @% |接下来,我们要继续对D列的词组进行加工,再次使用替换功能,将D列的" xxx"(注意xxx前面有个空格) 全部删除。我再解释一下这个步骤的思路:如果直接对空格进行删除,会将词组内字与字之间的空格也删除了,所以我们先将每个词组后面加上个xxx这样的不可能出现在拼音中的字符串以对最后一个空格加上标识,然后再将” xxx"删除就可以成功的将每个词组末尾的空格删除了...不知道我说明白了没有 1 \! w) |% a+ h# X
4 n5 X, A+ H3 \
! S( f( n# E+ i. ~/ R7 m8 i
% Q0 `" {2 d0 I再将处理过的D列汉字+拼音的词组复制粘贴到记事本中,注意根据巨硬对可导入词组的要求,txt文件末尾要有个空行,保存关闭。
* E) ?' w! g# ^9 q' o) }! T" l& ]1 P C
5 u' w P1 Q T& {/ R
v6 Z. Y- b/ ~$ _" K4.对词库的分隔符进行转换
7 h& b; E# s8 ~4 Q0 M
9 S; [5 O3 w' T4 Q9 I1 c6 B; }& Z: C根据Uglee的说明文件:
3 j6 C% P# I5 _6 n- [0 K- p% T& A L# L) s: Y' y$ u7 ]
回车要使用Unix格式的"\n"而不是Mac的"\r"或者PC的"\r\n",你可以用Editplus一类的文本编辑器来实现这一点;文件的最后一行需要是一个空行。
' z5 y' x8 K& M" m! a2 X7 W6 D0 x
1 ]5 P, |5 A- x. l& \8 G
: X) n% ~* v2 B0 k+ }0 E
说实话,我也不明白为什么要怎么折腾..直接跟大家说如何操作吧,先下载Editplus,网上到处都有,随便哪里下都好。用Editplus打开刚才处理过的txt文本文件,选择Document --> File format (CR/LF)选项,在弹出的对话框里选Unix,然后保存关闭txt词库。% k: c5 e4 W' |5 K' ?
9 n4 {# q" H2 K: V' j
0 L m4 ~1 D+ W& r5 P6 |% H
/ P; `2 M" Y) O" ?/ `( k5.最后一布,文件改名放入储存卡
2 J# ^ @* l+ a4 ~% y. c8 }0 z) V9 N- E, R6 V. l
将处理后的txt文件改名为mhpyphrase.txt, 放入储存卡的palm/launcher 目录下,在650的巨硬设置界面中导入就好了.......
( s% U; M, X+ E) q; Z3 }0 N) H
我试过了,5万个词组的词库导入需要将近10分钟的时间。导入个人字库后的巨硬输入法输入有比较明显的延迟,我理所当然的认为这是因为导入的词库过大(超过10万个词,分2次导入的),但经过几次650和巨硬的重启后又不会出现延迟的情况了,用起来和平时没什么差别,不明白为什么..5 P3 ]) q& |+ x: T% K* y2 ^
; D6 D! @" V: @$ r
大家有什么问题就尽管问吧,不知道还有多少朋友用巨硬....... |
|