999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Lucene的中文分詞算法研究與實現

2014-02-22 05:30:00徐有健
電子測試 2014年24期
關鍵詞:搜索引擎設計

徐有健

(華南理工大學,廣東廣州,510006)

基于Lucene的中文分詞算法研究與實現

徐有健

(華南理工大學,廣東廣州,510006)

本文重點研究了如何改進中文分詞算法,并根據新的中文算法,設計出可以滿足Hadoop文件系統可視化文件搜索引擎研究的中文分析器MyAnalyzer。

lucene;Hadoop;搜索;中文分詞

1 研究背景

作為中文信息處理的基礎,中文分詞分析器的效率和準確度對搜索引擎研究至關重要。中文分詞的準確性會直接影響到中文搜索引擎的準確率和工作效率。目前,中文搜索引擎技術比西文搜索引擎技術落后一段距離的原因就在于中文搜索需要經過分詞程序,西文引擎的分詞分析器不適用于中文分詞。比如Lucene自帶的StandardAnalyzer分析器,英文分詞的效果非常好,但是在中文分詞方面是將每一個漢字當做一個詞,對中文分詞并沒有實用價值。至于Lucene自帶的另外兩種內置分析器,SmartChineseAnalyzer和CJKAnalyzer,雖然可以實現中文分詞,但是分詞效率比較低,尤其是CJKAnalyze,會產生大量的無用分詞。由于Hadoop本身不帶有可視化文件系統管理功能,要建立基于Lucene的Hadoop文件系統可視化搜索引擎,就要研究如何改進Lucene中文分詞器,使其滿足項目需要。

2 基于Lucene的Hadoop文件系統可視化文件搜索中的中文分詞算法實現

2.1 中文分詞模塊設計

2.1.1 中文分詞模塊框架設計

設計一個高性能實用化的中文分詞模塊對實現引擎搜索結果的準確性和快捷性具有重要的意義。設計中文分詞模塊框架時要考慮到分詞速度、分詞精確度和系統維護的便利性。根據三個考慮要素,設計中文分詞框架如圖1-1所示。設計的分詞框架包括詞典、分詞器和性能評測三個模塊。

圖1 -1

2.1.2 中文分詞算法設計

為了適應人們的日常閱讀習慣與寫作習慣,本中文分詞模塊中文分詞算法設計采用了最佳匹配法的分詞算法。最佳匹配法分為正向的最佳匹配法和逆向的最佳匹配法,以“長詞優先”原則為核心,按照在詞頻的大小順序對詞典中的詞條進行排列。正向最佳匹配算法的形式定義為:對于文本中的字符串ABC,A∈Z,AB∈Z,ABC不屬于Z,Z為字典,那么這串字符就切分為AB/C。例如,一封毛澤東親筆信原稿,采用正向最佳匹配法時則劃分為一封/毛澤東/親筆信/原稿。逆向最佳匹配法與正向最佳匹配法相反,從句子或者文章末尾開始處理。具體的算法設計如下:

(1)正向最佳逐字匹配算法

采用正向最佳逐字匹配算法,要堅持“長詞優先”原則,即當一個漢字字符出現多種切分結果時,取含有長度最長的詞條切分結果。運用長詞優先原則,有利于縮短對分詞詞典的檢索時間,提高分詞速度。運用正向最佳逐字匹配算法進行分詞的設計思路為:首先,在詞典中搜索字符串的最前面的字符,形成以該首字字符節點為根的詞典樹,將該字符串與詞典樹進行匹配,一次匹配一個字符,匹配成功則繼續向下匹配,否則就回溯,找到上一個可以成詞的字,即終止標識符為“T”,形成分詞結果。具體描述如下:

輸出:切分出的單詞集合S

Step1:在首字散列中定位待查詢漢字符串首字據待查詢字符串的首字的Unicode值。如果字符節點為根的詞典樹存在,則得到子樹節點的指針,并通過子樹節點的指針找到子節點表,記錄該節點的層數k,i=i+1,轉Step2。如果不存在,則單獨成詞,將該字添加到單詞集合S中,指向,重復Step1。

Step3:判斷該節點組詞標識是否為T,如果是,則轉Step4;如果不是,則i=i+1,找到該節點的子節點表,轉Step2。

Step4:判斷該節點是否為葉子節點,如果是,若i<n,將添加到單詞表S中,i=i+1,轉Step1;若i=n,將添加到單詞表S中,算法結束。如果不是,i=i+1,記錄該節點層次 k,轉 Step2。

與傳統的正向最佳逐字配算法相比,這種正向最佳逐字配算法減少了分詞過程中試探性查詢的次數,無需預知待查詢詞的長度,實現一次匹配完成分詞,極大地提高了分詞的效率。以“今天我們要上學”為例,假設詞典的最長詞長為5。

