學習路徑: 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。