结巴(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。

 

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