HanLP

HanLP中的人名识别分析详解

梦想的初衷 提交于 2020-04-18 01:52:59
在看源码之前,先看几遍论文《基于角色标注的中国人名自动识别研究》 关于命名识别的一些问题,可参考下列一些issue: u名字识别的问题 #387 u机构名识别错误 u关于层叠HMM中文实体识别的过程 HanLP参考博客: 词性标注 层叠HMM-Viterbi角色标注模型下的机构名识别 分词 在HMM与分词、词性标注、命名实体识别中说: 分词:给定一个字的序列,找出最可能的标签序列(断句符号:[词尾]或[非词尾]构成的序列)。结巴分词目前就是利用BMES标签来分词的,B(开头),M(中间),E(结尾),S(独立成词) 分词也是采用了维特比算法的动态规划性质求解的,具体可参考:文本挖掘的分词原理 角色观察 以“唱首张学友的歌情已逝”为例, 先将起始顶点 始##始,角色标注为:NR.A 和 NR.K,频次默认为1 对于第一个词“唱首”,它不存在于 nr.txt中,EnumItem<NR> nrEnumItem = PersonDictionary.dictionary.get(vertex.realWord);返回null,于是根据它本身的词性猜一个角色标注: 由于"唱首"的Attribute为 nz 16,不是nr 和 nnt,故默认给它指定一个角色NR.A,频率为nr.tr.txt中 NR.A 角色的总频率。 此时,角色列表如下: 接下来是顶点“张”,由于“张”在nr.txt中

Elasticsearch简单学习9:深入了解3

北慕城南 提交于 2020-02-27 01:17:12
一、中文分词器 《1.》HanLP – 面向生产环境的自然语⾔言处理工具包 ● http://hanlp.com/ ● https://github.com/KennFalcon/elasticsearch-analysis-hanlp 《2.》IK分词器 ● https://github.com/medcl/elasticsearch-analysis-ik 1.安装HanLP D:\softhan\elasticsearch\elasticsearch\elasticsearch-7.1.0> .\bin\elasticsearch-plugin.bat install https://github.com/KennFalcon/elasticsearch-analysis-hanlp/releases/download/v7.1.0/elasticsearch-analysis-hanlp-7.1.0.zip 2.安装IK分词器 PS D:\softhan\elasticsearch\elasticsearch\elasticsearch-7.1.0> .\bin\elasticsearch-plugin.bat install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1

HanLP pyhanlp 自定义分词词典

丶灬走出姿态 提交于 2020-02-22 17:21:14
词典格式: word pos\n 方法一:使用pyhanlp,具体方法如下: pip install pyhanlp # 安装pyhanlp 进入python安装包路径,如 /opt/anaconda3/lib/python3.7/site-packages/pyhanlp/static/ 将http://hanlp.properties.in改名为备份文件。 mv hanlp.properties.in hanlp.properties.in.bak 修改hanlp.properties vim hanlp.properties 向CustomDictionaryPath添加你自定义的词典路径,如: CustomDictionaryPath=data/dictionary/custom/self_define_dict.txt; 现代汉语补充词库.txt; 全国地名大全.txt; 人名词典.txt; 机构名词典.txt; 上海地名.txt ns; data/dictionary/person/nrf.txt nrf; 保存。 python脚本,调用pyhanlp示例: from pyhanlp import * print(HanLP.segment("在你想要放弃的时候,想想是什么让你当初坚持走到了这里。总是有人要赢的,那为什么不能是我")) 运行脚本后

安装pyhanlp

瘦欲@ 提交于 2020-02-17 19:58:35
安装pyhanlp pyhanlp是java写的,外层封装了python。 对于新手,在使用的时候稍有难度。 1. 下载源码 https://github.com/hankcs/pyhanlp git clone https://github.com/hankcs/pyhanlp.git 2. 创建虚机 python3 -m venv env source env/bin/activate 3. 安装pyhanlp cd pyhanlp pip install -e . 以下是日志 Obtaining file:///Users/huihui/git/pyhanlp Collecting jpype1==0.7.0 (from pyhanlp==0.1.62) Using cached https://files.pythonhosted.org/packages/28/63/784834e8a24ec2e1ad7f703c3dc6c6fb372a77cc68a2fdff916e18a4449e/JPype1-0.7.0.tar.gz Installing collected packages: jpype1, pyhanlp Running setup.py install for jpype1 ... done Running setup.py develop for

