NLP基础

作一个中文文本分类任务,首先要作的是文本的预处理,对文本进行分词和去停用词操做,来把字符串分割成词与词组合而成的字符串集合并去掉其中的一些非关键词汇(像是:的、地、得等)。再就是对预处理事后的文本进行特征提取。最后将提取到的特征送进分类器进行训练。html

1、什么是天然语言处理

NLP(Natural Language Processing,天然语言处理)当中所谓的「天然」是为了与人造的语言(好比 C 语言, JAVA 等)区分开来,指天然造成的语言,即平时人们平常使用的交流的语言。「语言」则是人类区别其余动物的本质特性。在全部生物中,只有人类才具备语言能力。人类的多种智能都与语言有着密切的关系。人类的逻辑思惟以语言为形式,人类的绝大部分知识也是以语言文字的形式记载和流传下来的。「处理」则指的是对天然语言的各类处理方法与运用。python

NLP 不只是计算语言学的应用领域,仍是计算机科学和人工智能(AI)领域的一个重要研究方向。NLP 主要研究人与计算机之间用天然语言进行有效通讯的各类理论和方法。git

总的来讲,天然语言处理能够归纳为: 就是利用计算机的强大的运算能力,采用统计手段来对语言进行处理,而后得到须要的信息,以达到最终想要的目的,而使用各类方法的一门技术。人工智能

NLP 通过多年的发展与进步,从天然语言的角度出发,基本能够划分为两个部分:天然语言的理解和天然语言的生成。翻译

1.语言理解涉及语言、语境和各类语言形式的学科。但总的来讲,天然语言理解又能够分为三个方面:3d

  1. 词义分析
  2. 句法分析
  3. 语义分析

2.天然语言的生成则是从结构化的数据(能够通俗理解为天然语言理解分析后的数据)以读取的方式自动生成文本。主要有三个阶段:code

  1. 文本规划:完成结构化数据中的基础内容规划。
  2. 语句规划:从结构化数据中组合语句来表达信息流。
  3. 实现:产生语法通顺的语句来表达文本。

3.NLP的研究问题(主要)有下面几种:htm

  • 信息检索:对大规模文档进行索引。
  • 语音识别:识别包含口语在内的天然语言的声学信号转换成符合预期的信号。
  • 机器翻译:将一种语言翻译成另一种语言。
  • 智能问答:自动回答问题。
  • 对话系统:经过多回合对话,跟用户进行聊天、回答、完成某项任务。
  • 文本分类:将文本自动归类。
  • 情感分析:判断某段文本的情感倾向
  • 文本生成:根据需求自动生成文本
  • 自动文摘:概括,总结文本的摘要。

4.一些 NLP 的一些基础专业术语。blog

  • 分词:词是 NLP 中可以独立活动的有意义的语言成分。即便某个中文单字也有活动的意义,但其实这些单字也是词,属于单字成词。索引

  • 词性标注:给每一个词语的词性进行标注,好比 跑/动词、美丽的/形容词等等。

  • 命名实体识别:从文本中识别出具备特定类别的实体。像是识别文本中的日期,地名等等。

  • 词义消歧:多义词判断最合理的词义。

  • 句法分析:解析句子中各个成分的依赖关系。

  • 指代消解:消除和解释代词「这个,他,你」等的指代问题。

5.字符做为文本类数据的基本单元,其在天然语言处理中的地位能够说是很是的重要。并且,大部分的天然语言处理任务都是从字符上着手,下面是一些字符串操做

  • 统计子串出现的次数
  • 去除字符串
  • 拼接字符串
  • 比较(直接比较'a'>'b')
  • 字符串大小写转换
  • 翻转字符串
  • 查找字符串
  • 判断子串是否存在
  • 字符串代替
  • 检查字符串

2、python实现对字符串的处理

.count() 方法返回特定的子串在字符串中出现的次数

.strip()方法能够去除字符串首尾的指定符号。无指定时,默认去除空格符 ' ' 和换行符 '\n'

.lstrip()只去除开头的

.rstrip()只去除结尾的

须要将字符串用特定的符号拼接起来的字符的时候,能够用 .join() 方法来进行拼接。

 

.upper() 将文本转化为大写, .lower()将文本转化为小写。

.find查找到某段字符串当中某个子串的位置信息,未找到的则会返回 -1 

字符串截取[0:4] 表示从0开始截4个

.split('k')拆分

翻转字符串

判断某字符是否在某字符串中用in

.replace(old,new)

.startswish()判断字符串是否以某段字符开头,.endswith() 来肯定字符串是否以某段字符串结尾。

.isdigit()检查字符串是否由纯数字构成

 python中的正则

相关文章
相关标签/搜索