• 前言

先来看一些demo,来一些直观的了解。

自然语言处理:

可以做中文分词,词性分析,文本摘要等,为后面的知识图谱做准备。

http://xiaosi.trs.cn/demo/rs/demo

知识图谱:

https://www.sogou.com/tupu/person.html?q=刘德华

还有2个实际应用的例子,加深对NLP的理解

九歌机器人:

https://jiuge.thunlp.cn/

微软对联机器人:

http://duilian.msra.cn/

  • NLP概述:

自然语言处理,是研究如何利用计算机技术对语言文本(句子,篇章或话语等)进行处理和加工的一门技术。

NLP的关键思想之一是将单词转换为数字向量,然后把这些数字向量放到机器学习模型中进行预测。

深度学习是NLP的关键技术之一。

自然语言处理是构建知识图谱的基础技术。

学科面临的主要挑战:

大量出现的新词语:例:佛系

无处不在的歧义:例:喜欢城市的年轻人

隐喻表达:例:在朋友圈潜水

不同语言的概念不同:翻译之间的理解

对应的核心挑战:

->语义分析

->语用场景的分析

  • NLP应用举例:

一: 汉语分词

1. 最大匹配法(基于规则或模板的方法)

2. 基于n-gram的分词法(传统的统计方法,生成式)

3. 基于神经网络的分词方法(目前最主流的分词方法)

二: 机器翻译:

1. 基于模板/规则的方法

2. 基于语料库的方法

3. 基于神经机器翻译方法

三: 同声翻译:

技术应用现状:

1,各种 输入法;

2,语音

  • 常见的NLP方法:

1.基于规则的方法

2.基于统计学习方法

---------------------------------------

基于统计方法的基本方法/框架:

框架:学习系统->模型->预测系统

原理:训练数据(样本),带标签,预测下一个输入后的输出

如买保险,买与不买是标签,已有买保险数据为样本。我们重点是做好训练模型

常用的统计模型:

模型主要是6,7种,侧重点不同,根据需要选择不同的模型使用即可。

1.统计模型

1) 语言模型(LM)--比较复杂

2) 隐马尔可夫模型(HMM)-----多分类问题(大于2的)

3)K-近邻(KNN)----数据量比较少可选用

4) 朴素贝叶斯法(NB)

5)决策树(DT)

6)最大熵(maximum entropy)

-------二类分类--------

7)支持向量机(SVN)

8)感知机

------序列标注-------

9)条件随机场(CRFConditional random fields)

基于统计学的一个算法,Viterbi算法:每次只保留最佳的算法

已有开源工具一大堆,这里不一一列出。

基于学习的基本方法:

人工神经网络最火的是深度学习

深度学习在2009年才取得重大突破,把识别率提高了百分之十几个点。

神经语言模型:

条件概率模型,统计之前出现次数的概率,预测概率最大化

计算机是没法理解人类语言的(意图),只能把出现概率最大的取出来,那么就需要大量的样本训练他。

神经网络分2种:

浅层学习:LR,SVM,Bayes,boosting

深度学习: CNN,RNN,DBM,AutoEncoder

CNN:卷积 RNN则不会过多约束

2个核心,1是卷积: 实际是一个加权运算;2是最大池化。

RNN:循环 CNN对于输入数据的维度约束是比较严重的,训练是啥,预测就是啥

LSTM(长短记忆神经网络,RNN的一种)核心过程:

3个门,每个门对应一个函数 。每个门的结果要么是0要么是1

遗忘门: 选择哪些遗忘

输入门: 决定输入什么

输出门:决定输出什么

---------------------------------------------------------

笔记:

1. N多的数学公式,要想深入学习,还得学好数学

2. 模型普通人就不要研究了

  • 知识图谱

知识图谱与深度学习相当于两条路在走,未来会深度学习。

深度学习可以用来预测,知识图谱不能,知识图谱类似将所有知识穷举起来,搜索你要的知识就行。

知识图谱可以为深度学习提供知识,深度学习为知识图谱提供模型与工具构建。

知识图谱是基于语义网发展起来的。

语义网: 具有一定关系的网络

知识图谱实例:

http://kw.fudan.edu.cn

http://zhishi.me

  • 文本挖掘

TF-IDF加权法

一堆概念与术语:

​NLU 自然语言理解

NLP 自然语言处理

MT 机器翻译

HLT 人类语言技术,包括NLU,CL,MT

DL(deep learning) 深度学习

NN(Neural Networks)神经网络

RNN(Convolutional Neural Networks):卷积神经网络

CNN:循环神经网络

LSTM:长短期记忆网络

n-gram:输入一句话,输出这句话的概率

​Word Embedding(词嵌入),将单词映射到向量空间里,并用向量来表示。

Word2vec 词向量表示,将相似的单词分组映射到向量空间的不同部分,即能学到单词与单词之间的关系。

