NLP
文章平均质量分 62
爱知菜
Renjie Wei
展开
-
从RNN到UniLM:NLP & DeepLearning技术发展历程。
最近在研究NLG,看了很多资料顺便整理一下收获。使用DeepLearning技术在NLP领域,最初是从RNN开始的。模型RNNRNN的R是recurrent,中文全称循环神经网络。这种神经网络比传统的神经网络的优势是有记忆力。在计算的过程中,除了有输入外,还会把上一次的计算产生的隐藏层也一并输入进来。“一并输入进来”这个过程叫concat,具体做法其实很简单,就是把输入的向量和隐藏层的向量接起来。比如输入向量长度是5, 隐藏层长度是128, 那么RNN的输入层长度就是12原创 2021-08-04 18:22:58 · 334 阅读 · 0 评论 -
NLP和感知机
最近在看Hanlp作者的一本书,讲到了感知机,这里简单说下。感知机本质就是一个线性函数,很像一个神经网络里的一个神经元。不同点是神经元有一个激活函数,而感知机就是通过结果的正负来做二分类。感知机的损失函数,或者说惩罚函数,就是对于误分类的样本,希望他们的感知结果的绝对值总和越小越好。选择这个惩罚函数的原因是”它是可导的”,可以梯度下降到的一个极小值。完成感知机的训练后,用感知机的感知结果和,用它代替HMM模型中的概率距离和,还是用维特比算法求最小路径,就能得到正确的分词结果。..原创 2021-01-07 11:59:58 · 260 阅读 · 0 评论 -
pyhanlp 自定义词典操作
在代码中编辑自定义词典CustomDictionary = JClass("com.hankcs.hanlp.dictionary.CustomDictionary")CustomDictionary.add("代行", "nnt 1999")CustomDictionary.add("李紫文", "nr 1")CustomDictionary.add("胡浩洋", "nr 1")强制 优先自定义词典HanLP.newSegment()\ .enableNameRecogni原创 2020-12-30 19:20:02 · 716 阅读 · 0 评论 -
使用简单的nltk的API 得到一系列字母可以组成的所有单词
import nltkwordlist=nltk.corpus.words.words()if __name__=='__main__': while(True): letters=raw_input('letters:') rs=[w for w in wordlist if len(w)>1 and nltk.FreqDist(w)<=nltk.FreqDist(lette原创 2014-02-23 23:22:45 · 1665 阅读 · 0 评论 -
社交平台舆情分析项目的总结和感想(LU学习,EM,KNN)(二)
前文说到根据贝叶斯过滤器筛选出的评论将其中被分类为有价值评论的排名前50条拿出来作人工标注,这样就得到了一个小评论样本库。于是我们面对的问题就变成了一个典型的部分监督学习,又称LU学习。LU学习的全称是Labeled Examples & Unlabeled Examples,和监督学习相比,LU学习不仅会把那些已标引的数据用于训练分类器,还会把未标引的数据中的有价值信息挖掘出来加以充分利用。原创 2013-11-03 14:58:21 · 2660 阅读 · 0 评论 -
社交平台舆情分析项目的总结和感想(SELENIUM,NLTK,贝叶斯分类器)(一)
前一段时间做了一个社交平台(比如新浪微博,腾讯微博)上面话题的评论采集和分析的项目,具体技术用到了selenium和python的nltk库。首先是数据采集,这里没有使用这些平台的开放API,而是用到了selenium技术,原因是因为开放API往往有采集频率的限制而且部分平台的API不够完善,而用selenium采集可以解决 网页上的核心数据通过ajax异步加载的问题。然后是数据的预处理,原创 2013-11-02 21:01:41 · 7283 阅读 · 0 评论 -
jieba 分词源代码研读(2)
上一篇文章说道结巴分词用了包装器实现了在 get_DAG 函数执行器生成了 trie 树。在这片文章中我们要探讨一下所谓的 DAG(有向无环图,全称:directed acyclic graphs )原创 2013-10-05 15:33:42 · 5625 阅读 · 3 评论 -
Web数据挖掘 第十一章 观点挖掘和情感分析的读书笔记
对一条评论的分析可以这样建模:E 表示实体,可能是一个事件或者被评论的产品A 表示实体的某个方面,比如 屏幕是手机的一个方面表达式 对E 或 A的描述观点持有人发表时间一条文本评论往往可以通过上述5个元素来描述。分类算法:针对某个词,判断该词表达的情感是正面的还是负面的:通过预先设置一个表达肯定语态的典型词和一个表达否定语态的典型词,然后计算该词 与这两个典原创 2013-10-12 19:50:52 · 3308 阅读 · 1 评论 -
jieba 分词改进(1)
前文提出了一个问题即结巴分词对于未登录词的分词表现差强人意,有什么解决办法呢?让我们回过头来梳理一下结巴分词的HMM模型及其应用。条件维特比算法。原创 2013-10-11 20:54:52 · 3315 阅读 · 0 评论 -
jieba 分词源代码研读(4)
在上一节中我们考察了结巴分词对于未登录词的分词方法,它使用了HMM模型和用来解码HMM的维特比算法。较之基于语料库打分的初步分词结果,例句:'乔治马丁写冰与火之歌拖了好久'分词情况变成了这样:'乔治/马丁/写冰/与/火之歌/拖/了/好久'比原来有改进,但改进幅度可以忽略不计。。。下一步我们就要调试代码了,目前可以知道程序会把连续的单个的字收集起来组成字符串交由 fina原创 2013-10-09 18:35:44 · 3902 阅读 · 1 评论 -
jieba 分词源代码研读(3)
前面两篇文章说到了根据语料库和频度打分机制生成一个初步的分词结果。但是我们的分词结果仅仅用到了语料库已有的词语和频度,还没有用上词性,所以对于语料库中没有出现的词语判断能力等于0,比如下面这句:'乔治马丁写冰与火之歌拖了好久'其分词结果如下:{0: (-99.10570994217552, 1), 1: (-95.82849854029436, 1), 2: (-86.839605原创 2013-10-08 16:20:37 · 9120 阅读 · 0 评论 -
对Python中文分词模块结巴分词算法过程的理解和分析
结巴分词是国内程序员用python开发的一个中文分词模块, 源码已托管在github, 地址在: https://github.com/fxsjy/jieba作者的文档写的不是很全, 只写了怎么用, 有一些细节的文档没有写.以下是作者说明文件中提到的结巴分词用到的算法:基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)采用了转载 2013-09-30 15:23:14 · 62737 阅读 · 5 评论 -
jieba 分词源代码研读(1)
从github上下载源代码后,打开 文件夹 jieba,找到__init__.py,结巴分词最主要的函数 cut 就定义在这个文件中。这个函数的前半部分主要是根据用户指定的模式 用 正则表达式 将输入的文本 分块(block)。然后针对每一块进行分词,默认情况(精确模式)下使用的 块的分词函数叫 __cut_DAG 。__cut_DAG 函数的一开是调用了 get_DAG(sentence原创 2013-10-01 16:47:24 · 9886 阅读 · 0 评论