一般的最大匹配分詞算法的查找過程為:

用本文設計的最大匹配算法的查找過程為:

今天我們要上學我們要上學要上學上學。

通過比較,一般的最大匹配分詞算法的查找次數為12次,本文的最大匹配算法為4次,大大減少了查找的次數,提高了查找的效率。

(2)逆向最佳逐字匹配算法

逆向最佳逐字匹配算法的原理與正向最佳逐字匹配算法基本相同,因此不以加贅述。與正向最佳逐字匹配算法不同的是,逆向最長匹配的分詞算法是從右至左,從字符串后面進行掃描,需要配合逆向最長匹配的詞典結構進行使用。

2.1.3 詞典設計

為了實現中文分詞模塊的順利使用,要結合分詞算法設計出詞典。

首先,要統計中文中的詞的字數個數的頻率,根據頻率制定各字數的詞條。一般來說,中文詞中,字數為2的詞語數量比較多,多字(四個字以上)的使用頻率比較低。其次,為了配合正向最佳逐字匹配算法使用,要設計出正序詞典機制。詞典中首字的索引值即為首字的 Unicode 編碼。詞典的第一層要建立起以詞語首字為索引的首字散列表,使各個首字相同的詞語采用同一根節點的詞典結構。除了詞語的首字外,剩余部分在內存中采用樹的形式存放。最后,為了配合逆向最佳匹配算法,要設計出逆序詞典作為使用基礎。逆序詞典結構與正序詞典結構完全相同,但是要將每個詞條的順序顛倒,建立起存儲詞語尾字W以及在每個W下記錄了以尾字W為詞尾的所有詞匯的首字散列表。

2.2 中文分詞機制的實現

實現分詞機制首先要實現分詞預處理,將需要分詞的內容轉換為分詞模塊可以處理的文本格式。其次,通過Lucene的工具包中的Analayzer類工具,實現設計的中文分詞模塊。由于Lucene自帶的SmartChineseAnalyzer和CJKAnalyze不能滿足引擎中的中文分詞需要,因此要開發出新的中文分析器。本文將新的分詞算法加入到Lucene當中開發出適合需要的MyAnalyzer,通過MyAnalyzer實現新設計的中文分詞算法。

2.3 分詞性能測試

2.3.1 分詞速度測試

(1)實驗方法: 以經過分詞預處理后得到的純文本為速度測試材料,通過計算分詞的速度與質量對分詞模塊的分詞性能進行測試。

(2)實驗方案:文本長度從500字符開始,以1500個字符為一個遞增區間,分別計算每次分詞所耗的時間。

(3)實驗數據測量:由于實驗環境無法達到理想狀態,同一個文本每次切分所耗費的時間并不完全相同導致記錄時間有誤差,為了使實驗數據更加接近標準數據,要對每個文本進行反復測試,取數據的平均值。

(4)實驗結果:經過反復測驗,獲得實驗數據如表1-3

(5)數據分析:從表1-3可以看出,分析器的分詞速度一直都保持在20字/ms至25字/ms的速度之間。以這個速度,本分詞模塊每秒鐘處理字符數在20000到250000之間,可以滿足現在中文搜索引擎對速度的要求。

表1 -3

2.3.2 分詞精準度測試

(1)實驗方案:隨機選擇一個句子,通過MyAnalyzer、SmartChineseAnalyzer和CJKAnalyze三種分析器進行分詞,對結果進行比較,判斷新設計的中文分詞模塊的精準度。

(2)實驗步驟:①選擇了“2008年12月26日,中國海軍首批護航編隊踏上了遠洋護航的漫長征程。”作為分詞文本

②參與實驗的分析器包括MyAnalyzer、SmartChineseAnalyzer和CJKAnalyze

(3)實驗結果:MyAnalyzer的分詞結果是 2008/年/12/月/26/日/中國/海軍/首批/護航/編隊/踏上/了/遠洋/護航/的/漫長/征程/

SmartChineseAnalyzer的分詞結果是年/月/日/中/國/海/軍/首/批/護/航/編/隊/踏/上/了/遠/洋/護/航/的/漫/長/征/程/

CJKAnalyze的分詞結果是2008/年/12/月/26/日中/中國/國海/海軍/軍首/首批/批護/護航/航編/編隊/踏上/上了/了遠/遠洋/洋護/護航/航的/的漫/漫長/長征/征程/

