asp.net下的中文分詞檢索工具分享

來源:互聯網
上載者:User
jieba是python下的一個檢索庫, 有人將這個庫移植到了asp.net 平台下, 完全可以替代lucene.net以及Apsara Distributed File System分詞的搭配

之所以寫這個, 其實是因為昨天面試時, 被問到網站的關鍵字檢索你怎麼做?我就是說了下sql模糊查詢以及sql語句最佳化, 緩衝。以前接觸過關鍵字分詞, 但是在.net平台下沒有成熟的分詞檢索庫, 不像java有lucene, 儘管也移植到了.net, 但是更新慢。我之前學python的時候留意到了python的分詞檢索, 以及做詞雲, 就想著有沒有python的分詞檢索庫移植到了.net的查了下python的jieba庫 果然有移植的!
原文介紹: jieba中文分詞的.NET版本:jieba.NET
.NET平台上常見的分片語件是Apsara Distributed File System分詞,但是已經好久沒有更新了。最明顯的是內建詞典,jieba的詞典有50萬個詞條,而Apsara Distributed File System的詞典是17萬,這樣會造成明顯不同的分詞效果。另外,對於未登入詞,jieba“採用了基於漢字成詞能力的HMM模型,使用了Viterbi演算法”,效果看起來也不錯。

我們直接在VS2013的nuget包管理器裡面搜尋下載也行:

看到評論裡面有人說, 將 工信處女幹事每月經過下屬科室都要親口交代24口交換器等技術性器件的安裝工作 分詞試試, 能分好就不錯, 我自己測試了下:


var segmenter = new JiebaSegmenter();            Console.WriteLine("原檢索語句: 工信處女幹事每月經過下屬科室都要親口交代24口交換器等技術性器件的安裝工作");                        var segments1 = segmenter.Cut("工信處女幹事每月經過下屬科室都要親口交代24口交換器等技術性器件的安裝工作", cutAll: true);            Console.WriteLine("[全模式]: {0}", string.Join("/ ", segments1));                        var segments2 = segmenter.Cut("工信處女幹事每月經過下屬科室都要親口交代24口交換器等技術性器件的安裝工作");  // 預設為精確模式            Console.WriteLine("【精確模式】:{0}", string.Join("/ ", segments2));                        var segments3 = segmenter.Cut("工信處女幹事每月經過下屬科室都要親口交代24口交換器等技術性器件的安裝工作");  // 預設為精確模式,同時也使用HMM模型            Console.WriteLine("【新詞識別】:{0}", string.Join("/ ", segments3));                        var segments4 = segmenter.CutForSearch("工信處女幹事每月經過下屬科室都要親口交代24口交換器等技術性器件的安裝工作"); // 搜尋引擎模式            Console.WriteLine("【搜尋引擎模式】:{0}", string.Join("/ ", segments4));                        var segments5 = segmenter.Cut("工信處女幹事每月經過下屬科室都要親口交代24口交換器等技術性器件的安裝工作");            Console.WriteLine("【歧義消除】:{0}", string.Join("/ ", segments5));            Console.Read();

運行結果:

不錯吧, 除去全模式外, 其餘的都能滿足我們人所讀的順序

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.