
NLP
Johnson0722
learning like deep learning
展开
-
概率语言模型分词方法
4.6 概率语言模型的分词方法从统计思想的角度来看,分词问题的输入是一个字串C=C1,C2,……,Cn,输出是一个词串S=W1,W2,……,Wm,其中m 例如对于输入字符串C"有意见分歧",有S1和S2两种切分可能。S1:有/ 意见/ 分歧/S2:有意/ 见/ 分歧/计算条件概率P(S1|C)和P(S2|C),然后采用概率大的值对应的切转载 2017-01-21 14:01:48 · 2261 阅读 · 0 评论 -
深入浅出语言模型
语言模型主要有统计语言模型(n-gram语言模型)和 神经网络语言模型等。下面分别介绍这两个语言模型以及两个模型之间的异同n-gram语言模型语言模型简单来讲,就是计算一个句子的概率,更确切的说是计算组成这个句子一系列词语的概率。举个简单的例子:s = “The cat jumped over the paddle”一个好的语言模型应该会给这个句子比较高的概率。因为这个句子在语义语...原创 2018-08-23 17:07:16 · 2531 阅读 · 0 评论 -
DAN Text Classification
Deep Unordered Composition Rivals Syntactic Methods for Text Classification文中提出了DAN(Deep average network),说白了就是对于一个句子或者一个段落,把每个单词的embedding进行平均求和,得到第一层固定维度的向量,然后在套几层全连接神经网络。没有套全连接层的网络叫NBOW, 这个之前经常...原创 2018-06-19 11:08:29 · 1645 阅读 · 5 评论 -
《A Self-Attention Setentence Embedding》阅读笔记及实践
算法原理本文利用self-attention的方式去学习句子的embedding,表示为二维矩阵,而不是一个向量,矩阵中的每一行都表示句子中的不同部分。模型中使用了self-attention机制和一个特殊的regularization term。 假设我们有一个句子SSS, 包含nnn个单词 S=(w1,w2,w3,...,wn)S=(w1,w2,w3,...,wn)S = (w_1...原创 2018-06-11 12:29:06 · 5791 阅读 · 1 评论 -
文本分类算法综述
业务背景最近一段时间在今日头条国际化部门实习,做的文本质量工作。主要是文本分类,就是用一些机器学习或者深度学习的方法过滤掉低俗的新闻。因为做的是小语种,比如说法语,德语,意语,泰米尔语等,标注力量特别有限,有些语种甚至找不到标注人员。在这种情况下,要通过模型准确的识别出低俗新闻,难度可想而知。解决办法:前期在没有标注的情况下,对每个小语种, 通过googletrans得到的一批低...原创 2018-03-18 17:37:02 · 7555 阅读 · 5 评论 -
基于gensim的doc2vec实践
1.“句向量”简介word2vec提供了高质量的词向量,并在一些任务中表现良好。 关于word2vec的原理可以参考这几篇论文:https://arxiv.org/pdf/1310.4546.pdfhttps://arxiv.org/pdf/1301.3781.pdf关于如何使用第三方库gensim训练word2vec可以参考这篇博客:http://blog.csdn.n...原创 2018-03-02 15:58:58 · 11798 阅读 · 5 评论 -
fastText原理及实践
原理论文地址:https://arxiv.org/pdf/1607.01759.pdf简介fastText是facebook在2016年提出的一个文本分类算法,是一个有监督模型,其简单高效,速度快,在工业界被广泛的使用。在学术界,可以作为baseline的一个文本分类模型。模型结构模型结构如下图所示,每个单词通过嵌入层可以得到词向量,然后将所有词向量平均可以得到文本的向...原创 2018-03-02 11:43:46 · 3452 阅读 · 1 评论 -
word2vec 中的数学原理详解
word2vec 是 Google 于 2013 年开源推出的一个用于获取 word vector 的工具包,它简单、高效,因此引起了很多人的关注。由于 word2vec 的作者 Tomas Mikolov 在两篇相关的论文 [3,4] 中并没有谈及太多算法细节,因而在一定程度上增加了这个工具包的神秘感。一些按捺不住的人于是选择了通过解剖源代码的方式来一窥究竟,出于好奇,我也成为了他们中的一员。读...转载 2018-03-01 14:39:03 · 1149 阅读 · 0 评论 -
中文分词的基本原理以及jieba分词的用法
结巴分词是国内程序员用Python开发的一个中文分词模块,可能是最好的Python中文分词组件?中文分词的原理–1、中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程2、现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法原创 2017-01-21 13:15:40 · 71486 阅读 · 11 评论 -
doc2vec原理及实践
1.“句向量”简介word2vec提供了高质量的词向量,并在一些任务中表现良好。 关于word2vec的原理可以参考这几篇论文:https://arxiv.org/pdf/1310.4546.pdfhttps://arxiv.org/pdf/1301.3781.pdf关于如何使用第三方库gensim训练word2vec可以参考这篇博客:http://blog.csdn.n原创 2018-01-30 17:20:10 · 20467 阅读 · 5 评论 -
TextCnn原理及实践
原理paper地址:https://arxiv.org/pdf/1408.5882.pdf 对于文本分类问题,常见的方法无非就是抽取文本的特征,比如使用doc2evc或者LDA模型将文本转换成一个固定维度的特征向量,然后在基于抽取的特征训练一个分类器。 然而研究证明,TextCnn在文本分类问题上有着更加卓越的表现。TextCnn的结构1. 嵌入层(embedding la原创 2018-01-30 20:01:35 · 24727 阅读 · 2 评论 -
创新工场深度学习暑期训练营 — 聊天机器人
聊天机器人是现在AI技术的综合体现的一个很重要的产品形式,技术会涉及自然语言理解,即充分理解用户说的话的意思,也要涉及自然语言生成,产生合适的回答来返回给用户。由于自然语言本身形式的不确定性和复杂性,这个任务可以说是具有非常大的挑战,且效果也很难做一个非常准确和直接的评判。 但越困难的事情,越是充满了吸引力。我们团队中的成员在项目兴趣选择时,都不约而同地首选了这个聊天机器人项目。团队里有比较懂深度原创 2017-08-20 11:50:47 · 1757 阅读 · 1 评论 -
基于 Gensim 的 Word2Vec 实践
Word2Vec基于 Gensim 的 Word2Vec 实践,从属于笔者的程序猿的数据科学与机器学习实战手册,代码参考gensim.ipynb。推荐前置阅读Python语法速览与机器学习开发环境搭建,Scikit-Learn 备忘录。Word2Vec TutorialGetting Started with Word2Vec and GloVe原创 2017-01-24 12:09:32 · 15350 阅读 · 2 评论 -
gensim学习笔记(三)- 计算文档之间的相似性
文档相似性的计算原创 2017-01-26 23:01:11 · 6639 阅读 · 0 评论 -
gensim学习笔记(一)- Vector space model
gensim是基于python的自然语言处理库,可以自动的从文档中提取特征,语义信息等等。包括向量空间模型,word2vec, LSI, LDA, 转换之类的操作,非常方便。下面总结一些其基本用法,具体的教程参见:http://radimrehurek.com/gensim/tutorial.html语料库和向量空间加载配置信息import logging#loading cofiguration原创 2017-01-25 23:02:54 · 3475 阅读 · 0 评论 -
gensim学习笔记(二)- Topic and Transformations(TF-IDF, LSI)
TF-IDF Transformation的基本原理及实现LSI Transformation的基本原理及实现原创 2017-01-26 16:23:22 · 8314 阅读 · 0 评论 -
新词发现
4.8 新词发现词典中没有的,但是结合紧密的字或词有可能组成一个新词。 比如:"水立方"如果不在词典中,可能会切分成两个词"水"和"立方"。如果在一篇文档中"水"和"立方"结合紧密,则"水立方"可能是一个新词。可以用信息熵来度量两个词的结合紧密程度。信息熵的一般公式是: 如果X和Y的出现相互独立,则P(X,Y)的值和P(X)P(Y)的值相等,I(X转载 2017-01-21 14:08:03 · 2523 阅读 · 0 评论 -
n-gram
4.7 N元分词方法在介绍N元模型之前,让我们先来做个香农游戏(Shannon Game)。我们给定一个词,然后猜测下一个词是什么。当我说"NBA"这个词时,你想到下一个词是什么呢?我想大家有可能会想到"篮球",基本上不会有人想到"足球"吧。切分出来的词序列越通顺,越有可能是正确的切分方案。N元模型主要用来衡量词序列搭配的合理性。N元模型指句子中在n个单词序列后出现的单词w的概率转载 2017-01-21 14:06:58 · 1097 阅读 · 0 评论 -
从0到1构建新闻长文本分类系统
新闻分类系统概述新闻分类系统,顾名思义,就是对于一片新闻或者是一片文章,进行自动的分类,例如政治,财经,娱乐等等 从技术角度讲,其实属于自然语言处理中比较经典的文本分类问题。当然在一个工业级别的分类系统当中,会遇到各种各样的问题,例如语料优化,文本预处理,特征抽取,模型选择及融合,硬规则等一系列问题。本人有幸在国内某一线互联网公司做过相关的工作,故做一些总结。分类系统架构设计对于...原创 2019-02-11 17:06:25 · 3085 阅读 · 0 评论