亚洲成人一区在线观看_天堂网www_国产精品久久9_中文在线播放_伊人天天_久久精品久久久精品美女

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 自己寫的一個基于詞庫的lucene分詞程序--ThesaurusAnalyzer

自己寫的一個基于詞庫的lucene分詞程序--ThesaurusAnalyzer
2010-01-13 23:04:14  作者:  來源:
前一段時間用lucene做一個搜索程序,找了好長時間的中文分詞程序,都沒找到合適的,最后自己弄了一個.現在共享出來.希望對大家有用.
      分詞算法:    基于詞庫的正向最大匹配算法.
      分詞詞庫用的是網上一個叫 segmenter 的分詞程序使用的詞庫.
      地址:www.mandarintools.com/segmenter.html  
      這個segmenter分詞程序是把文件按行讀取出來,然后把一行假設為一個詞,從庫中匹配,如果匹配不成功,則去掉一個字,再繼續匹配.這樣的分詞程序,其一,不便在lucene中使用,因為lucene的analyzer是通過Tokenizer分詞的,而Tokenizer中一般是對字符流進行處理,每次next返回一個Token,并不是一次性把內容讀取進來,處理后再返回結果.其二,按行讀取會有個缺點,就是如果文本中恰好把一個詞用換行符隔開了,這樣這個詞也就被切開了,沒有被當作一個詞處理.
   
     我的程序實現方式:把詞庫讀進內存后構建一個詞語樹.樹的每個節點包含一個字. 比方  中國   中國人  中華民族  中華人民共和國  幾個詞,構成的樹的結構:
  
                 中
           國^    華
      人^        人    民
                   民       族^
                   共
                   和
                   國^

       懶得上傳圖片,所以將就著這樣表示了.^表示該節點可以構成一個詞.分詞的過程類似于輸入法的聯想功能.讀取一個字,然后聯想,直到聯想到不能為止.如果當前可以構成詞,便返回一個Token.如果當前不能構成詞語,便回溯到最近的可以構成詞語的節點,返回.最差的情況就是返回第一個單字.然后從返回結果的下一個字重新開始聯想.

      lucene自帶的幾個分詞程序中,ChineseAnalyzer是按字分的,與StandardAnalyzer對中文的分詞沒有大的區別.CJKAnalyzer是按兩字切分的,比較武斷,并且會產生垃圾Token,影響索引大小.
 
     本分詞程序的效果取決與詞庫.您可以用自己的詞庫替換程序自帶的詞庫.詞庫是一個文本文件,名稱為word.txt. 每一行一個詞語,以#開頭表示跳過改行.最后保存為UTF-8的文本.

    程序的缺陷:
        沒有加入識別人名和地名的功能

     該分詞的一個應用案例:http://www.cyonline.net
   
     這個網站是我給學校做的,用lucene對pdf ,word,excel,html等多種格式的文檔進行解析,索引,提供全文搜索,并實現摘要高亮.這個網站在教育網上,公網用戶可能訪問起來比較慢.

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 亚洲成人av在线 | 啊v视频| 欧美高清一区 | 日韩视频一区二区三区在线观看 | av一区二区三区四区 | 久久国内免费视频 | 国产精品美女视频免费观看软件 | 国产高清精品在线 | 欧美精品综合在线 | 在线亚洲人成电影网站色www | 国产精品入口久久 | 国产亚洲综合一区二区 | 久久r精品 | 一区久久久 | 亚洲黄色区 | 国产精品美女久久久久久久久久久 | 97久久精品人人做人人爽50路 | 99热新| 亚洲精品www久久久久久广东 | 看免费的毛片 | 欧美精品在线一区二区三区 | 久久久久久久久久久成人 | 69免费视频 | 欧美国产日韩在线 | 福利在线看 | 日本 欧美 国产 | 久久2| 黄色天堂在线观看 | av免费网站在线观看 | 国产综合区 | 99久久精品一区二区成人 | 亚洲精品国产第一综合99久久 | 精品国产一区二区三区日日嗨 | 亚洲一区高清 | 亚洲欧洲一区二区 | 国产情侣av自拍 | 精品国产伦一区二区三区观看说明 | 国产在线精品一区二区三区 | 在线免费观看黄色 | 亚洲毛片 | 黄色网址免费在线 |