結巴(jieba)中文分詞的.NET版本(一)

學習路徑: https://github.com/anderscui/jieba.NET/

特點

  • 支持三種分詞模式:
    • 精確模式,試圖將句子最精確地切開,適合文本分析
    • 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義。具體來說,分詞過程不會藉助於詞頻查找最大概率路徑,亦不會使用HMM;
    • 搜索引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜索引擎分詞
  • 支持繁體分詞
  • 支持添加自定義詞典和自定義詞
  • MIT 授權協議

算法

  • 基於前綴詞典實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖 (DAG)
  • 採用了動態規劃查找最大概率路徑, 找出基於詞頻的最大切分組合
  • 對於未登錄詞,採用了基於漢字成詞能力的HMM模型,使用了Viterbi算法

安裝和配置

環境:Win10+VS2019

1.打開VS2019,創建項目

 

 

2.安裝結巴(jieba)分詞

當前版本基於.NET Framework 4.7.2,可以手動引用項目,也可以通過NuGet添加引用

2.1 NuGet添加引用

或者右擊項目

在出現的頁面中輸入 jieba,選擇jieba.NET後,即可點擊【安裝】

2.2 手動引用項目,打開程序包管理控制檯,輸入 Install-Package jieba.NET,按回車

2.3 安裝之後,在packages\jieba.NET目錄下可以看到Resources目錄,這裏面是jieba.NET運行所需的詞典及其它數據文件,最簡單的配置方法是將整個Resources目錄拷貝到程序集所在目錄,這樣jieba.NET會使用內置的默認配置值

2.4 如果希望將這些文件放在其它位置,則要在app.config或web.config中添加如下的配置項:

例如在E盤下新建兩個文件夾,再把Resources目錄拷貝過來

需要注意的是,這個路徑可以使用絕對路徑或相對路徑。如果使用相對路徑,那麼jieba.NET會假設該路徑是相對於當前應用程序域的BaseDirectory

配置示例:

  • 採用絕對路徑時,比如配置項爲E:\jiebanet\config,那麼主詞典的路徑會拼接爲:E:\jiebanet\config\dict.txt。
  • 採用相對路徑時(或未添加任何配置項,那麼將會使用默認的相對路徑:Resources),比如配置項爲..\config(可通過..來調整相對路徑),若當前應用程序域的BaseDirectory是E:\myapp\bin\,那麼主詞典的路徑會拼接爲:E:\myapp\config\dict.txt。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章