| 投稿信箱:zhongjiaobei@vip.126.com

当前位置:首页 > 获奖作品
摘要: 搜狗自定义短语是通过特定字符串来输入自定义好的文本,本文根据搜狗自定义短语输入法设置规则,对客户电子信息利用Visual Foxpro程序重新定义词句外码,使用Excel公式功能生成符合搜狗自定义短语规则的用户自定义词句,实现信息的高速准确录入。教学中,教师精心设疑解惑,密切联系现实生活,一方面拓宽了教学空间,另一面让学生在问题中探索发现,培养学生的创新能力。

 

关键词:搜狗自定义短语 外码 VF Excel公式

随着信息技术和网络技术的飞速发展,现在几乎所有的信息管理系统都是基于WEB的,为提高对客户信息录入的速度和准确率,笔者在教学中作了一些实证性探索和教学尝试,通过反复的实验运行,总结出使用Visual Foxpro对用户自定义词句重新定义外码,利用Excel公式生成符合“搜狗自定义短语”规则的用户自定义词句,实现用户自定义词句的快速、高效、准确录入。

一、使用搜狗自定义短语的背景

现在的信息管理系统几乎都是基于WEB的,如各类考试报名系统、企事单位的人事档案管理系统、中职院校的助学金管理系统、学籍注册管理系统等。其中全国成人高考报名系统、全国在职研究生报名系统都是先网上填报,再现场确认。

这些信息管理系统大都不提供数据批量导入功能,若这些客户信息不是由客户本人来填报,而是由单位、学校或教学点来集中填报,那么,在规定时间内正确的录入大量数据,对信息填报员是一个巨大的考验。信息填报员一方面要把已经整理好的客户电子信息在网上机械的重新录入,另一方面还要进行繁琐的数据校对。尤其是在录入像“身份证号”等较长数据信息时,录入要小心翼翼,校验要费时耗力。

二、搜狗自定义短语与细胞词库

搜狗拼音输入法是2006年6月由搜狐(SOHU)公司推出的一款Windows平台下的汉字拼音输入法,是基于搜索引擎技术的。搜狗拼音输入法打破了传统输入法的思路,适应语言的发展,研究网民的用词习惯、宽容的吸纳并接受互联网新生事物,并以此调整输入法词频及中文处理的算法,使其方便用户使用。

1.细胞词库是搜狗首创的、开放共享、可在线升级的细分化词库的功能名称。细胞词库相对于系统默认词库而言的,其意义是满足用户的个性化输入需求。一个细胞词库就是一个细分类别的词汇集合,细胞词库的类别可以是某个专业领域(如医学领域词库),也可以是某个地区(如北京地名词库)。

2.自定义短语是通过特定字符串来输入自定义好的文本,可以通过输入框的拼音串上的“添加短语”,或者候选项中的短语项的“编辑短语”来进行短语的添加、编辑和删除。设置自己常用的自定义短语可以提高输入效率,例如使用“yd,1=ydwx@sogou.com”自定义短语输入“yd”,然后按下空格就输入“ydwx@sogou.com”。使用“sfz,1=370723197511294935”自定义短语输入“sfz”,然后按下空格就可以输入370723197511294935。

3.“自定义短语”与“细胞词库”相比,两者均可以为用户词句重新定义外码,以实现词句的快速录入。细胞字库适用于具有一定规律并能相对稳定、长期使用的词句;自定义短语则可根据用户需要,随时随地对使用的词句重新定义外码。

笔者通过Visual Foxpro对客户信息按照搜狗自定义短语设置规则重新定义外码,将用户自定义短语置入到phrases.ini(搜狗自定义短语配置文件)文件中,即可实现客户信息的快速高效准确录入。

三、VF为用户自定义词句定义外码

1.本例以“客户信息表”(表1)为例,为表中的每条记录重新定义外码。

表1   客户信息表   A B C D E F G H I J 1 考生特征信息 VF编码 符合自定短语规则的用户自定定义词句 2 姓名 出生日期 身份证号 学校 拼音 重定义外码 姓名短语 日期短语 身份证短语 学校短语 3 徐春燕 1989-02-23 370781198902233329 华中科技大学 xcy xcyaaa xcyaaa,1=徐春燕 xcyaaa,2=1989-02-23 xcyaaa,3=370781198902233329 xcyaaa,4=华中科技大学 4 陈晓 1988-07-27 370781198807275408 青岛大学 cx cxaaa cxaaa,1=陈晓 cxaaa,2=1988-07-27 cxaaa,3=370781198807275408 cxaaa,4=青岛大学 5 张卫 1993-09-24 320682199309246125 福建医科大学 zw zwaaa zwaaa,1=张卫 zwaaa,2=1993-09-24 zwaaa,3=320682199309246125 zwaaa,4=福建医科大学 6 刘晓煜 1989-10-19 370781198910193144 四川大学 lxy lxyaaa lxyaaa,1=刘晓煜 lxyaaa,2=1989-10-19 lxyaaa,3=370781198910193144 lxyaaa,4=四川大学 7 侯晓敏 1991-06-24 370703199106243724 吉林大学 hxm hxmaaa hxmaaa,1=侯晓敏 hxmaaa,2=1991-06-24 hxmaaa,3=370703199106243724 hxmaaa,4=吉林大学 8 柳晓云 1990-07-23 370285199007230466 兰州大学 lxy lxyaab lxyaab,1=柳晓云 lxyaab,2=1990-07-23 lxyaab,3=370285199007230466 lxyaab,4=兰州大学 9 李晓颖 1987-12-30 370786198712304220 华中科技大学 lxy lxyaac lxyaac,1=李晓颖 lxyaac,2=1987-12-30 lxyaac,3=370786198712304220 lxyaac,4=华中科技大学 10 侯小敏 1987-08-20 370783198708202724 兰州大学 hxm hxmaac hxmaac,1=侯小敏 hxmaac,2=1987-08-20 hxmaac,3=370783198708202724 hxmaac,4=兰州大学 注:“拼音”为考生“姓名”每个汉字第一个拼音字母的组合。