8.HanLP实现--命名实体识别

若如初见. 提交于 2020-02-13 02:00:23
文章目录 8. 命名实体识别 8.1 概述 8.2 基于隐马尔可夫模型序列标注的命名实体识别 8.3 基于感知机序列标注的命名实体识别 8.4 基于条件随机场序列标注的命名实体识别 8.5 命名实体识别标准化评测 8.6 自定义领域命名实体识别 8.7 GitHub 笔记转载于GitHub项目 : https://github.com/NLP-LOVE/Introduction-NLP 8. 命名实体识别 8.1 概述 命名实体 文本中有一些描述实体的词汇。比如人名、地名、组织机构名、股票基金、医学术语等,称为 命名实体 。具有以下共性: 数量无穷。比如宇宙中的恒星命名、新生儿的命名不断出现新组合。 构词灵活。比如中国工商银行,既可以称为工商银行,也可以简称工行。 类别模糊。有一些地名本身就是机构名,比如“国家博物馆” 命名实体识别 识别出句子中命名实体的边界与类别的任务称为 命名实体识别 。由于上述难点,命名实体识别也是一个统计为主、规则为辅的任务。 对于规则性较强的命名实体,比如网址、E-mail、IBSN、商品编号等,完全可以通过正则表达式处理,未匹配上的片段交给统计模型处理。 命名实体识别也可以转化为一个序列标注问题。具体做法是将命名实体识别附着到{B,M,E,S}标签,比如, 构成地名的单词标注为“B/ME/S- 地名”,以此类推。对于那些命名实体边界之外的单词

HanLP配置阶段报错处理(ValueError: 配置错误)

◇◆丶佛笑我妖孽 提交于 2020-02-04 10:30:15
报错信息 ValueError: 配置错误: 数据包 d:/python64/lib/site-packages/pyhanlp/static\data 不存在,请修改配置文件中的root 解决方案 参考文献: https://blog.csdn.net/cpt_ljy/article/details/101363784 依据参考文献,执行如下操作: 1.下载HanLP的data文件夹,data文件夹复制到报错信息路径的static文件夹中 下载地址: https://github.com/hankcs/HanLP 2.检查d:/python64/lib/site-packages/pyhanlp/static中hanlp.properties文件的root变量值,发现路径无误 #本配置文件中的路径的根目录,根目录+其他路径=完整路径。通过绝对路径,pyhanlp可以和HanLP共享同一份data #Windows用户请注意,路径分隔符统一使用/ root=d:/python64/lib/site-packages/pyhanlp/static 执行以上两步操作后,运行仍然报错,经过进一步的检查,发现: 3.发现在root变量值后多出一个"\r",将这个额外的"\r"删去 再次重新尝试运行,不再报错可正常使用。 来源: CSDN 作者: 长行 链接: https://blog

elasticsearch教程--中文分词器作用和使用

北城余情 提交于 2020-01-28 08:52:12
概述 本文都是基于 elasticsearch安装教程 中的elasticsearch安装目录(/opt/environment/elasticsearch-6.4.0)为范例 环境准备 · 全新最小化安装的 centos 7.5 ·elasticsearch 6.4.0 认识中文分词器 在博文 elasticsearch分词器中提到elasticsearch能够快速的通过搜索词检索出对应的文章归功于倒排索引,下面通过中文举例看看倒排索引。 中文分词器作用以及效果 中文分词器是做什么的呢 ? what? 通过名字就知道了啊,为什么还要问。。。下面通过三个文档示例,看看它是如何分词的 文档 1: 我爱伟大的祖国 文档 2: 祝福祖国强大繁 文档 3: 我爱蓝天白云 经过中文分词器 ,以上文档均会根据分词规则,将文档进行分词后的结果如下: 注意 :不同的分词规则,分词结果不一样,选择根据分词器提供的分词规则找到适合的分词规则 文档 1分词结果: [我,爱,伟大,的,祖国] 文档 2分词结果: [祝福,祖国,强大,繁盛] 文档 3分词结果: [我,爱,蓝天白云,蓝天,白云] 通过上面的分词结果,发现拆分的每个词都是我们熟知的词语, 但是如果不使用中文分词,就会发现上面的文档把每个字拆分成了一个词,对我们中文检索很不友好。 再看倒排索引 看到上面中文分词器结果 ,就会有新的疑问

