使用过hanlp的都知道hanlp中有许多词典,它们的格式都是非常相似的,形式都是文本文档,随时可以修改.本篇文章详细介绍了hanlp中的词典格式,以满足用户自定义的需要. 基本格式 词典分为词频词性词典和词频词典. 1.词频词性词典(如CoreNatureDictionary.txt) (1)每一行代表一个单词,格式遵从[单词] [词性A] [A的频次] [词性B] [B的频次] .... (2)支持省略词性和频次,直接一行一个单词. (3).txt词典文件的分隔符为空格或制表符,所以不支持含…
转载 https://zhuanlan.zhihu.com/p/49271699 首发于深度学习前沿笔记 写文章   从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史 张俊林 你所不知道的事 179 人赞了该文章 Bert最近很火,应该是最近最火爆的AI进展,网上的评价很高,那么Bert值得这么高的评价吗?我个人判断是值得.那为什么会有这么高的评价呢?是因为它有重大的理论或者模型创新吗?其实并没有,从模型创新角度看一般,创新不算大.但是架不住效果太好了,基本刷新了很…
从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史 Bert最近很火,应该是最近最火爆的AI进展,网上的评价很高,那么Bert值得这么高的评价吗?我个人判断是值得.那为什么会有这么高的评价呢?是因为它有重大的理论或者模型创新吗?其实并没有,从模型创新角度看一般,创新不算大.但是架不住效果太好了,基本刷新了很多NLP的任务的最好性能,有些任务还被刷爆了,这个才是关键.另外一点是Bert具备广泛的通用性,就是说绝大部分NLP任务都可以采用类似的两阶段模式直接去提升效果,这…
注意力机制(Attention Mechanism)在自然语言处理中的应用 本文转自:http://www.cnblogs.com/robert-dlut/p/5952032.html  近年来,深度学习的研究越来越深入,在各个领域也都获得了不少突破性的进展.基于注意力(attention)机制的神经网络成为了最近神经网络研究的一个热点,本人最近也学习了一些基于attention机制的神经网络在自然语言处理(NLP)领域的论文,现在来对attention在NLP中的应用进行一个总结,和大家一起分…
注意力机制(Attention Mechanism)在自然语言处理中的应用 近年来,深度学习的研究越来越深入,在各个领域也都获得了不少突破性的进展.基于注意力(attention)机制的神经网络成为了最近神经网络研究的一个热点,本人最近也学习了一些基于attention机制的神经网络在自然语言处理(NLP)领域的论文,现在来对attention在NLP中的应用进行一个总结,和大家一起分享. 1 Attention研究进展 Attention机制最早是在视觉图像领域提出来的,应该是在九几年思想就提…
http://www.hankcs.com/nlp/ansj-word-pairs-array-tire-tree-achieved-with-arrays-dic-dictionary-format.html arrays.dic是一个双数组Trie树格式的词典,用文本的形式储存了索引,字串,base,check,status与词性. 一个直观的图示: index就是base数组中的下标. term是词的当前状态,不一定代表一个词,如“一举一”是“一举一动”的前缀. base是base数组的值…
自然语言处理中的自注意力机制(Self-attention Mechanism) 近年来,注意力(Attention)机制被广泛应用到基于深度学习的自然语言处理(NLP)各个任务中,之前我对早期注意力机制进行过一些学习总结(可见http://www.cnblogs.com/robert-dlut/p/5952032.html).随着注意力机制的深入研究,各式各样的attention被研究者们提出.在2017年6月google机器翻译团队在arXiv上放出的<Attention is all yo…
N-Gram(有时也称为N元模型)是自然语言处理中一个非常重要的概念,通常在NLP中,人们基于一定的语料库,可以利用N-Gram来预计或者评估一个句子是否合理.另外一方面,N-Gram的另外一个作用是用来评估两个字符串之间的差异程度.这是模糊匹配中常用的一种手段.本文将从此开始,进而向读者展示N-Gram在自然语言处理中的各种powerful的应用. 基于N-Gram模型定义的字符串距离 利用N-Gram模型评估语句是否合理 使用N-Gram模型时的数据平滑算法 欢迎关注白马负金羁的博客 htt…
自然语言处理中的Attention Model:是什么及为什么 2017-07-13 张俊林 待字闺中 要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文有时会简称AM模型)这个词.AM模型应该说是过去一年来NLP领域中的重要进展之一,在很多场景被证明有效.听起来AM很高大上,其实它的基本思想是相当直观简洁的.本文作者可以对灯发誓:在你读完这篇啰里啰嗦的文章及其后续文章后,一定可以透彻了解AM到底是什么,以及轻易看懂任何有关论文看上去复杂的数学公…
自然语言处理中的Attention Model:是什么及为什么 https://blog.csdn.net/malefactor/article/details/50550211 /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文有时会简称AM模型)这个词.AM模型应该说是过去一年来NLP领域中的重要进展之一,在很多场景被证明有效.听起来AM很高大上…
卷积神经网络(Convolution Neural Network, CNN)在数字图像处理领域取得了巨大的成功,从而掀起了深度学习在自然语言处理领域(Natural Language Processing, NLP)的狂潮.2015年以来,有关深度学习在NLP领域的论文层出不穷.尽管其中必定有很多附庸风雅的水文,但是也存在很多经典的应用型文章.笔者在2016年也发表过一篇关于CNN在文本分类方面的论文,今天写这篇博客的目的,是希望能对CNN的结构做一个比较清晰的阐述,同时就目前的研究现状做一个…
自然语言处理中的语言模型预训练方法(ELMo.GPT和BERT) 最近,在自然语言处理(NLP)领域中,使用语言模型预训练方法在多项NLP任务上都获得了不错的提升,广泛受到了各界的关注.就此,我将最近看的一些相关论文进行总结,选取了几个代表性模型(包括ELMo [1],OpenAI GPT [2]和BERT [3])和大家一起学习分享. 1. 引言 在介绍论文之前,我将先简单介绍一些相关背景知识.首先是语言模型(Language Model),语言模型简单来说就是一串词序列的概率分布.具体来说,…
本篇分享的依然是关于hanlp的分词使用,文章内容分享自 gladosAI 的博客,本篇文章中提出了一个问题,hanlp分词影响了实验判断结果.为何会如此,不妨一起学习一下 gladosAI 的这篇文章. 学习内容 在之前的实验中得到了不在词向量里的词与分词结果,结果有500多个词不在词向量里,解决方案就是重新分词,或再追加训练这些词到词向量里.但后者相对麻烦且目前样本量不大.我跟据词向量的作者[6]所使用的分词工具来分词,会比不同工具(jieba)的效果要好,因为都是同一模式的分词,分出来的词…
新词发现 本“新词发现”模块基于信息熵和互信息两种算法,可以在无语料的情况下提取一段长文本中的词语,并支持过滤掉系统中已存在的“旧词”,得到新词列表. 调用方法 静态方法 一句话静态调用接口已经封装到HanLP中: /** * 提取词语 * * @param text 大文本 * @param size 需要提取词语的数量 * @return 一个词语列表 */ public static List<WordInfo> extractWords(String text, int size) /…
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.NET/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 上一篇博文深度学习方法(八):Encoder-Decoder模型,基本Sequence to Sequence模型描述了基本的Encoder-Decoder模型,在作为翻译模型的时候,这种基本的Encoder-Decoder模型有较大缺点,就是Encoder部分每一个输入对Decoder部分每一个输出的贡献都是一样的.下面先看一个例子…
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld.技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. Encoder-Decoder(编码-解码)是深度学习中非常常见的一个模型框架,比如无监督算法的auto-encoding就是用编码-解码的结构设计并训练的:比如这两年比较热的image caption的应用,就是CNN-RNN的编码-解码框架:再比如神经网络机器翻译NMT模型,往往就是LSTM-LSTM的编码-解码框架.因此,准确的说…
/* 版权声明:能够随意转载.转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文有时会简称AM模型)这个词. AM模型应该说是过去一年来NLP领域中的重要进展之中的一个.在非常多场景被证明有效.听起来AM非常高大上,事实上它的基本思想是相当直观简洁的.本文作者能够对灯发誓:在你读完这篇啰里啰嗦的文章及其兴许文章后,一定能够透彻了解AM究竟是什么,以及轻易看懂不论什么有关论文看上去…
自然语言处理之LSA LSA(Latent Semantic Analysis), 潜在语义分析.试图利用文档中隐藏的潜在的概念来进行文档分析与检索,能够达到比直接的关键词匹配获得更好的效果. LSA的核心思想 假设有 nn 篇文档,这些文档中的单词总数为 mm (可以先进行分词.去词根.去停止词操作),我们可以用一个 m∗nm∗n的矩阵 XX 来表示这些文档,这个矩阵的每个元素 XijXij 表示第 ii 个单词在第 jj 篇文档中出现的次数(也可用tf-idf值).下文例子中得到的矩阵见下图…
使用Multi-head Self-Attention进行自动特征学习的CTR模型 https://blog.csdn.net/u012151283/article/details/85310370 nlp中的Attention注意力机制+Transformer详解 https://zhuanlan.zhihu.com/p/53682800…
转载说明来源:http://blog.csdn.net/malefactor/article/details/50550211 author: 张俊林 原文写得非常好! 原文: 要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文有时会简称AM模型)这个词.AM模型应该说是过去一年来NLP领域中的重要进展之一,在很多场景被证明有效.听起来AM很高大上,其实它的基本思想是相当直观简洁的.本文作者可以对灯发誓:在你读完这篇啰里啰嗦的文章及其后续文章后,…
要使用hanlp加载自定义词典可以通过修改配置文件hanlp.properties来实现.要注意的点是: 1. root根路径的配置: hanlp.properties中配置如下: #本配置文件中的路径的根目录,根目录+其他路径=完整路径(支持相对路径,请参考:https://github.com/hankcs/HanLP/pull/254) #Windows用户请注意,路径分隔符统一使用/ root=D:/Project/public_sentiment_monitor/plugin/hanl…
本文是整理了部分网友在配置hanlp自定义词典时遇到的一小部分问题,同时针对这些问题,也提供另一些解决的方案以及思路.这里分享给大家学习参考. 要使用hanlp加载自定义词典可以通过修改配置文件hanlp.properties来实现. 要注意的点是: 1.root根路径的配置: hanlp.properties中配置如下: #本配置文件中的路径的根目录,根目录+其他路径=完整路径(支持相对路径) #Windows用户请注意,路径分隔符统一使用/ root=D:/Project/public_se…
2. 词典分词 中文分词:指的是将一段文本拆分为一系列单词的过程,这些单词顺序拼接后等于原文本. 中文分词算法大致分为基于词典规则与基于机器学习这两大派. 2.1 什么是词 在基于词典的中文分词中,词的定义要现实得多:词典中的字符串就是词. 词的性质--齐夫定律:一个单词的词频与它的词频排名成反比. 2.2 词典 互联网词库(SogouW, 15万个词条).清华大学开放中文词库(THUOCL).HanLP词库(千万级词条) 这里以HanLP附带的迷你核心词典为例(本项目路径):data/dict…
[环境]python 2.7 方法一:使用pyhanlp,具体方法如下: pip install pyhanlp  # 安装pyhanlp 进入python安装包路径,如 /usr/lib/python2.7/site-packages/pyhanlp/static/ 将http://hanlp.properties.in改名为备份文件. mv hanlp.properties.in hanlp.properties.in.bak 修改hanlp.properties vim hanlp.pro…
对于词典,直接加载文本会很慢,所以HanLP对于文本文件做了一些预处理,生成了后缀名为.txt.bin的二进制文件. 这些二进制文件相当于缓存,避免了每次加载去读取多个文件. 通过这种txt和bin结合的方式,HanLP一方面方便用户编辑查看词典,另一方面bin方便加载,这种方式可谓是兼二者之长,设计上堪称典范. 打开hanlp的data目录data\dictionary\custom,删除所有的.txt.bin文件,这样一来,HanLP下次加载词典时会自动构建.txt.bin,这样一来,你对文…
笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP 13. 深度学习与自然语言处理 13.1 传统方法的局限 前面已经讲过了隐马尔可夫模型.感知机.条件随机场.朴素贝叶斯模型.支持向量机等传统机器学习模型,同时,为了将这些机器学习模型应用于 NLP,我们掌握了特征模板.TF-IDF.词袋向量等特征提取方法.而这些方法的局限性表现为如下: 数据稀疏 首先,传统的机器学习方法不善于处理数据稀疏问题,这在自然语言处理领域显得尤为突出,语…
十分钟学习自然语言处理概述 作者:白宁超 2016年9月23日00:24:12 摘要:近来自然语言处理行业发展朝气蓬勃,市场应用广泛.笔者学习以来写了不少文章,文章深度层次不一,今天因为某种需要,将文章全部看了一遍做个整理,也可以称之为概述.关于这些问题,博客里面都有详细的文章去介绍,本文只是对其各个部分高度概括梳理.(本文原创,转载注明出处:十分钟学习自然语言处理概述  ) 1 什么是文本挖掘? 文本挖掘是信息挖掘的一个研究分支,用于基于文本信息的知识发现.文本挖掘的准备工作由文本收集.文本分…
自然语言处理在大数据以及近年来大火的人工智能方面都有着非同寻常的意义.那么,什么是自然语言处理呢?在没有接触到大数据这方面的时候,也只是以前在学习计算机方面知识时听说过自然语言处理.书本上对于自然语言处理的定义或者是描述太多专业化.换一个通俗的说法,自然语言处理就是把我们人类的语言通过一些方式或者技术翻译成机器可以读懂的语言. 人类的语言太多,计算机技术起源于外国,所以一直以来自然语言处理基本都是围绕英语的.中文自然语言处理当然就是将我们的中文翻译成机器可以识别读懂的指令.中文的博大精深相信每一…
笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP 10. 文本聚类 正所谓物以类聚,人以群分.人们在获取数据时需要整理,将相似的数据归档到一起,自动发现大量样本之间的相似性,这种根据相似性归档的任务称为聚类. 10.1 概述 聚类 聚类(cluster analysis )指的是将给定对象的集合划分为不同子集的过程,目标是使得每个子集内部的元素尽量相似,不同子集间的元素尽量不相似.这些子集又被称为簇(cluster),一般没有交…
HanLP中文自然语言处理工具实例演练 作者:白宁超 2016年11月25日13:45:13 摘要:HanLP是hankcs个人完成一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用.HanLP具备功能完善.性能高效.架构清晰.语料时新.可自定义的特点. 在提供丰富功能的同时,HanLP内部模块坚持低耦合.模型坚持惰性加载.服务坚持静态提供.词典坚持明文发布,使用非常方便,同时自带一些语料处理工具,帮助用户训练自己的语料.笔者坚定支持开源的项目,本文初衷是使用自然语言…