OPAC划词翻译功能的设计与实现
黎邦群
惠州学院图书馆 惠州 516007
摘要

针对当前书目数据中存在生僻字词、英语单词及网络词汇等疑难字词的现状,进行OPAC划词翻译功能的应用现状、需求分析、设计思路及其实现方法的研究。利用JavaScript、CSS、ASP和数据库相关技术对疑难字词进行选择、编辑、存储、翻译及更新,实现划词翻译功能,以增强OPAC的可用性、提升用户的使用体验。

关键词: OPAC; 划词翻译; 书目翻译; 字词翻译; 即时翻译
中图分类号:G250.7
Design and Implementation of the Zoned Word Translation Function of OPAC
Li Bangqun
Huizhou University Library, Huizhou 516007, China
Abstract

Due to the uncommon words of catalogue data, English words and network vocabularies, this paper studies the application status, demand analysis, design ideas, and realization methods of the zoned word translation function of OPAC. By selecting, editing, saving, translating,and updating the difficult words through the technologies of JavaScript, CSS, ASP and database, the function of the zoned word translation is implemented, which can enhance the availability of OPAC, and improve the user experience.

Keyword: OPAC; Zoned word translation; Catalogue translation; Word translation Instant translation

OPAC作为图书馆集成系统面向用户的窗口,是读者利用图书馆的第一门户,起着沟通用户与资源的作用,是图书馆所提供服务的核心展示部分。随着互联网的普及和翻译需求的日益增长,普通的翻译软件一般通过在文本输入框内输入疑难字词来翻译,这已不能满足用户的需求,人们需要一种更方便快捷的翻译方式,划词翻译应运而生。目前划词翻译功能已广泛应用于搜索领域的各种翻译引擎。开放、互动、参与、体验式的服务是新一代OPAC的发展方向,用户驱动与技术进步催生着一场OPAC的革命性变革[ 1]。在阅读书目的过程中,用户如果选中需要翻译的字词, OPAC就能提供选中字词的翻译结果,则可省去字词输入的繁琐步骤。本文将通过划词翻译功能的设计与实现,来丰富OPAC功能,提高其服务效果。

1 需求分析与设计思路
1.1 应用现状

为了解OPAC划词翻译功能的应用现状,笔者对教育部最近公布的112个“211工程”高校图书馆OPAC系统进行了抽样调查。结果发现没有任何一家OPAC系统设置了这个功能,表明该功能至今尚未引起足够重视,相关观念亟需改进。网络数据库中也很难找到深入研究该功能的相关文献资料,然而该功能的用户需求是存在的。

1.2 需求分析

用户在浏览OPAC书目信息时,经常会遇见生僻字词、英语单词、网络词汇等,需要对其进行解释或翻译才能消除疑惑。所以,用户在使用OPAC的过程中,存在中文字词释义或英文单词翻译的需求。虽然用户可将疑难字词复制后粘贴到相关专业翻译软件或翻译网站的文本输入框,进行查询翻译,但使用步骤比较繁琐,不如直接在OPAC网页上进行即时翻译快捷方便。

1.3 方案设计

用户需求促使笔者采用一定的方案来设计OPAC划词翻译功能,存在两种方案。

(1)手动输入翻译。设计独立的查询网页,内含疑问书目字词的文本输入框。用户访问查询网页,输入疑问书目字词,并提交查询请求,网页返回翻译结果。

(2)划词翻译。用户在浏览OPAC页面时,鼠标拖选疑问书目字词,触发相关事件跳出翻译弹窗,即时返回翻译结果。

两者比较:前者设计简单,但用户体验差、且易出错;后者实现复杂,但所见所得的互动方式,更易于为用户所接受。笔者决定采用方案(2)——即划即译的方式来进行设计。

1.4 技术思路

根据方案(2)的设计,划词翻译思路如下:用户浏览OPAC网页,发现并鼠标拖选疑问书目字词,完成拖选后,松开鼠标的事件触发跳出使用CSS设计的划词翻译弹窗,利用JavaScript脚本获取客户端参数即疑问书目字词,并使用Get方式提交参数,在服务器端通过ASP技术接受客户端传递的参数,再使用SQL语句查询相关的字典数据库表,最终将对应的翻译结果显示于客户端的划词翻译弹窗,从而实现划词翻译功能。主要流程大致分为4个部分,如图1所示:

图1 OPAC划词翻译技术思路图

2 功能实现
2.1 字典表的设计与数据存储

(1)设计字典数据的存储表

根据划词翻译的技术思路,为了存储字典数据,需要在服务器端Sybase数据库中设计翻译字典数据库表z_dict。该表可创建在图书馆业务系统底层数据库中,可以避免二次连接,提高数据库的连接效率。其结构如表1所示:

表1 字典数据库表z_dict结构

字段q存储字数大于0,小于8的汉词(2字节/中文字符),或字符数大于0,小于15的小写英语单词(1字节/西文字符),且设置该字段为簇聚索引。通过使用簇聚索引,可以按某种方式排列表中的行,以使其物理顺序与索引顺序相同。簇聚索引检索数据的速度几乎总是比非簇聚索引快。科学的数据结构设计可以显著提升程序执行的性能。表创建完成后,即可存储数据。

