NLP | 2019-03-21 NLP系列 facebook fasttext原理与操作 参考文章:《FastText原理总结》 1、应用场景fastText是一种Facebook AI Researc ...
NLP | 2019-03-21 NLP系列 基于python的中文关键词抽取与可视化12import reimport jieba.analyse 对中文数据集进行预处理123456789101112def preprocess(input_file, output_file): reader = open(input_file, 'r',encoding='utf-8') writer = open(output_file, 'w',encoding='utf-8') line=reader.rea ...
NLP | 2019-03-21 NLP系列 逻辑回归/SVM与文本分类 参考文章:《从原理到应用:简述Logistics回归算法》 Part 1 Logistic Regression1.1 什么是 Logistic 回归?和很多其他机器学习算法一样,逻辑回归也是从统计学中借鉴来的,尽管名字里有回归俩字儿,但它不是一个需要预测连续结果的回归算法。 与之相反,Logistic 回归是二分类任务的首选方法。它输出一个 0 到 1 之间的离散二值结果。简单来说,它的结果不是 1 就是 0。 癌症检测算法可看做是 Logis ...
NLP | 2019-03-21 NLP系列 朴素贝叶斯模型与中文文本分类 参考文章:《朴素贝叶斯模型与中文文本分类》 1. 引言贝叶斯方法是一个历史悠久,有着坚实的理论基础的方法,同时处理很多问题时直接而又高效,很多高级自然语言处理模型也可以从它演化而来。因此,学习贝叶斯方法,是研究自然语言处理问题的一个非常好的切入口。 2. 贝叶斯公式贝叶斯公式就一行: $P(Y|X)=\frac{P(X|Y)P(Y)}{P(X)} $ 而它其实是由以下的联合概率公式推导出来: $P(Y,X) = P(Y|X)P(X)= ...
NLP | 2019-03-21 NLP系列 文本表示进阶1. 预训练在图像领域的应用 参考文章:《从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史》 自从深度学习火起来后,预训练过程就是做图像或者视频领域的一种比较常规的做法,有比较长的历史了,而且这种做法很有效,能明显促进应用的效果。 那么图像领域怎么做预训练呢,上图展示了这个过程,我们设计好网络结构以后,对于图像来说一般是CNN的多层叠加网络结构,可以先用某个训练集合比如训练集合A或者训练集合B对这个网络进行预先训练,在A任务上或者 ...
NLP | 2019-03-21 NLP系列 seq2seq构建写对联AI本案例代码参考基于google seq2seq的对联生成 问题背景介绍对联又称对子,对仗工整,平仄协调,是一字一音的汉文语言独特的艺术形式,是中国传统文化瑰宝。对联的上下联有着非常工整的对应关系,我们可以尝试使用神经网络学习对应关系,进而完成对对联任务,而之前提到的seq2seq模型,是非常典型的序列映射学习模型,可以在本场景下使用。 seq2seq对对联这里构建的对对联AI应用也是seq2seq模型,使用的就是我们在上一门中讲解到的模型。 ...
NLP | 2019-03-21 NLP系列 中文文本基本任务与处理1.分词对于中文和日文这样的特殊亚洲语系文本而言,字和字之间是紧密相连的,单纯从文本形态上无法区分具备独立含义的词(拉丁语系纯天然由空格分隔不同的word),而不同的词以不同的方式排布,可以表达不同的内容和情感,因此在很多中文任务中,我们需要做的第一个处理叫做分词。 这是一个非常基础的功能,但是会较大程度影响下游任务(机器翻译、情感分析、文本理解)的效果。 目前主流的分词方法主要是基于词典匹配的分词方法(正向最大匹配法、逆向最大匹配法和双向匹配分词法等) ...
NLP | 2019-03-21 NLP系列 seq2seq项目说明1.seq2seq(序列到序列模型)应用在聊天机器人,机器翻译,自动文摘,智能问答等众多自然语言处理任务中都可能用到seq2seq模型,google在著名的neural machine translation中也使用过这个结构的模型(当然,现在因为效率等原因,可能不少应用项目迁移到transformer结构下了),google在tensorflow的官方案例中给了一个手把手训练seq2seq神经翻译系统的github项目,下面我们就官方这个项目讲解一下如 ...
NLP | 2019-03-21 NLP系列 seq2seq项目说明1.seq2seq(序列到序列模型)应用在聊天机器人,机器翻译,自动文摘,智能问答等众多自然语言处理任务中都可能用到seq2seq模型,google在著名的neural machine translation中也使用过这个结构的模型(当然,现在因为效率等原因,可能不少应用项目迁移到transformer结构下了),google在tensorflow的官方案例中给了一个手把手训练seq2seq神经翻译系统的github项目,下面我们就官方这个项目讲解一下如 ...
NLP | 2019-03-21 NLP系列 第3门:文本表示第1章:文本词与句的表示1.文本表示概述文本表示,简单的说就是不将文本视为字符串,而视为在数学上处理起来更为方便的向量。而怎么把字符串变为向量,就是文本表示的核心问题。 1.1 为什么要进行文本表示 根本原因是计算机不方便直接对文本字符串进行处理,因此需要进行数值化或者向量化。 便于机器学习。不仅传统的机器学习算法需要这个过程,深度学习也需要这个过程。 良好的文本表示形式可以极大的提升算法效果。 1.2 文本表示分类(基于粒度) 文本表示 句子表示(短文本) ...