(三)基于TensorFlow的聊天机器人—NLP基础

一、什么是NLP
自然语言处理,此领域探讨如何处理及运用自然语言,自然语言认知则是让电脑懂人类的语言。
自然语言处理的主要范畴:文本分析、信息检索、词性标注、问答系统等

二、NLP技术
词法分析
语法分析
语义分析

1、词法分析
分词技术:如在文章中切分词语
(三)基于TensorFlow的聊天机器人—NLP基础_第1张图片
词性标注
即确定一段话中每个词是副词、名词、形容词或者其他词性的过程。
(三)基于TensorFlow的聊天机器人—NLP基础_第2张图片

命名实体识别
又称“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。
一般来说,命名实体识别的任务就是识别出待处理文本中的三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。
步骤:
(1)实体边界识别(类似分词)
(2)确定实体类别(英文实体,中文实体)
方法
(1)基于规则和词典的方法

(2)基于统计的方法:

贝叶斯分类:
贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法。
朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。最广泛的两种分类模型是决策树模型和朴素贝叶斯模型。
(三)基于TensorFlow的聊天机器人—NLP基础_第3张图片
(三)基于TensorFlow的聊天机器人—NLP基础_第4张图片
常用场景:文本分类、垃圾邮件过滤、多分类实施预测、拼写纠错

马尔可夫过程
马尔可夫过程是一类随机过程
在已知目前状态的条件下,它将来的演变不依赖于它以往的演变。
主要研究一个系统的状况及其转移的理论。
它通过对不同状态的初始概率以及状态之间的转移概率的研究,来确定状态的变化趋势,从而达到对预测未来的目的。

隐马尔科夫模型
作为一种统计分析模型,是结构最简单的动态贝叶斯网,是一种著名的有向图模型。
主要用于时序数据建模(语音识别、自然语言处理等)
应用场景:中文分词、机器翻译、语音识别、通信中的译码

运用隐马尔科夫模型进行命名实体识别的方法:
(三)基于TensorFlow的聊天机器人—NLP基础_第5张图片

【朴素贝叶斯案例】
环境:
python、jieba(分词工具)、sklearn(机器学习工具包)、scipy(高级数学工具)
注:
conda是一种python环境管理程序,conda和anaconda一起能解决很多环境、包管理的问题。而且安装anaconda的过程中会一并安装scipy,numpy等很多常用的包,可以说是用python进行科学计算和数据分析的必备神器

管理conda和anaconda

conda info 查询conda信息
conda update conda 升级conda
conda update anaconda 升级anaconda

管理环境

conda info -e 环境信息
conda create -n test python=2.7 创建环境test,并指定python版本,此例为2.7
source activate test 激活环境
source deactivate test 关闭环境
conda remove --name test --all 删除环境

包管理

conda list 列出所有安装的包的信息
conda search beautiful-soup 查询包
conda install -n test beautiful-soup 安装包,并指定安装环境,如果没有-n test,则安装到当前环境
conda update beautiful-soup 升级包
conda remove -n test beautiful-soup 移除包

注意:python-关于pip install 安装超时问题
利用清华http源安装:
pip install -i https://pypi.doubanio.com/simple/ 包名

词义消歧:将具有多种含义词义的内容消除歧义

你可能感兴趣的:(机器学习)