(2)存储字典数据

即导入字典数据到表z_dict。可利用数据库的数据维护和导入、导出功能及相关的中英词典数据库来构造字典数据表。字典数据在被导入前需要对其进行相关的数据编辑,如保留字词字段q及释义字段wd,删除其他无用字段,设置fre的默认值为0,根据字段q的数据特征设置对应的字段cls值等,如表2所示:

表2 表z_dict字段q值相关参数

数据导入后,表z_dict记录总数为471 787,收录了常见的汉语字词与英语单词,基本上能满足日常的查询需求。

2.2 功能实现

(1)获取客户端传递的查询参数

划词是指使用鼠标高亮拖选疑问书目字词,是用户在OPAC网页浏览过程中的一种取词方式。通过划词来获取翻译的方法称之为划词翻译。可利用JavaScript脚本相关的方法、事件,对象及其属性等,获取网页客户端用户鼠标拖选的疑问书目字词。用户按住鼠标左键不放,高亮拖选疑问书目字词,拖选完成后松开鼠标左键,即完成划词的动作。如使用document.selection.createRange、window.getSelection等对象及方法可获取拖选的疑问书目字词。服务器端通过Request()等ASP函数接受客户端采用Get方式提交的疑问字词。疑问字词中,可能包括了用户误选的多余的标题符号等无意义的非法字符,应使用Replace()等ASP函数将其替换或删除,这样既可保证用户划词的精确性,并实现了一定的容错性。除了服务器端的动态语言程序,网页客户端的JavaScript、CSS及HTML代码是开源的,可访问相关网站下载获取[ 2],限于篇幅,不再详叙。

(2)构建字典数据库表

获取客户端传递的参数即用户划选的疑问字词后,可在服务器端利用SQL语句对字典数据库表z_dict的字段q执行精确匹配检索,并将查询结果返回给客户端用户。服务器端程序采用Sybase OLE DB Objects来连接数据库Sybase 12.5。使用该方法连接数据库,需要在服务器端预装Sybase驱动程序,并通过Configuration Manager等工具来完成Data Sources连接设置,再使用连接字符串连接数据库,利用ASP技术创建 Recordset 对象Rs进行数据库的相关操作,使用相关SQL语句查询与更新数据。查询前,先依据表2判别疑问书目字词的数据特征,然后进行对应查询,以提高查询效率。假如疑问书目字词为“q”,则其SQL查询语句如表3所示:

表3 疑问书目字词的数据特征及查询语句

如Select语句查询结果Rs.RecordCount = 1,则使用Update语句将表z_dict字段fre值累加1后更新,即修改其翻译频率。

(3)抓取远程数据

如Select语句查询表z_dict结果Rs.RecordCount = 0,但疑问书目字词确实是有意义的字词(并非数字、标点符号等无效字符),则需要在服务器端抓取远程数据返回给用户,并使用“Insert into”等SQL语句实现表z_dict记录的新增。可利用ASP技术的Microsoft.XMLHTTP组件来获取Google字典[ 3]、百度字典[ 4]、有道词典[ 5]等网络上的相关字词的翻译或释义数据。Microsoft.XMLHTTP组件可以打开与服务端的连接,同时定义指令发送方式、服务网页(URL)和请求权限等。客户端通过Open命令打开与服务端的服务网页的连接。与普通HTTP指令传送一样,可以用Get方法或Post方法指向服务端的服务网页。例如疑问书目字词为“q”, Google字典的相关字词的翻译结果为“wd”,则其数据远程调用的代码如下:

Set XML = CreateObject("Microsoft.XMLHTTP")

With XML

.Open "Get", " http://www.google.com.hk/dictionary?q="& q, False, "", ""

.Send

wd =.ResponseText

End With

Set XML = Nothing

Google字典服务端的服务网页返回相关调用结果wd后,需要使用Replace()等ASP函数根据需要对其进行必要的字符判别、替换与编辑,删除不需要的字符,保留需要的解释或释义等数据信息,以使得wd的值适合OPAC划词翻译功能的显示格式及符合字典数据库表z_dict字段wd的数据类型。另外,使用Microsoft.XMLHTTP组件抓取远程数据,还需要注意抓取程序网页与目标网页之间的编码是否一致的问题,如在GB2312与UTF-8之间进行URL及网页字符等编码的解码,否则抓取的数据可能为乱码,无法使用。将Microsoft.XMLHTTP组件中的URL修改成其他网址,即可远程调用其他字典数据。

(4)编辑字典数据

即使通过抓取远程数据的方法来弥补字典数据库表z_dict记录的不足,可在一定程度上避免划词翻译查询不到结果,但仍可能面临少量字词尚未被收录的困境,如“俯卧撑”、“躲猫猫”、“贾君鹏”等。这些最新的网络词汇及其释义,需要人工来进行相关数据的收集、编辑、整理与上传,并进行持续地字典数据更新,以扩大字典数据库表z_dict的词汇量。编辑字典数据是一项长期而繁琐的工作,需要持之以恒,不断完善,才能更好地为用户服务,提高OPAC的服务质量。