2.重新定义用户词句的外码,消除记录间使用“拼音”作为外码的重码现象。

通过观察此表,我们发现若直接使用姓名的“拼音”作为“外码”,会出现重码现象,不但客户信息表中有重码,而且与搜狗输入法系统内部有重码,见表2。

表2   重码表 拼音 客户信息表中的重码 客户信息与搜狗系统的重码 lxy 刘晓煜 柳晓云 李晓颖 流星雨 流行语 hxm 侯晓敏 侯小敏   好羡慕 很羡慕   为解决重码现象,我们在已有拼音字段的基础上再加上识别码,新外码编码规则为:

拼音    +      aa    +     识别码      =  新外码

记录的原拼音  字符串常量   识别码(A—Z) 拼音:为考生特征信息表中原有拼音,即表1中的“拼音”栏。 字符串常量:“aa”为常量,有意加长外码长度,使生成的新外码不和搜狗拼音输入法内部已有外码重码。用户可以根据需要确定自己的字符串常量。 识别码:对有拼音重码的使用26个英文字母重新顺序编码作为识别码,消除重码现象。即拼音为“lxy”的第一条记录外码重定义为“lxy aa a”, 第二条记录为“lxy aa b”,第三条记录为“lxy aa c”,依次类推。重定义后的外码如表3或表1的“重定义外码”栏。 说明:本例中的客户信息表中的记录拼音的重码数不超过26个,若超过26,就需要用两位字母来编码识别。  

表3   重定义的外码 姓名 刘晓煜 柳晓云 李晓颖 原外码 lxy lxy lxy 重定义的外码 lxyaaa lxyaab lxyaac   3.VF编码生成新“拼音”外码

使用VF文件菜单中的“导入”功能,将客户信息表(表1,EXCEL格式)导入为DBF格式文件。以导入生成的数据表bmk.dbf为例编写如下程序,实现自动化生成新外码。

use bmk

repl all new_py with ""

go top

do while not eof()

m=recno()  记录当前记录的记录号

i=1

py= original_py   

locate all for original_py=py

do while not eof()  利用循环对拼音重码的记录顺序分配a至z识别码

repl new_py with alltrim(original_py)+"aa"+chr(asc("a")-1+i)

拼音    +      aa    +     识别码      =  新外码

记录的原拼音  字符串常量   识别码(A—Z)    

original_py               chr(asc("a")-1+i)   new_py 双括号:     拼音    +      aa    +     识别码      =  新外码
记录的原拼音  字符串常量   识别码(A—Z)     
original_py               chr(asc("a")-1+i)   new_py
    

i=i+1

if i>26 then

?"客户信息表中拼音重码超过26人,请使用两位字母编码"

return

endif

continue

enddo

go m

skip

定位到刚才使用变量m记录下的记录号,利用循环对已分配了识别码的记录直接跳过

do while not eof()  and alltrim(new_py)<>""

skip

enddo   

enddo

注:(1)bmk为客户信息表(表1,EXCEL表)导入后的VF数据表

(2)original_py对应于客户信息表(表1)中的“拼音”栏

(3)new_py对应于客户信息表(表1)中的“重定义外码”栏

四、生成同一客户信息数据的重码

1.利用重码现象将同一客户的个人信息共用一个外码,即输入时出现在同一个提示条中,从而提高输入速度,实现后的效果如图1。

      

图1  信息录入时的效果图

2.实现方法:首先将VF程序生成的新外码转化到EXCEL中去,见表1中的“重定义外码”栏,然后根据搜狗“自定义短语设置”规则,在EXCEL中的相应单元格中分别录入对应公式,使同一客户信息共用一个外码,本例公式为: 单元格 单元格公式 单元格公式计算结果 G3 =$F3 & "," & "1=" & A3 xcyaaa,1=徐春燕 H3 =$F3 & "," & "2=" &B3 xcyaaa,2=1989-02-23 I3 =$F3 & "," & "3=" &C3 xcyaaa,3=370781198902233329 J3 =$F3 & "," & "4=" &D3 xcyaaa,4=华中科技大学    

五、用户自定义短语置入搜狗配置文件

搜狗自定义短语在设置选项的【高级】选项卡中,默认开启。点击【自定义短语设置】,进入【直接编辑配置文件】,将自定义好的各列数据分别复制到phrases.ini文件中即可。

学习知识就是为了更好的提高自身的知识素质,并能不断的应用知识去分析和解决实际问题,为使学生能够活学活用知识,使其感觉学有所用,学有所为,在运用和发展知识的过程中,体验到创新的乐趣。本堂课在教学过程中,以信息录入和搜狗自定义短语为切入点,以VF程序开发为讲解重点,精心设疑,引起学生积极思考,进而温故旧知识,解决新问题。通过本堂课使学生更深入了解搜狗输入法的功能和程序开发的现实意义,激发了学生学习计算机语言的兴趣。同时,本堂课联系现实生活,拓宽了教学空间,让学生在问题中探索发现,培养了学生的创新能力。