日本一区二区免费播放_麻豆导航_久久精品99_国产性av_色婷婷噜噜久久国产精品12p_av福利资源_精品综合久久

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

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 青青国产成人精品视频 | 日本视频久久 | 青青视频网 | 女人成午夜大片7777在线 | 天天操中文字幕 | 人人干人人上 | 欧美伦理三级在线播放影院 | 日韩欧美在线观看 | 天天摸天天看天天做天天爽 | 久久精品人人爽人人爽 | 成人在线观看视频网站 | 狠狠狠地啪香蕉 | a级一片| 中文免费视频 | 国产理论最新国产精品视频 | 超级碰人人 | 午夜在线视频一区二区三区 | 国内精品一级毛片免费看 | 蜜臀网址 | 日本精品久久久久护士 | 91久久国产精品 | 欧美精品不卡 | 亚洲 自拍 另类 制服在线 | 在线观看亚洲免费 | 免费高清特级毛片 | a级大片在线观看 | 日韩在线aⅴ免费视频 | 久久精品免费在线观看 | 国产精品日本不卡一区二区 | 欧美在线一区二区三区不卡 | 漂亮的保姆在线看韩剧 | 日本小视频免费 | 日韩在线视频免费观看 | 久草热视频在线 | 日本黄大片视频在线播放 | 欧美成人全部免费观看1314色 | 国内精品免费视频 | 亚洲香蕉网久久综合影院3p | 久久精品国产精品亚洲蜜月 | 天堂在线观看中文字幕 | 国产一级精品毛片 |