<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

      當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 自己寫的一個基于詞庫的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等多種格式的文檔進行解析,索引,提供全文搜索,并實現摘要高亮.這個網站在教育網上,公網用戶可能訪問起來比較慢.

      安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        亚洲一级二级在线观看 | 亚洲AV乱码二区三区涩涩屋 | 久久人人爽爽人人爽爽aⅤ 亚洲图片在线视频 | 亚洲中文字幕码在线电影 | 亚洲综合在线区尤物 | 一级亚洲αv性爱视频 |