使用 .net 版 jieba 时遇到的问题,然后试了一下 python 原版 jieba,也是同样的问题
重现问题的 python 代码如下,.
被分成了一个单独的词
import jieba
seg_list = jieba.cut("ASP.NET Core", HMM=False)
print(", ".join(seg_list))
#output: ASP, ., NET, , Core
如果用 lucene.net 自带的 StandardAnalyzer ,分词结果是 asp.net
与 core
用正则
或遍历
去过滤
1、准备字典库
创建一个字典库文档dict.txt,在该文档中加入自己的分词,分词格式为:
每个词占据一行
每行分三部分:词语、词频(可省略)、词性(可省略)
文件编码方式必须为:utf-8
2.分此前添加加载代码
添加代码jieba.load_userdict("dict.txt")进行加载分词词典
import jieba
jieba.load_userdict("dict.txt")
seg_list = jieba.cut("ASP.NET Core", HMM=False)
print(", ".join(seg_list))
jieba 的字典不支持带空格的词
@dudu: 是的。jieba 的词典是用空格作为词,词频,词性之间的分隔符的
@Tom.汤: 目前已经在词典中添加 .NET
、ASP.NET
部分地解决问题,但是非 .NET
的情况依然不能解决,比如文件扩展名 .txt
@dudu: 有时候不重要的东西要学会放弃
@Tom.汤: 当知道 jieba 为什么将点号分成一个词后选择是否放弃会更好些
@dudu: 实在不行改源码
@Tom.汤: 有此想法 https://github.com/cnblogs/jieba-dotnet