1.自然语言处理概述 它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。涉及数学、语言学、计算机科学等学科。 概率论:需要了解概率、条件概率、贝叶斯法则;二项分布、期望、方差;最大似然估计、梯度下降等等; 统计学:建模、数据稀疏问题、回退方法等; 机器学习:分类、感知器、支持向量机; 语言学:构词、词类、句法、语义;语料库和知识库等等 2.主要应用 机器翻译:如百度在线翻译,有道在线翻译,由于机器翻译涉及到语义分析、上下文环境等内容,面临很多挑战; 情感分析:如,在用户评论方面,通过情感分析,可以得知用户是积极的还是消极的; 智能问答:如,图灵机器人http://www.tuling123.com/experience/exp_virtual_robot.jhtml?nav=exp 、京东客服http://jimi1.jd.com/ 舆情分析:如中兴芯片事件 知识图谱 语言生成,如新闻、篮球解说、文本摘要等 3.案例 (1)中文分词:中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。 (2)三种分词算法 基于字符串匹配的分词方法:它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。 (a)正向最大匹配法(由左到右的方向) (b)逆向最大匹配法(由右到左的方向) (c)最少切分(使每一句中切出的词数最小) (d)双向最大匹配法(进行由左到右、由右到左两次扫描) 基于理解的分词方法: 它是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。 它包括三个部分:分词子系统、句法语义子系统、总控部分。 这种分词方法需要使用大量的语言知识和信息。 基于统计的分词方法: 给出大量已经分词的文本,利用统计机器学习模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。随着大规模语料库的建立,统计机器学习方法的研究和发展,基于统计的中文分词方法渐渐成为了主流方法。 主要统计模型:N元文法模型(N-gram)、隐马尔可夫模型(Hidden Markov Model ,HMM),最大熵模型(ME),条件随机场模型(Conditional Random Fields,CRF)等。 (3)利用Python第三方库jieba实现分词 参考文档: Python中文分词 jieba 十五分钟入门与进阶 https://blog.csdn.net/FontThrone/article/details/72782499 python中的jieba分词使用手册 https://blog.csdn.net/alis_xt/article/details/53522435 如何用Python做中文分词并形成分词云? https://www.jianshu.com/p/721190534061 分析了六十多年间100万字的政府工作报告,我看到了这样的变迁 http://www.cnblogs.com/jiayongji/p/7420915.html 详解基于朴素贝叶斯的情感分析及 Python 实现 https://www.leiphone.com/news/201707/VyUNGYnEy3kXnkVb.html