摘要:提出了基于免費翻譯引擎構建分布式移動文本翻譯系統的解決方案#65377;針對翻譯引擎之間的異構性#65380;手機較弱的計算能力和存儲能力等限制因素,引入引擎中間件的概念,對異構翻譯引擎進行整合,構建分布式引擎系統,同時通過計算轉移#65380;存儲轉移彌補手機端缺點,以三層體系架構的方式解決以上技術難點#65377;該解決方案既充分利用了免費翻譯引擎的資源,又解決了傳統翻譯系統引擎單一的問題;既引入手機便攜#65380;消費市場龐大的優勢,又彌補了計算和存儲的弱點,使隨時隨地進行文本翻譯成為可能#65377;最后,根據提出的架構,以Java體系集成了大型免費翻譯引擎,實現了分布式移動文本翻譯的原型系統,可在中#65380;英文之間進行單詞#65380;短語#65380;句子#65380;段落以及全文翻譯#65377;
關鍵詞:分布式; 文本翻譯; 中間件; 手機
中圖分類號:TP391.2文獻標志碼:A
文章編號:1001-3695(2007)10-0219-03
0引言
全球化是世界經濟發展的必然趨勢,它使得國際交流日趨頻繁,不同語言之間的互相轉換也由此變得非常重要#65377;但很多時候人們無法擁有現場翻譯人員,也無法保證隨身攜帶傳統的翻譯工具如詞典等,這就要求出現一種方便攜帶而且能夠隨身攜帶的翻譯工具#65377;手機以其方便攜帶#65380;容易操作的特性已經成為人們日常生活必備的工具,同人們生活密切相關;與此同時,手機用戶群和消費市場逐年龐大,最新研究表明,到2006年底全球手機用戶將達到26億,到2010年更會達到35億[1]#65377;手機為人們隨身攜帶的事實,尤其是其廣闊的應用市場和消費潛力,使得以手機為介質開發移動翻譯工具成為可能#65377;事實上,國內外眾多手機增值服務商正在籌劃或已經開發了許多基于手機的移動翻譯工具,移動文本翻譯系統是其典型的代表[2~6],但遺憾的是,鮮有文章論述這方面的內容#65377;
總體而言,目前移動文本翻譯系統具有以下幾種開發模式:a)特殊設備模式#65377;該模式下,開發商提供專門的便攜式軟硬件設備,將數據庫#65380;翻譯引擎置放于客戶終端,以期提供快速的查詢#65380;翻譯和學習的功能,此類設備如文曲星#65380;快譯通等#65377;但該種方式下,用戶需購買專門的硬件設備,系統升級需客戶端下載新的數據庫和引擎,同時在無形中放棄了龐大的手機消費市場#65377;b)單機模式#65377;該模式選用手機作為客戶端,將數據庫和翻譯(查詢)引擎置于手機端,提供簡單的互譯功能,此類模式的手機如Siemens 3618#65377;但該種模式由于受到手機存儲能力和計算能力的限制,功能相對簡單,而且系統升級不便#65377;c)移動在線文本翻譯模式#65377;這類模式通常由獨立的引擎開發商提供,它以手機為客戶端,但卻將數據庫和翻譯引擎置放于獨立的服務器端,手機以短信方式或其他方式發送請求以獲取相應的翻譯服務#65377;該種模式可以提供功能相當強大的翻譯服務,是移動翻譯服務的發展趨勢,此類系統如Dict.cn推出的空中詞典[2],以及TransClick[3]#65380;TOMP[4]#65380;MobileTran[5]#65380;LingoPhone[6]等#65377;但此種模式構建的系統同樣具有一定的不足#65377;每一種翻譯引擎均各具特色,各有優缺點,單一的翻譯引擎無法也不可能非常完善地滿足用戶翻譯的需求#65377;理想的解決方案是為用戶提供盡可能多種翻譯引擎的支持#65377;但翻譯引擎的開發#65380;數據庫的構建周期相當長,需要投入大量的人力#65380;物力和財力#65377;與此同時,一些免費的翻譯引擎相繼出現,如Google[7]#65380;Babel Fish[8]#65380;Dict.cn以及詞霸在線等#65377;這些翻譯引擎運行于Internet上,可免費使用且功能日益強大,這就使得基于這些翻譯引擎開發分布式移動文本翻譯系統成為可能#65377;本文由此出發,對單一引擎模式進行改進,探討分布式移動文本翻譯系統的構建和實現#65377;
1分布式移動文本翻譯系統
1.1目標定位及制約因素
系統目前著眼于文本內容的翻譯功能,期望通過整合免費翻譯引擎構建分布式的翻譯體系,實現快速#65380;方便的文本翻譯服務#65377;但系統的構建存在一系列的制約因素需要解決#65377;
在翻譯引擎方面,鑒于翻譯引擎開發的難度相對較大,同時免費翻譯引擎已經提供了相當強大的功能,因此,系統選擇這些翻譯引擎作為系統的翻譯引擎#65377;但每一種翻譯引擎均有獨特的翻譯機制,具有特定的輸入接口,并返回特定格式的結果文件#65377;為了方便用戶操作,系統需要將這些引擎對客戶端屏蔽,將異構的引擎接口與翻譯結果重新整合#65380;過濾后,為客戶端提供統一的操作方式#65377;
在客戶端方面,鑒于手機巨大的消費群和消費市場,系統選擇手機為移動終端#65377;但手機不同于計算機,手機的存儲能力#65380;計算能力均大大弱于計算機,手機通信又受到收費機制的制約,不宜進行大量的網絡通信;而翻譯引擎返回的數據多為XML或HTML格式,其中包含大量無用信息#65377;為了減少網絡通信量,同時也為了降低手機端的計算負擔,要求在客戶端與翻譯引擎之間存在某一個中間過程,以對數據進行必要的過濾和再加工#65377;
綜合考慮,系統決定在客戶端與翻譯引擎之間加載中間件,將翻譯引擎無法完成的工作以及客戶端不宜完成的功能轉移到中間件,以三層結構體系的方式解決上述技術難點#65377;
1.2系統框架設計
系統采用的三層體系,分為分布式引擎群#65380;引擎中間件和移動客戶端三個部分,如圖1所示#65377;
a)分布式引擎群#65377;分布式引擎群是那些運行于獨立的專署服務器上#65380;具有特定數據庫的免費翻譯引擎#65377;這些翻譯引擎擁有特殊的翻譯機制,各有優缺點又各具特色#65377;有些翻譯引擎提供了專業的數據庫,有些翻譯引擎甚至還提供了引擎接口,更重要的是它們均提供免費的翻譯服務,這為集成它們的翻譯引擎和數據庫#65380;整合它們的翻譯優勢和特色,形成分布的#65380;功能更為強大的翻譯引擎提供了可能#65377;
b)引擎中間件#65377;引擎中間件是互聯網中的一個服務器節點,它是移動客戶端同翻譯引擎通信的橋梁,也是移動客戶端與翻譯引擎之間的信息緩沖區#65377;中間件扮演著雙重角色,對移動客戶端而言,它是服務器#65380;是翻譯引擎的延伸;對翻譯引擎而言,它又是客戶端#65380;是客戶端的代表#65377;中間件實現了訪問各翻譯引擎的通信接口,并把它們進一步封裝,以統一的接口面向移動客戶端,實現異構翻譯引擎和異構數據庫的集成,這是分布式翻譯系統構建的基礎#65377;中間件是客戶端和翻譯引擎的數據中轉站,負責信息在兩者之間的傳遞;它還是數據的加工節點,負責客戶端輸入數據的標準化以及翻譯引擎返回信息的過濾和提取,最大限度地降低網絡中尤其是無線網絡中的通信流量#65377;
c)移動客戶端#65377;移動客戶端主要面向消費群和市場龐大的手機終端,充分發揮手機便攜且隨身攜帶的優點,同時彌補手機的不足#65377;在實現中間件的基礎上,將數據庫和翻譯引擎從手機端分開,僅保留數據的輸入和結果顯示的功能,將存儲量和計算量降至最低#65377;
1.3框架特點
系統框架將翻譯#65380;轉換和顯示分開,三者各負其責,各司其職,方便實現負載平衡;同時系統也方便升級#65377;a)當翻譯引擎擴充數據庫#65380;改進翻譯機制甚至修改引擎接口進行升級時,系統只需在中間件層修改其同引擎的信息交互機制,中間件同客戶端的交互接口保持不變,信息訪問仍可正常進行#65377;b)中間件也可方便地升級,以集成新的翻譯引擎,提供更多的翻譯服務供客戶端選擇和參考#65377;
同時,該框架體系引入了手機便攜#65380;移動,更重要的是市場廣大的優點,并根據計算轉移#65380;存儲轉移的思想將數據庫和翻譯引擎從客戶端分離,轉移到存儲能力#65380;計算能力相對充足的計算機端進行,彌補手機的缺點#65377;框架還通過中間件將先前孤立#65380;分散的免費翻譯引擎集成起來,構建分布式的翻譯引擎,一個移動客戶端可以獲得多個翻譯引擎的支持,一個翻譯引擎也可供多個客戶端使用#65377;
1.4系統工作流程
在本框架結構下,移動客戶端向引擎中間件發送翻譯請求和原始文本#65377;中間件根據用戶命令調用特定的引擎接口,根據引擎的格式將原始文字進行重新編碼,向特定的翻譯引擎提交#65377;當翻譯引擎返回結果后(多為HTML或XML文件),中間件對返回數據分析和過濾,去除標簽#65380;提取出翻譯文字部分,并將翻譯結果傳送回移動客戶端#65377;
2原型系統的實現
基于三層體系結構,本文使用Java語言平臺實現了分布式移動文本翻譯系統的原型系統#65377;
a)客戶端的實現#65377;客戶端基于Java體系中Java ME(Java mobile edition)平臺開發,Java ME提供了完整的用于手機程序開發的API,它為眾多手機生產商所支持,已經成為事實上的開發標準之一#65377;在本文提出的框架之下,手機端功能被盡量簡化,是系統的交互和可視化界面,負責接收用戶數據和結果顯示#65377;這種定位很大程度上降低了手機端程序開發的難度#65377;因此,原型系統采用CLDC 1.1和MIDP 2.0規范,使用高級用戶界面API開發功能操作菜單,偵測用戶鍵盤事件,實現最簡單#65380;最實用的用戶輸入和結果顯示界面#65377;
b)中間件的實現#65377;中間件由部署在互聯網中的一臺服務器上的servlet程序來實現#65377;Servlet運行于Tomcat免費容器中,具有多線程機制的服務程序,在本框架下,它既是翻譯引擎的客戶端,又是手機端的服務器#65377;因此原型系統中,servlet程序首先實現了同各個免費翻譯引擎的通信接口#65377;它使用對底層socket進一步封裝的HttpURLConnection同翻譯引擎建立連接,模擬網頁中數據的發送機制向翻譯引擎提交數據#65377;在翻譯引擎返回包含翻譯結果的XML或HTML數據后,對XML或HTML文檔進行解碼和解析,提取其中的翻譯結果部分返回#65377;其次,servlet還響應手機端連接的請求,以get或post的方式接收客戶端發送的命令和數據,并調用特定的引擎接口進行翻譯,把結果返回到手機端#65377;
c)網絡通信的實現#65377;本框架中涉及到兩大網絡體系,分別是無線網和Internet;還涉及到兩種通信過程,分別是手機到中間件和中間件到翻譯引擎的通信#65377;由于中間件和翻譯引擎同時位于Internet中,且翻譯引擎提供網頁服務,兩者之間的通信以HttpURLConnection實現#65377;而手機到中間件的通信則跨越了無線網和互聯網,兩者之間的信息傳輸使用支持最廣#65380;且數據傳輸不受類型和流量限制的HTTP實現,數據通過GPRS無線網傳輸#65377;
目前,原型系統集成了Google#65380;Babel Fish#65380;Dict.cn和金山詞霸等免費翻譯引擎,可以提供中文#65380;英文之間的單詞#65380;短語#65380;句子#65380;段落以及全文的翻譯功能,并可根據需要整合其他語種互譯功能#65377;客戶端在支持GPRS的手機上均可以運行(本文使用了Siemens S65手機),中間件在一臺具有外部IP的服務器上部署(本例使用http://210.72.26.28:8080/middleware)#65377;客戶端運行界面如圖2所示;單詞翻譯如圖3所示;全文的翻譯如圖4所示#65377;
由此可以看出,不同的翻譯引擎會給出各具特色的翻譯結果,尤其是對全文翻譯而言,但它們均是原文得以正確翻譯的參考#65377;因此,多引擎集成的解決方案是本系統的一大優勢#65377;
與此同時,本文對系統的運行效率進行了測試#65377;系統運行效率同手機與中間件之間#65380;中間件與翻譯引擎之間的通信速度相關,但最終均表現在客戶端等待的時間#65377;測試時分別選擇中#65380;英文兩種語言的單詞#65380;句子和段落的互譯,為了消除偶然因素的影響,每一種翻譯采用10次效率的平均,分別統計數據流量和發送請求到結果返回的時間間隔#65377;客戶端運行于Siemens S65手機上,使用GPRS通信;中間件運行于Tomcat 5.0容器中,操作系統為Windows 2000 Server,計算機為256 MB內存,CPU為賽揚2 GHz,以100 Mbps網卡對外連接#65377;測試結果如表1所示#65377;
可以看出,中間件可以明顯降低在無線網中傳輸的流量;同時,翻譯時耗的增加隨翻譯文本增加的趨勢并不明顯,時間主要用于網絡傳輸上,基本保持在3s左右,可以滿足實時翻譯的需要#65377;
3結束語
本文探討了分布式移動文本翻譯系統的設計和實現,提出了基于免費翻譯引擎構建分布式引擎系統,同時面向消費市場龐大的手機終端的解決方案#65377;以Java ME構建手機端#65380;以servlet構建中間件,以HTTP完成網絡通信的方式實現了分布式移動文本翻譯系統的原型系統#65377;通過對該原型系統效率測試表明,系統可有效減少無線網通信流量,時間上基本能滿足實時文本翻譯的需要#65377;
參考文獻:
[1]JOST J. Global mobile subscriptions to exceed 2.6bn by year end 2006 says pyramid research[EB/OL].(2006-0518)[2006-07-28].http://www.pyr.com/pr_prlist/pr_may18_globalsubs.htm.
[2]在線詞典[K/OL].(200311-27)[2006-07-28].http://dict.cn.
[3]Textually.org. text messaging gets a translator[EB/OL].(2005-02-23)[2006-07-28].http://www.textually.org/textually/archives/007268.htm.
[4]Textually.org. TOMP(translation on mobile phones)[EB/OL].(200411-01)[2006-07-28].http://www.textually.org/textually/archives/005895.htm.
[5]Translation Experts Ltd. Mobile telephone translator[EB/OL].(1992)[2006-07-28].http://www.tranexp.com/win/MobileTran.htm.
[6]LEBKOWSKY J. Lingo phone[EB/OL].(2004-07-27)[2006-07-28].http://www.smartmobs.com/archive/lingophone.html.
[7]Google.Google翻譯[EB/OL].[2006-07-28].http://www.google.com/translate_t.
[8]Altavista. Babel Fish translation[EB/OL].[2006-07-28].http://babelfish.altavista.com/tr.
第10期徐博文,等:
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”