自然语言处理(NLP)是指使用诸如英语之类的自然语言与智能系统进行通信的AI方法。

如果您希望智能系统(如机器人)按照您的指示执行操作,希望听取基于对话的临床专家系统的决策时,则需要处理自然语言。

NLP领域涉及使计算机用人类使用的自然语言执行有用的任务。 NLP系统的输入和输出可以是 -

  • 言语(说话)
  • 书面文字

NLP的组成部分

在本节中,我们将了解NLP的不同组件。 NLP有两个组件。 这些组件如下所述 -

1. 自然语言理解(NLU)

它涉及以下任务 -

  • 将给定的自然语言输入映射为有用的表示。
  • 分析语言的不同方面。

2. 自然语言生成(NLG)

它是从一些内部表现形式以自然语言的形式产生有意义的短语和句子的过程。 它涉及 -

  • 文字规划 - 这包括从知识库中检索相关内容。
  • 句子规划 - 这包括选择所需的单词,形成有意义的短语,设定句子的语气。
  • 文本实现 - 这是将句子计划映射到句子结构。

NLU的难点

NLU的形式和结构非常丰富, 然而,它是不明确的。 可能会有不同程度的模糊性 -

词汇含糊不清
它处于一个非常原始的层面,如单词级别。 例如,将单词“board”视为名词或动词?

语法级别歧义
一个句子可以用不同的方式解析。 例如,“他用红色帽子举起甲虫。” - 他用帽子举起甲虫,还是举起了一顶带有红色帽子的甲虫?

参照歧义
参考使用代词的东西。 例如,里马去了高里。 她说,“我累了。” - 究竟是谁累?

NLP术语

现在让我们看看NLP术语中的一些重要术语。

  • 音韵 - 这是系统地组织声音的研究。
  • 形态 - 这是建设从原始的有意义的单位的话的研究。
  • 语素 - 它是语言中意义的原始单位。
  • 语法 - 它是指安排单词来表达一个句子。 它还涉及确定单词在句子和短语中的结构作用。
  • 语义 - 它涉及单词的含义以及如何将单词组合成有意义的短语和句子。
  • 语用学 - 它处理在不同情况下使用和理解句子以及句子的解释如何受到影响。
  • 话语 - 它处理前面的句子如何影响下一句话的解释。
  • 世界知识 - 它包括关于世界的一般知识。

NLP步骤

本节介绍NLP中的分析步骤。

词汇分析
它涉及识别和分析单词的结构。 语言的词汇表示语言中的单词和短语的集合。 词法分析将整个txt块分成段落,句子和单词。

句法分析(解析)
它涉及分析句子中的单词,语法和安排单词的方式,以显示单词之间的关系。“The school goes to boy”等句子被英语句法分析器拒绝。

语义分析
它从文本中提取确切含义或字典含义。 文本被检查是否有意义。 它通过映射任务域中的语法结构和对象来完成。语义分析器忽视诸如“热冰淇淋”之类的句子。

话语整合
任何句子的含义都取决于在它之前的句子的含义。 此外,它也带来了紧接着的后续句子的含义。

语用分析
在此期间,所说的重新解释了它的实际意义。 它涉及推导需要真实世界知识的语言方面。

前提条件

如果想用自然语言处理来构建应用程序,那么上下文中的变化就会使其变得非常困难。 语境因素影响机器如何理解特定句子。 因此,我们需要通过使用机器学习方法来开发自然语言应用程序,以便机器也能够理解人类可以理解上下文的方式。

要构建这样的应用程序,我们将使用名为NLTK(自然语言工具包包)的Python包。

导入NLTK

在使用之前需要安装NLTK,它可以在以下命令来安装 -

pip install nltk
要为NLTK构建conda包,请使用以下命令 -
conda install -c anaconda nltk
现在安装NLTK包后,需要通过python命令提示符导入。通过在Python命令提示符下编写以下命令来导入它 -
>>> import nltk

下载NLTK的数据

现在导入NLTK后,我们还需要下载所需的数据。 它可以在Python命令提示符下通过以下命令完成 -

>>> nltk.download()
下文中将会涉及一些安装文件包,
在命令行下安装时 系统可能会提示 Failed building wheel for mysqlclient 

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

pip安装会直接报错,因为某些下载的模块需要vc重新编译。而你的机器里没有c++的编译工具。

那么这是 天使来了,非常感谢这样一个网站

https://www.lfd.uci.edu/~gohlke/pythonlibs/

该网站提供了大量的

Unofficial Windows Binaries for Python Extension Packages

业界良心啊。万分感谢!

安装其他必需的软件包

为了使用NLTK构建自然语言处理应用程序,需要安装必要的软件包。如下 -

gensim

它是一个强大的语义建模库,对许多应用程序很有用。可以通过执行以下命令来安装它 -

pip install gensim
 

pattern

它用于使gensim包正常工作。可以通过执行以下命令来安装它 -

pip install pattern
 
  