python3 安装pyhanlp方法

烂漫一生 提交于 2020-01-25 02:41:08
直接pip install pyhanlp的时候会提示缺少Microsoft Visual c++环境, 其实没有Microsoft Visual c++环境也是可以的, 可以先安装jpype1,然后在pip install pyhanlp就行了。 步骤: ①在python非官方库网站上下载库jpyre1的whl文件, 文件链接https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype 下载后在命令提示符里切换到下载的路径下,执行pip install JPype1-0.6.3-cp36-cp36m-win_amd64.whl就安装上了。 ②执行pip install pyhanlp,就能安装了。 安装完成后并不能使用,需要下载一个jar包、data文件和properties文件,因为hanlp是java开发的虽然有python的API但是还是需要java环境,所以需要安装JDK。 在命令行里输hanlp或者在python提示符下输import pyhanlp,它会自动下载jar包、data文件和properties文件到默认的目录,data文件比较大1个G左右,下载完成后命令提示符中输入hanlp,如果已经安装了JDK扔出现下面错误 File "d:\program files (x86)\python3\setup\lib\site

python实战===用python调用jar包(原创)

和自甴很熟 提交于 2020-01-17 04:29:47
一个困扰我很久的问题,今天终于解决了。用python调用jar包 很简单,但是网上的人就是乱转载。自己试都不试就转载,让我走了很多弯路 背景:python3.6 32位 + jre 32位 + windows64位 首先环境搭建: 安装jpype,安装的时候输入 pip install jpype1 (后面要加一个1) *一定要注意 jre和python的位数一定要一样的 安装jre 根据你的python版本选择对应位数的jre文件http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html 我下载的是:jre-8u151-windows-i586.tar.gz 下载后直接解压到本地d盘 需要的是这个路径下的这个文件: import jpype # jvmPath = jpype.getDefaultJVMPath() jvmPath = ur'D:\jre-8u151-windows-i586\jre1.8.0_151\bin\client\jvm.dll' jpype.startJVM(jvmPath) jpype.java.lang.System.out.println("hello world!") jpype.shutdownJVM() 执行不报错就成功。

Hanlp配置

早过忘川 提交于 2020-01-10 08:14:12
HanLP基于Java语言的'装配' 吐槽 需要的东西 具体操作 HanLP.jar和data hanlp.properties文件内容 效果 相关的学习网址 吐槽 网上翻了很多相关Hanlp配置的相关连接,大多都是说要什么,也有github的连接,但是没有具体指出位置。甚至还有hanlp.properties配置写jdbc的。我真的佩服。在翻了一天的网站后(大多重复一致的),终于给我弄出来了(应该是弄出来了吧 = =)。 需要的东西 需要的东西就大部分网上说的东西: 1.Hanlp的jar 2.data文件夹(分为简易,标准,完整,三个版本) 3.hanlp.properties文件 具体操作 HanLP.jar和data https://global.v2ex.com/t/503247 这个连接里可以直接点击下载Hanlp的jar包和数据部分 还有许多的网站给出的是GitHub的官方连接: https://github.com/hankcs/HanLP/releases 这里应该下载latest release里的内容,就是第二张图中的几个zip文件(下载第一个和第二个就行)。 其中hanlp-1.7.6-release.zip里面就是相关的jar包。 hanlp-1.7.6.zip解压后有一个data文件可以直接拿来用(不知道怎么回事,我在没加入data文件是