对于上篇博客的标题,其实内容也就是添加用户词典。我使用的是java版本调用dll。在这里重写一篇博客是为了说明一下最近在使用过程中发现的问题,以及说下自己的感想!如果不懂如何在java版本中添加新词功能请看:可以写批量加入新词方法。
中科院分词系统 ICTCLAS2013 添加新词功能,
1.网上下载的版本,基本分词功能很好,分词速度很快,在未人工添加词典的情况下,处理30G的数据,无错误情况,基本一天搞定。
2.对于短文本,用于微博内容分析,很多关键词会出现分词不准,如:"校长开房", “校车事故”等短文本的词(开房,校车),本应该是在一起的。
3.关于添加用户词典功能,NLPIR_AddUserWord(byte[]),再使用NLPIR_SaveTheUsrDic(),永久保存用户词典。特别要说明的就是这个添加的词
4. 由于不晓得哪些词可以添加,我们就拿百科的词条来进行添加。这里使用的互动百科词条,说明下,互动百科词条太不规范了!如果是硬性添加的话,分词系统肯定出问题。我试过加入:20万个词,处理小量的微博文本数据基本没问题,但是对于GB以上的,分词到了800M左右就出问题。后来为了测试能够添加多少,一次性加入了百万级的词作为用户词典,处理微博依然很好,但是对于大文本数据,就直接错误。
5.为了找出原因,就把我的想法说给同事听,想一起讨论下,我当然是努力发挥我的想象力去极力的猜测原因,而有的同事,大批特批了我的想法,说不懂原理就不要来妄加猜测!他说出了一句:程序员最忌讳的就是猜问题原因,80%是越猜越错,越错越猜...他语气盎然的样子,仿佛这就是他的真理!我其实很想争辩的,但想着我是想把解决问题的,就是想跟同事讨论下,要是因为同事的这几句话,来个辩论赛了,这不更加糟糕了!其实心里很想说:你看哥德巴赫猜想,很多伟大的理论,在未知的情况下,不都是前辈们展开了无限次的猜想,最终找到解决方案啊!算了,这句话,也就只能在博客里面说说了。
6.为了证实我的猜想,用户词典添加,哪些词不能使用,进行了大量的实验,最终得到的初步论证是:
(a)含有标点符号的词不要加入到用户词典,比如《时间简史》,"我的" ,杰克·玛丽,等等词语中间夹着着标点。
(b)中文中有含有英文字母,阿拉伯数字的词,比如 F-16战斗机,宝马740,β-胡萝卜素之类。
(c)字数太长的不要加入进去,本身就可以拆分成多个,比如:湖南省重点文物保护单位,英国经资产阶级革命 ,这类的词。
实际中去除了这些词后,我目前加的词长在2-5个以内,且满足上面的3个条件。还有一个关于:含有中文数字的:一,二,三,四,词,如;一心一意,第三世界,等词,目前我没有去除。而且上面或许又错误的地方,欢迎板砖啊!
7.由于这些词来源于:互动百科,所以出现了很多稀奇古怪的词,造成了在添加用户词典后,无法使用分词系统。所以就产生了我很多的猜测,于是就有了上面我想到的这些规则。读者看了,如果能给大家帮助,那就非常好!对于如何匹配所有标点符号,下次写一篇关于:java正则匹配的感想,里面提到如何匹配。
8. 最后说几句:
(1)程序员更要有猜想精神,虽说80%是错误的,还有20%奇迹会发生,要敢于实践想法!
(2)遇到问题如果是跟同事谈论,出现了强烈的反对声,出现争执时,你要立马收回情绪,不去积极辩论,为了营造一个好的工作氛围,你要想你的初衷跟同事讨论是去解决问题的!
(3)分享是学习进步的一个途径,乐于分享,欢迎别人的板砖。
相关推荐
百度以前用的中文分词词典,希望对大家有一点帮助
文本词典 中文分词 分词文本 纯文本词典 中文分词 分词文本 文本词典 信息检索
分词 中文 停止词 词典 分词 中文 停止词 词典 分词 中文 停止词 词典 分词 中文 停止词 词典
在使用jiba分词的情况下,使用这个词典有助于提高你的分词准确度,因为这个分词词典包含了众多领域词汇,这些词汇出自某dog的几十个细胞词库。已使用转换器转换成txt,欢迎下载。
盘古分词-开源中文分词组件词典PanGu_ReleaseV1.1.0.1
中文分词源代码,java语言。...代码通过读词典获取数据,进行中文分词。将词典读取的数据利用map去重,然后进行前缀扫面,详情见博客:https://blog.csdn.net/qq_40142391/article/details/82945556#commentsedit
中文分词使用的词典,涵盖量很大.可直接使用的词典资源,在做中文分词相关程序的时候很有用。
该词典描述的是一些词分析,用于分词,利用给定的中英文文本序列(见 Chinese.txt 和 English.txt),分别利用以下给定的中英文分词工具进行分词并对不同分词工具产生的结果进行简要对比分析。
jieba分词的自定义词典:使用jieba分词对语料进行分词之前,需要先载入,载入代码为jieba.load_userdict("userdict.txt")。
将地名全名词典分词获得分词后的地名词典,减少词条数目,增加查找速度。程序用一个中等省会城市测试,模糊查询和精确查询效果都不错。 4、加入地名输入提示的工具。 代码采用C#,为学习成果,尚有很多不完善地方,...
百度分词词典——常用词词典 自然语言处理分词专用 能够辅助分词,共1876个词。
这是前一段时间我在研究中文分词时在网上找到的一个词典,TXT格式的,拿出来分享一下。这是前一段时间我在研究中文分词时在网上找到的一个词典,TXT格式的,拿出来分享一下。这是前一段时间我在研究中文分词时在网上...
基于后缀数组的分词,是不需要词典和语料库。通过后缀数组和散列表获得汉字结合模式。
分词词典:现代汉语词典。从现代汉语词典提取出的完整版
中文分词 词典
花了几天从各大名牌分词软件中提出的中文词组,已经对词组进行了整理和排序,保存成了三个txt文件,精简:74248个词组、常用:118021个词组、全部:222685个词组、常用标点符号文件共四个文件。
jieba青春有你2自定义分词词典,青春有你2评论爬取,青春有你2视频饭圈自定义分词词典,jieba分词Python分词词典
NLPIR分词工具由中科院开发,其支持用户自定义词典。这是在做商品评论情感分析时整理的2019个自定义词汇。
word分词是一个Java实现的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。 能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。 同时提供了Lucene...