Hanlp自然语言处理中的词典格式说明
使用过hanlp的都知道hanlp中有许多词典,它们的格式都是非常相似的,形式都是文本文档,随时可以修改。本篇文章详细介绍了hanlp中的词典格式,以满足用户自定义的需要。
基本格式
词典分为词频词性词典和词频词典。
1、词频词性词典(如CoreNatureDictionary.txt)
(1)每一行代表一个单词,格式遵从[单词] [词性A] [A的频次] [词性B] [B的频次] ...。
(2)支持省略词性和频次,直接一行一个单词。
(3).txt词典文件的分隔符为空格或制表符,所以不支持含有空格的词语。如果需要支持空格,请使用英文逗号,分割的纯文本.csv文件。在使用Excel等富文本编辑器时,则请注意保存为纯文本形式。
2、词频词典(如CoreNatureDictionary.ngram.txt)
(1)每一行代表一个单词或条目,格式遵从[单词] [单词的频次]。
(2)每一行的分隔符为空格或制表符。
少数词典有自己的专用格式,比如同义词词典兼容《同义词词林扩展版》的文本格式,而转移矩阵词典则是一个csv表格。
下文主要介绍通用词典,如不注明,词典特指通用词典。
数据结构
Trie树(字典树)是HanLP中使用最多的数据结构,为此,我实现了通用的Trie树,支持泛型、遍历、储存、载入。
用户自定义词典采用AhoCorasickDoubleArrayTrie和二分Trie树储存,其他词典采用基于双数组Trie树(DoubleArrayTrie)实现的AC自动机AhoCorasickDoubleArrayTrie。关于一些常用数据结构的性能评估,请参考wiki。
储存形式
词典有两个形态:文本文件(filename.txt)和缓存文件(filename.txt.bin或filename.txt.trie.dat和filename.txt.trie.value)。
1、文本文件
·采用明文储存,UTF-8编码,CRLF换行符。
2、缓存文件
(1)就是一些二进制文件,通常在文本文件的文件名后面加上.bin表示。有时候是.trie.dat和.trie.value。后者是历史遗留产物,分别代表trie树的数组和值。
(2)如果你修改了任何词典,只有删除缓存才能生效。
修改方法
HanLP的核心词典训练自人民日报2014语料,语料不是完美的,总会存在一些错误。这些错误可能会导致分词出现奇怪的结果,这时请打开调试模式排查问题:
HanLP.Config.enableDebug();
(1)核心词性词频词典
a)比如你在data/dictionary/CoreNatureDictionary.txt中发现了一个不是词的词,或者词性标注得明显不对,那么你可以修改它,然后删除缓存文件使其生效。
B)目前CoreNatureDictionary.ngram.txt的缓存依赖于CoreNatureDictionary.txt的缓存,修改了后者之后必须同步删除前者的缓存,否则可能出错
(2)核心二元文法词典
a) 二元文法词典data/dictionary/CoreNatureDictionary.ngram.txt储存的是两个词的接续,如果你发现不可能存在这种接续时,删掉即可。
B)你也可以添加你认为合理的接续,但是这两个词必须同时在核心词典中才会生效。
(3)命名实体识别词典
a)基于角色标注的命名实体识别比较依赖词典,所以词典的质量大幅影响识别质量。
b)这些词典的格式与原理都是类似的,请阅读相应的文章或代码修改它。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云RPA(机器人流程自动化)干货系列之三:阿里云RPA介绍
导读:本文是阿里云RPA(机器人流程自动化)干货系列之三,详细介绍了阿里云RPA的产生背景、技术特点、功能特性、非功能指标以及发展现状等。 一、产生背景 在2011年,随着阿里巴巴集团的各项业务突飞猛进,集团内的各个部门都遇到了越来越严峻的员工操作电脑时流程复杂、效率低下的问题,急需一种方法来提升员工的效率,好让他们去做更有价值的工作——于是,阿里云RPA(原码栈)就在这种背景下应运而生了。 在当时的背景下,为何集团内部有这么多的人员信赖阿里云RPA产品呢,主要在于当时的码栈产品具有以下几个优势: 1)得到验证:已在阿里巴巴集团内部的许多业务部门得到验证 自从2011年应运而生以来,阿里云RPA已经在集团内部的诸如淘宝、天猫、蚂蚁金服、阿里云、飞猪、集团管理平台等等业务部门得到了广泛的应用。凭借强大的功能和稳定的表现,阿里云RPA的用户数量
- 下一篇
阿里工程师养了只“二哈”,专治讨厌的骚扰电话
前几天的3.15晚会上曝光了利用智能机器人,一天打4万个骚扰电话,从而赚取利润的黑色产业链。 阿里的工程师恼了,技术是用来让人们生活变美好的,不是被利用来走向阴暗的。 机器人的问题交给机器人! 工程师们用业余时间开发的AI机器人——“二哈”要登场了~ 视频感受一下咱们“二哈”,连女推销员都丝毫没有察觉。 1、 别惹程序员,用机器人对付机器人 研发“二哈”,其实就是阿里的技术人,对日益普遍的骚扰电话很头疼,而且更可气的是,大量骚扰电话是机器自动拨出的,成本越来越低。 这些骚扰电话,甚至还影响到日常工作,会议开着开着,经常被各类电话打断导致会议终中断。于是阿里AI实验室的同学们开始思考着如何用技术的方式解决问题。 阿里AI实验室天猫精灵算法团队,聚集着语音识别、NLP、知识图谱……全链条的技术人才,当技术人聚在一起,那就能搞事情了。 于是他们先以“课余
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能