​Word2Vec有2种方法,skip-gram和CBOW。

skip-gram:输入一个词,然后试着估计其他词出现在该词附近的概率。

CBOW:连续词汇学习

自然语言处理NLP学习笔记一:概念与模型初探的更多相关文章

  1. 自然语言处理NLP学习笔记三:使用Django做一个NLP的Web站点

    前言: 前面我们已经能初步实现一个中文自然处理语言的模型了,但交互界面是命令行的,不太友好. 如果想做一个类似http://xiaosi.trs.cn/demo/rs/demo的界面,那就还需要继续往 ...

  2. 自然语言处理NLP学习笔记二:NLP实战-开源工具tensorflow与jiagu使用

    前言: NLP工具有人推荐使用spacy,有人推荐使用tensorflow. tensorflow:中文译作:张量(超过3维的叫张量)详细资料参考:http://www.tensorfly.cn/ J ...

  3. Oracle RAC学习笔记:基本概念及入门

    Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real applica ...

  4. Java IO学习笔记:概念与原理

    Java IO学习笔记:概念与原理   一.概念   Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了 ...

  5. jQuery学习笔记之概念(1)

    jQuery学习笔记之概念(1) ----------------------学习目录-------------------- 1.概念 2.特点 3.选择器 4.DOM操作 5.事件 6.jQuer ...

  6. ArcGIS案例学习笔记-批量裁剪地理模型

    ArcGIS案例学习笔记-批量裁剪地理模型 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 功能:空间数据的批量裁剪 优点:1.批量裁剪:任意多个目标数据,去裁剪任意 ...

  7. Java学习笔记之---单例模型

    Java学习笔记之---单例模型 单例模型分为:饿汉式,懒汉式 (一)要点 1.某个类只能有一个实例 2.必须自行创建实例 3.必须自行向整个系统提供这个实例 (二)实现 1.只提供私有的构造方法 2 ...

  8. WebGL three.js学习笔记 加载外部模型以及Tween.js动画

    WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行 ...

  9. tensorflow学习笔记——常见概念的整理

    TensorFlow的名字中已经说明了它最重要的两个概念——Tensor和Flow.Tensor就是张量,张量这个概念在数学或者物理学中可以有不同的解释,但是这里我们不强调它本身的含义.在Tensor ...

随机推荐

  1. elementUI el-date-picker 时间范围设置 固定时间段可选 配置

    https://blog.csdn.net/sinat_37255207/article/details/91793889 <el-date-picker v-model="start ...

  2. python--openCV--视频处理

    编码格式 视频容器中,一般有视频和音频数据,它们采取的编码方式不一样. 视频常见的编码方式通常有: x264.h264.mpeg-4 音频常见的编码方式通常有: mp3.AAC.flac 编码的目的主 ...

  3. Python2.x与3​​.x版本区别Ⅲ

    八进制字面量表示 八进制数必须写成0o777,原来的形式0777不能用了:二进制必须写成0b111. 新增了一个bin()函数用于将一个整https://www.xuanhe.net/数转换成二进制字 ...

  4. 关于JPA动态SQL查询

    1.继承接口 2.下面是简单的操作---自己写过的,下次再整理一下 public Page<IdddsMember> list(MemberSearch search, Pageable ...

  5. Java进阶知识11 Hibernate多对多单向关联(Annotation+XML实现)

    1.Annotation 注解版 1.1.应用场景(Student-Teacher):当学生知道有哪些老师教,但是老师不知道自己教哪些学生时,可用单向关联 1.2.创建Teacher类和Student ...

  6. Cogs 647. [Youdao2010] 有道搜索框(Trie树)

    [Youdao2010] 有道搜索框 ★☆ 输入文件:youdao.in 输出文件:youdao.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] 在有道搜索框中,当输入一个或 ...

  7. POJ - 3376 Finding Palindromes manacher+字典树

    题意 给n个字符串,两两拼接,问拼接后的\(n\times n\)个字符串中有多少个回文串. 分析 将所有正串插入字典树中,马拉车跑出所有串哪些前缀和后缀为回文串,记录位置,用反串去字典树中查询,两字 ...

  8. Python数据挖掘-文本挖掘

    文本挖掘概要 搞什么的? 从大量文本数据中,抽取出有价值的知识,并且利用这些知识更好的组织信息的过程. 目的是什么? 把文本信息转化为人们可利用的知识. 举例来说,下面的图表利用文本挖掘技术对库克ip ...

  9. python 绘制sinx

    code import turtle import math turtle.speed() turtle.penup() turtle., * math.sin((-/) * * math.pi)) ...

  10. Leetcode题目98.验证二叉搜索树(递归-中等)

    题目描述: 给定一个二叉树,判断其是否是一个有效的二叉搜索树. 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数.节点的右子树只包含大于当前节点的数.所有左子树和右子树自身必须也是 ...