自然语言处理
文章平均质量分 68
Shingle_
Done is better than perfect.
展开
-
统计自然语言处理——概率论基础
对于从事统计自然语言处理来说,了解概率论、信息论以及语言学知识都是很有必要的。 下面内容主要介绍了在统计自然语言处理中需要了解的概率论基础。概率如果P(A)作为事件A的概率,Ω是试验的样本空间,则概率函数满足下面三条公理:非负性 P(A) >= 0规范性 P(Ω) = 1可列可加性:对于不相交的集合Aj ∈F 条件概率和独立性假设事件B的概率已知,那么事件A发生的条件概率为(P(B) > 0原创 2016-07-13 12:14:09 · 1467 阅读 · 0 评论 -
文本匹配(Text Matching)
文本匹配的价值与应用搜索:搜索词 & 文档资源Query请求(Query补全、Query解析、需求理解) ->资源召回(精准召回、核心召回、语义召回) ->资源排序(CTR预估模型、CVR预估模型、相关性模型) ->直达曝光(UI模板系统、分层实验系统、模拟召回平台) ->用户点击 ->商业计价(广告接入平台、关键词售卖、推荐系...原创 2018-08-24 20:42:07 · 3330 阅读 · 0 评论 -
奇异值分解(Singular Value Decomposition, SVD)
提取信息的强大工具。简化数据、去除噪声、提高算法结果。利用SVD实现,我们能够用小得多的数据集来表示原始数据集。这样做,实际上是去除了噪声和冗余信息。SVD时一种强大的降维工具,可以利用SVD来逼近矩阵并从中提取重要特征,通过保留矩阵80%~90%的能量,就可以得到重要特征并去掉噪声。SVD的应用这里先介绍SVD可能的用途,下一节介绍SVD相关知识。隐语义索引SVD的历...原创 2018-08-24 20:37:20 · 1153 阅读 · 0 评论 -
分词
对于西方拼音语言来说,从词之间由明确的分界符,而很多亚洲语言(如汉语、日语、韩语、泰语)词之间没有明确的分界符,因此需要先对句子进行分词,才能做进一步的自然语言处理(也适用于英文词组的分割、或者手写识别,平板电脑、智能手机手写时单词间的空格可能不清楚)。分词的输入是一串词,分词的输出是用分界符分割的一串词。分词的不一致性问题:越界型错误:“北京大学生” -> “北京大学”、“生...原创 2018-09-07 20:41:14 · 2117 阅读 · 0 评论 -
文本处理——语言模型
统计语言模型Language modeling:P(w1,w2,…,wT)=∏t=1TP(wt∣w1,…,wt−1)P(w1,w2,…,wT)=∏t=1TP(wt∣w1,…,wt−1)\mathbb{P}(w_1, w_2, \ldots, w_T) = \prod_{t=1}^T \mathbb{P}(w_t \mid w_1, \ldots, w_{t-1}) 举个例子:...原创 2018-09-04 23:04:50 · 1413 阅读 · 0 评论 -
文本处理——词向量
Word2VecGoogle连续词袋模型(continuous bag of words, CBOW)连续词袋模型用一个中心词在文本序列前后的背景词来预测该中心词∏t=1TP(w(t)∣w(t−m),…,w(t−1),w(t+1),…,w(t+m)).∏t=1TP(w(t)∣w(t−m),…,w(t−1),w(t+1),…,w(t+m)).\prod_{t=1}^T \...原创 2018-09-08 14:48:17 · 3830 阅读 · 0 评论 -
编码器—解码器(seq2seq)+ Attention
输入和输出都可以是不定长序列,例如机器翻译、图像描述在训练数据集中,我们可以在每个句子后附上特殊符号“”(end of sequence)表示序列的终止。编码器编码器的作用是把一个不定长的输入序列变换成一个定长的背景变量 c,并在该背景变量中编码输入序列信息。常用的编码器是循环神经网络。循环神经网络隐藏层的变换: ht=f(xt,ht−1).ht=f(xt,ht−1).{h...原创 2018-09-08 14:54:10 · 15971 阅读 · 0 评论 -
深度学习在搜索广告查询词关键字匹配中的应用
搜索引擎里的广告系统Search AdvertisingDifferent names: Search ads; Paid search; Sponsored searchAd types: Text ads; Product adsAds Selection将Query跟keywords匹配。传统匹配方法:Deep Structured Semantic Mode...原创 2018-09-21 16:22:59 · 1738 阅读 · 0 评论 -
文本分类
应用:垃圾邮件分类、主题分类、情感分析workflow:https://developers.google.com/machine-learning/guides/text-classification/model使用字符级 ngram 的词袋模型很有效。不要低估词袋模型,它计算成本低且易于解释。RNN 很强大。但你也可以用 GloVe 这样的外部预训练嵌入套在 RNN 模型上...原创 2018-10-14 13:14:28 · 907 阅读 · 0 评论 -
自然语言处理中的Attention机制
Attention in NLPAdvantage:integrate information over timehandle variable-length sequencescould be parallelizedSeq2seqEncoder–Decoder framework:Encoder:ht=f(xt,ht−1)h_t = f(x_t, h_{t-1})ht...原创 2018-10-14 13:21:29 · 1910 阅读 · 0 评论 -
关于问答系统(Q&A)、对话系统(Chatbot)的学与思
AnyQAnyQ(ANswer Your Questions) 开源项目主要包含面向FAQ集合的问答系统框架、文本语义匹配工具SimNet。(检索式回答)AnyQ系统框架主要由Question Analysis、Retrieval、Matching、Re-Rank等部分组成,框架中包含的功能均通过插件形式加入,如Analysis中的中文切词,Retrieval中的倒排索引、语义索引,Match...原创 2018-10-10 18:03:21 · 11297 阅读 · 0 评论 -
文本处理—LSA、 LDA
几个流行的VSM算法:Term Frequency * Inverse Document Frequency, Tf-Idffrom gensim import corpora, models, similaritiesdictionary = corpora.Dictionary(texts)corpus = [dictionary.doc2bow(text) for te...原创 2018-08-27 13:07:45 · 3045 阅读 · 0 评论 -
机器学习中的文本处理
为了在文本文档中执行机器学习,我们首先需要将文本内容转换为数字特征向量。词袋模型简单有效,通过以下步骤将文本转化为数值向量 -> (分词,计数,规范化和加权)局限性:不能涵盖词语间的关联关系不能正确捕捉否定关系不能捕捉短语和多词表达忽略了词序不能解释潜在的拼写错误或单词派生N-grams代替构建简单的unigrams集合(n=1),可以使用bigram...原创 2018-05-22 00:55:39 · 7293 阅读 · 0 评论 -
信息检索:基于知识图谱和深度学习的文本表示和搜索(Explicit and distributed semantics for text representation and retrieval)
https://pan.baidu.com/s/1hsaMmTe https://pan.baidu.com/s/1nvyY5kP Language Technologies Institute - Carnegie Mellon University - Chenyan Xiong本篇博文是根据论文作者分享讲座整理,主要介绍了作者用知识图谱和分布式表示扩展语义信息来做信息...原创 2018-04-05 22:30:31 · 4741 阅读 · 0 评论 -
自然语言处理入门心得——书籍、课程推荐
MOOCsMIT 的 Natural Language ProcessingStanford 的cs224n Natural Language Processing Stanford 的 CS224d: Deep Learning for Natural Language Processing :讲述深度学习在自然语言处理方面比较成功的应用。BOOKs入门首选:吴军博士的《数学之美》:深入浅出的讲述原创 2016-07-25 22:49:41 · 9902 阅读 · 0 评论 -
统计自然语言处理——信息论基础
信息是个相当宽泛的概念,很难用一个简单的定义将其完全准确的把握。然而,对于任何一个概率分布,可以定义一个称为熵(entropy)的量,它具有许多特性符合度量信息的直观要求。这个概念可以推广到互信息(mutual information),互信息是一种测度,用来度量一个随机变量包含另一个随机变量的信息量。熵恰好变成一个随机变量的自信息。相对熵(relative entropy)是个更广泛的量,它是刻...原创 2016-07-14 11:08:57 · 5087 阅读 · 0 评论 -
利用NLTK处理HTML
处理流程下载网页,如果需要可以剥除HTML,整理成所需要的内容import nltkfrom urllib import urlopenurl = "http://www.baidu.com"html = urlopen(url).read()raw = nltk.clean_html(html)raw = raw[750:434343]标记文本,选出其中感兴趣的标记,创建一个NLTK文本t原创 2017-02-21 15:04:25 · 2281 阅读 · 0 评论 -
规范化文本
[w.lower() for w in text], 通过使用lower()将文本规范化为小写。还有更多的规范化文本的尝试。词干提取器Porter词干提取器porter = nltk.PorterStemmer()[porter.stem(t) for t in tokens]词形归并词形归并是一个过程,将一个词的各种形式映射到这个词的标准的或引用的形式,也称为词位或词元。WordNet词形归并器原创 2017-02-21 15:05:24 · 726 阅读 · 0 评论 -
用正则表达式为文本分词
raw = """ ... ... """ import re分词一re.split(r' ', raw)在空格符处分割文本是最简单的方法分词二re.split(r'[ \t\n]+', raw)或re.split(r'\s+', raw)所有空白字符在正则表达式前加字母“r”,告诉Python解释器按照字面表示对待字符串二不去处理正则表达式中包含的反斜杠字符。re.原创 2017-02-21 15:08:27 · 5409 阅读 · 0 评论 -
词性标注
标注是典型的NLP流水线中继分词之后的第二个步骤在NLP流程中,对工具的性能评估是NLP的一个中心主题,一个模块输出中的任何错误在下游模块都被无限放大了!词性标注(part-of-speech tagging, POS tagging)给文本中的词自动分配词性的过程称为词性标注、POS标注或标注。词性标注是NLP中一个重要的、早期的序列分类任务:利用局部上下文语境中的词和标记,对序列中任意一点的分类原创 2017-03-03 10:06:32 · 2040 阅读 · 0 评论 -
分析句子结构
文法的用途学习文法的一个好处是,凭借概念框架和词汇表能培养出句子正确或错误的直觉。成分结构是词与词结合在一起组成的单元。通过词汇的可替代性可以证明词系列是怎样形成这样一个单元的——在符合语法规则句子中的词系列可以被一个更小的且不会导致句子不符合语法规则的序列替代。句法类型 符号 意思 例子 S 句子 the man walked NP 名词短语 a dog VP原创 2017-03-06 15:23:55 · 2765 阅读 · 0 评论 -
信息抽取
结构化数据: 实体和关系的规范和可预测的组织。将自然语言句子这样的非结构化数据转换成结构化数据,然后利用强大的查询工具,如SQL。这种从文本中获取意义的方法被称为信息提取。信息提取系统搜索大量非结构化文本,寻找特定类型的实体和关系,并用它们来填充有组织的数据库。这些数据库可以用来寻找特定问题的答案。简单的信息提取系统结构使用句子分割器将文档的原始文本分割成句使用分词器将每个句子进一步细分为词对原创 2017-03-06 15:14:43 · 2954 阅读 · 0 评论 -
正则表达式基础
《正则表达式必知必会》正则表达式是一些用来匹配和处理文本的字符串 有句话希望牢牢记住:把必须匹配的情况考虑周全并写出一个匹配结果符合预期的正则表达式很容易,但把不需要匹配的情况也考虑周全并确保它们都将被排除在匹配结果以外往往要困难得多。逻辑思维能力(语法是正则表达式最容易掌握的部分,真正的挑战是学会如何运用那些语法把实际问题分解为一系列正则表达式并最终解决。)基本用途搜索和替换元字符有特殊含原创 2017-05-15 13:33:22 · 424 阅读 · 0 评论 -
正则表达式进阶
《正则表达式必知必会》位置匹配边界限定符,可以表明我们想让匹配操作在什么位置(或边界)发生。单词边界:\b,用来匹配一个单词的开始或结尾;\B正好相反。字符串边界:^,定义字符串的开头; $,定义字符串的结尾。子表达式子表达式必须用()括起来。基本用途: 把一组字符编码组为一个字符集合。这样的字符集合主要用于精确设定需要重复匹配的文本及其重复次数。另一重要用途: 定义回溯引用,见下。回溯引用原创 2017-05-15 13:34:07 · 617 阅读 · 0 评论 -
keras句子分类 keras_demo_for_sentence_classification (simplified version)
'''This script loads pre-trained word embeddings(word2vec embeddings)into a Keras Embedding layer, and uses it to train a text classification model on a customized dataset.'''from __future__ import原创 2017-06-24 15:31:04 · 1453 阅读 · 3 评论 -
关于信息检索(IR)、搜索引擎的学与思
平台建设(工程、数据、算法)面对大数据业务挑战,AI·OS至多能起到30%的作用,随后是算法解决30%+,其余的靠产品和机缘,只不过AI·OS的30%是个前提条件,AI·OS发展的核心线索是优化算法迭代效率。TPP推荐业务平台、RTP深度学习预测引擎、HA3搜索召回引擎、DII推荐召回引擎、iGraph图查询引擎集群物理资源的调度任务:中台容器和隔离技术与搜索工程交汇之地,更是模型训练P...原创 2018-10-10 18:06:37 · 2595 阅读 · 1 评论