(5)划词翻译功能的实现

通过服务器端的“Select”等SQL语句查询到的疑难字词的翻译结果,即字典数据库表z_dict字段wd的值,将显示在“OPAC划词翻译”弹窗内。单击弹窗右上角的“关闭”按钮,将关闭本弹窗。单击弹窗右下角的“关闭划词翻译”链接,将关闭本弹窗,并在用户访问OPAC网页的Cookie生存周期内不再执行该功能。这样可给用户一个选择的权利,避免对部分不希望使用该功能的用户造成干扰。如Cookie失效或用户清除该网页的Cookie数据,该功能则会重新开启。弹窗其他区域为翻译信息,进行疑难字词解释及中英互译。如划选的词为汉字或汉词,则包括“中文解释”和“英文翻译”等内容。如划选的词为英语单词,则包括“中文翻译”和“网络释义”等内容。弹窗底部为该字词的OPAC检索结果的链接,以及维基百科、百度百科、互动百科等中英文知识性百科全书的网络链接,以便用户进一步了解该字词所关联的丰富知识。如划词为“红楼梦”,其功能实现如图2所示:

图2 OPAC划词翻译功能实现图

如无法查询到对应的翻译结果,则应返回“未找到和您的关键词相匹配的词典解释”等提示信息。至此,最终实现了OPAC划词翻译功能。

2.3 实现效果

新一代OPAC 的出发点与目标都是一切以用户为中心的互动模式,为用户提供更方便快捷和全面的服务[ 6]。OPAC划词翻译功能的实现,将进一步增强其可用性,提高用户的使用兴趣,提升用户的使用体验。用户无需安装第三方的翻译软件,在浏览OPAC网页的过程中,直接用鼠标拖动选择书目信息中的相关疑难字词,立即就会在高亮选中区域的旁边出现一个浮动的层,或跳出翻译弹窗,显示出对应字词的翻译结果,达到“即划即译”的所见即所得翻译效果。从笔者设计的惠州学院图书馆OPAC划词翻译功能试用情况来看,运行良好。在试用的单位时间内取得了较好的实现效果,如表4所示:

表4 2011年6月OPAC划词翻译功能效果

分析表4得知, OPAC用户存在翻译需求,具有一定的使用划词翻译功能的兴趣。用户使用意愿的进一步提升,有赖于广泛宣传和核心用户群的培养。采用划词技术实现即时翻译准确、方便、快捷,用户无需培训,即可轻松掌握使用方法。由于划词是用户人工选择的结果,因此其翻译结果没有误差。由于字典数据库表z_dict字段q设置了簇聚索引,并在SQL的Select等查询语句中使用了数值型字段cls,采用精确匹配的查询模式,因此查询速度非常快,在近50万条记录集里面检索1条数据,耗时控制在0.1秒以内,用户根本感觉不到数据反馈的延迟。

3 结 语

升级OPAC,使之融入到用户的检索环境中,符合用户的检索习惯[ 7],这是OPAC变革的必然趋势与要求。本文就OPAC划词翻译功能的应用现状、需求分析、设计思路及其实现方法等内容进行了详尽的研究。即划即译的方式可方便用户对书目信息中疑难的或困惑的字词进行即时翻译,加强了OPAC的可用性,提升了使用体验。新的词语能通过远程数据抓取程序实时自动更新到字典表,实现无限词汇量,兼具学习功能。通过设置簇聚索引等技术和方法,提高翻译程序的执行效率与划词翻译功能的性能。其实现无需破坏原有OPAC的设计,完全可作为一个独立模块添加。但显然划词翻译功能并不能完全替代专业翻译软件,不能进行段落文字的翻译,只是笔者在以用户为中心服务思想指导下,改进OPAC、增强检索功能和提升用户体验的一次尝试,需要不断完善和丰富。

The authors have declared that no competing interests exist.

作者已声明无竞争性利益关系。

参考文献
[1] 刘颉颃. 从WorldCat及相关原型看新一代OPAC[J]. 图书馆论坛, 2009, 29(1): 72-74. [本文引用:1]
[2] 惠州学院图书馆OPAC[DB/OL]. [2011-06-20]. http://seek.hzu.edu.cn. [本文引用:1]
[3] Google字典[DB/OL]. [2011-06-20]. http://www.google.com.hk/dictionary?hl=zh-CN. [本文引用:1]
[4] 百度字典[DB/OL]. [2011-06-20]. http://dict.baidu.com. [本文引用:1]
[5] 有道词典[DB/OL]. [2011-06-20]. http://dict.youdao.com. [本文引用:1]
[6] 李荣艳, 李丹. 图书馆2. 0时代的OPAC发展[J]. 图书馆论坛, 2011, 31(1): 85-87. [本文引用:1]
[7] 王海英, 汪其英, 张晓苗. 图书馆升级OPAC的三种途径及其比较[J]. 情报杂志, 2010, 29(7): 166-168. [本文引用:1]