日本一区二区免费播放_麻豆导航_久久精品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等多種格式的文檔進行解析,索引,提供全文搜索,并實現摘要高亮.這個網站在教育網上,公網用戶可能訪問起來比較慢.

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 天天欲色 | 99国产精品免费观看视频 | 手机看片高清日韩精品 | 婷婷久久精品 | 亚洲高清在线观看播放 | 99久久www免费| 亚洲黄色三级 | 国产成人综合亚洲欧美在 | 国内精品一区二区三区 | 亚洲人成a在线网站 | 欧美白人猛性xxxxx69交 | 久久永久免费 | 久久这里只精品国产99热 | 成年人色视频 | 玖草在线资源 | 国产淫视 | 鸥美性| 免费大片黄在线现看国语 | 欧美性受xxxx视频 | 国产成人小视频 | 毛片a级毛片免费播放100 | 亚洲综合网在线观看首页 | 欧美另类视频一区二区三区 | 蜜桃视频免费在线观看 | 欧美日韩在大午夜爽爽影院 | 人人揉人人捏人人添 | 国内日本精品视频在线观看 | 日本高清xxxx | 黄色com| 成年人色网站 | 热久久99精品这里有精品 | 日本人zzz18视频 | 韩国三级hd中文字幕一男多女 | 黄频在线播放 | 欧美精品一区二区三区视频 | 欧美一区二区视频在线观看 | 亚洲天堂网在线观看 | 日韩一级片免费观看 | 日本欧美一区二区三区片 | 日本高清无卡码一区二区久久 | 天天更新天天久久久更新影院 |