易百教程人工智能python补充-NLTK包的更多相关文章

  1. 易百教程人工智能python修正-人工智能无监督学习(聚类)

    无监督机器学习算法没有任何监督者提供任何指导. 这就是为什么它们与真正的人工智能紧密结合的原因. 在无人监督的学习中,没有正确的答案,也没有监督者指导. 算法需要发现用于学习的有趣数据模式. 什么是聚 ...

  2. 易百教程人工智能python修正-人工智能监督学习(分类)

    分类技术或模型试图从观测值中得出一些结论. 在分类问题中,我们有分类输出,如“黑色”或“白色”或“教学”和“非教学”. 在构建分类模型时,需要有包含数据点和相应标签的训练数据集. 例如,如果想检查图像 ...

  3. 易百教程人工智能python修正-人工智能监督学习(回归)

    回归是最重要的统计和机器学习工具之一. 我们认为机器学习的旅程从回归开始并不是错的. 它可以被定义为使我们能够根据数据做出决定的参数化技术,或者换言之,允许通过学习输入和输出变量之间的关系来基于数据做 ...

  4. 易百教程人工智能python修正-人工智能NLTK性别发现器

    在这个问题陈述中,将通过提供名字来训练分类器以找到性别(男性或女性). 我们需要使用启发式构造特征向量并训练分类器.这里使用scikit-learn软件包中的标签数据. 以下是构建性别查找器的Pyth ...

  5. 易百教程人工智能python修正-人工智能数据准备-标记数据

    我们已经知道,某种格式的数据对于机器学习算法是必需的. 另一个重要的要求是,在将数据作为机器学习算法的输入发送之前,必须正确标记数据. 例如,如果所说的分类,那么数据上会有很多标记. 这些标记以文字, ...

  6. 易百教程人工智能python修正-人工智能数据准备-预处理数据

    预处理数据 在我们的日常生活中,需要处理大量数据,但这些数据是原始数据. 为了提供数据作为机器学习算法的输入,需要将其转换为有意义的数据. 这就是数据预处理进入图像的地方. 换言之,可以说在将数据提供 ...

  7. MyBatis整合Spring MVC(易百教程)

    MyBatis是ibatis的升级版,作为hibernate的老对手,它是一个可以自定义SQL.存储过程和高级映射的持久层框架.与Hibernate 的主要区别就是 Mybatis 是半自动化的,而 ...

  8. Mybatis与Spring集成(易百教程)

    整个Mybatis与Spring集成示例要完成的步骤如下: 1.示例功能描述 2.创建工程 3.数据库表结构及数据记录 4.实例对象 5.配置文件 6.测试执行,输出结果 1.示例功能描述 在本示例中 ...

  9. Mybatis 多对多(易百教程)

    mybatis3.0 添加了association和collection标签专门用于对多个相关实体类数据进行级联查询,但仍不支持多个相关实体类数据的级联保存和级联删除操作.因此在进行实体类多对多映射表 ...

随机推荐

  1. 03-cmake语法-变量,字符串

    CMake的基本数据类型是字符串(不区分大小写),一组字符串在一起称为列表(list). 条件判断中的取值情况如下表: 真 1, ON, YES, TRUE, Y, 非0的数  假 0, OFF, N ...

  2. springsecurity的http.permitall与web.ignoring的区别

    permitAll配置实例 @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { ...

  3. 成神之Java之路

    既然励志在java路上走的更远,那就必须了解java的路径.先看图 image.png 更加细化的细节如下 一: 编程基础 不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的 ...

  4. NET日记

    NET日记 NET——day01:https://www.cnblogs.com/noonjuan/diary/2019/07/29/11265942.html NET——day02:https:// ...

  5. 详解 ASP.NET Core MVC 的设计模式

    MVC 是什么?它是如何工作的?我们来解剖它 在本节课中我们要讨论的内容: 什么是 MVC? 它是如何工作的? 什么是 MVC MVC 由三个基本部分组成 - 模型(Model),视图(View)和控 ...

  6. oracle 错误 TNS-01190与oracle 登入没反应操作

    1,问题描述 [oracle@node2 ~]$ lsnrctl stop LSNRCTL - Production on -MAY- :: Copyright (c) , , Oracle. All ...

  7. 解密httpclient,dbcp,jedis,c3p0,druid,okhttp都在使用的连接池技术

    最近在连接池上面栽了个跟头(参见这里),引起我对池技术的强烈关注,这几天总结了一下很多场景都会使用的池技术: 池概念 pool,中文翻译为水池,但是在英文中,还有一种解释是 an organizati ...

  8. 用户增长模型AARRR模型

    用户增长模型AARRR模型

  9. Golang(十)TLS 相关知识(一)基本概念原理

    0. 前言 最近参与一个基于 BitTorrent 协议的 Docker 镜像分发加速插件的开发,主要参与补充 https 协议 学习了 TLS 相关知识,下面对之前的学习做一下简单总结 参考文献:T ...

  10. http与tcp,udp的区别

    1.网络协议的概念 (1)在学习网络课程的时候,老师会讲iso七层模型,有应用层 表示层 会话层 传输层 网络层 数据链路层 物理层,其中http就属于应用层,tcp与udp是属于传输层,如图1.1( ...