(4)實驗結論:通過對分詞結果進行對比,可以發現MyAnalyzer的分詞準確性最高,具體體現在:SmartChineseAnalyzer將中文外的其他字符種類都給過濾掉了。CJKAnalyze保留了其他種類的字符,但是產生了許多無用的切分。相比之下,MyAnalyzer保留了中文外的其他字符種類,并且分詞字數不限于兩個字數,準確率較高。因此,MyAnalyzer可以滿足Hadoop文件系統可視化文件搜索引擎設計的需要。

3 結束語

關于中文分詞的算法,目前仍然沒有完美的設計方案,可以完美兼顧中文分詞的準確性與高效率,而是或多或少會存在一定的局限性。但是,通過比較各種分詞算法的優劣,并不斷對分詞算法加以改善,取長補短,終有一日可以整合出一個效率高、準確率高的分詞方法,推動中文引擎技術的發展。

[1] 戴洪,蔣靜,樊程,等.一種基于LUCENE的中文分詞算法研究[J].青島大學學報:自然科學版,2011(3):53-58.

[2] 趙珂,逯鵬,李永強.基于Lucene的搜索引擎設計與實現[J].計算機工程,2011(16):39-41.

[3] 趙旭,王慶樺.向LUCENE搜索引擎中加入中文同義詞查詢[J].科技信息,2011(7):60-61.

Lucene the Chinese word segmentation algorithm and implementation of research-based

Xu Youjian
(South China University of Technology,Guangzhou,510006)

This paper is aimed at improving Chinese word segmentation module.According to the new Chinese word segmentation module,an analyzer named MyAnalyzer that can process Hadoop file System research is developed.

lucene;Hadoop;search;Chinese word

猜你喜歡
搜索引擎設計
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
網絡搜索引擎亟待規范
中國衛生(2015年12期)2015-11-10 05:13:38
Nutch搜索引擎在網絡輿情管控中的應用
警察技術(2015年3期)2015-02-27 15:37:09
基于Nutch的醫療搜索引擎的研究與開發
廣告主與搜索引擎的雙向博弈分析
知識漫畫
百科知識(2012年11期)2012-04-29 08:30:15
主站蜘蛛池模板: 国产精品福利尤物youwu | 国产成人精品午夜视频'| 国产交换配偶在线视频| 国产成人av一区二区三区| 亚洲男人的天堂在线| 一区二区午夜| 2021无码专区人妻系列日韩| 中文字幕在线日韩91| 91精品日韩人妻无码久久| 综合色在线| a毛片基地免费大全| 国产亚洲欧美另类一区二区| 国产尹人香蕉综合在线电影| 亚洲精品视频网| 欧美影院久久| 亚洲精品人成网线在线 | 亚洲综合18p| а∨天堂一区中文字幕| 国产高清在线观看91精品| 亚洲有无码中文网| 亚洲精品在线影院| 精品久久国产综合精麻豆| 国产成人免费观看在线视频| 伊人色天堂| 亚洲国产一区在线观看| 99青青青精品视频在线| 国产黄色片在线看| 久久鸭综合久久国产| …亚洲 欧洲 另类 春色| 91精品国产综合久久香蕉922| 免费看a毛片| 青青草a国产免费观看| 制服丝袜在线视频香蕉| 爽爽影院十八禁在线观看| 亚洲综合二区| 天天色综网| 在线免费看黄的网站| 亚洲精品福利视频| 人妻无码一区二区视频| 午夜福利在线观看成人| AV熟女乱| 久久频这里精品99香蕉久网址| 99尹人香蕉国产免费天天拍| 国产aⅴ无码专区亚洲av综合网| 无码精品国产dvd在线观看9久| 久久亚洲欧美综合| 亚洲国产欧美中日韩成人综合视频| 国产无套粉嫩白浆| 九色视频一区| 色网站在线免费观看| 无码人中文字幕| 国产成年无码AⅤ片在线| 国产导航在线| 亚洲一区网站| 波多野结衣一区二区三区88| 激情亚洲天堂| 99爱视频精品免视看| 日韩福利在线视频| 91视频免费观看网站| 天天激情综合| 亚洲天堂精品视频| 欧美日韩免费观看| 久久 午夜福利 张柏芝| 99热国产这里只有精品9九 | 久久成人国产精品免费软件| 青青草国产在线视频| 国产香蕉在线| 一级毛片高清| 国产毛片基地| 欧美精品三级在线| 亚洲国产精品国自产拍A| 99久久亚洲精品影院| 香蕉久人久人青草青草| 久久亚洲中文字幕精品一区| 色综合中文字幕| 青青青伊人色综合久久| 精品国产网| 最新痴汉在线无码AV| 国产人在线成免费视频| 亚洲侵犯无码网址在线观看| 免费一级毛片| 精品国产污污免费网站|