易百教程人工智能python补充-NLTK包
自然语言处理(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
conda install -c anaconda nltk
>>> import nltk
下载NLTK的数据
现在导入NLTK后,我们还需要下载所需的数据。 它可以在Python命令提示符下通过以下命令完成 -
>>> nltk.download()
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包的更多相关文章
- 易百教程人工智能python修正-人工智能无监督学习(聚类)
无监督机器学习算法没有任何监督者提供任何指导. 这就是为什么它们与真正的人工智能紧密结合的原因. 在无人监督的学习中,没有正确的答案,也没有监督者指导. 算法需要发现用于学习的有趣数据模式. 什么是聚 ...
- 易百教程人工智能python修正-人工智能监督学习(分类)
分类技术或模型试图从观测值中得出一些结论. 在分类问题中,我们有分类输出,如“黑色”或“白色”或“教学”和“非教学”. 在构建分类模型时,需要有包含数据点和相应标签的训练数据集. 例如,如果想检查图像 ...
- 易百教程人工智能python修正-人工智能监督学习(回归)
回归是最重要的统计和机器学习工具之一. 我们认为机器学习的旅程从回归开始并不是错的. 它可以被定义为使我们能够根据数据做出决定的参数化技术,或者换言之,允许通过学习输入和输出变量之间的关系来基于数据做 ...
- 易百教程人工智能python修正-人工智能NLTK性别发现器
在这个问题陈述中,将通过提供名字来训练分类器以找到性别(男性或女性). 我们需要使用启发式构造特征向量并训练分类器.这里使用scikit-learn软件包中的标签数据. 以下是构建性别查找器的Pyth ...
- 易百教程人工智能python修正-人工智能数据准备-标记数据
我们已经知道,某种格式的数据对于机器学习算法是必需的. 另一个重要的要求是,在将数据作为机器学习算法的输入发送之前,必须正确标记数据. 例如,如果所说的分类,那么数据上会有很多标记. 这些标记以文字, ...
- 易百教程人工智能python修正-人工智能数据准备-预处理数据
预处理数据 在我们的日常生活中,需要处理大量数据,但这些数据是原始数据. 为了提供数据作为机器学习算法的输入,需要将其转换为有意义的数据. 这就是数据预处理进入图像的地方. 换言之,可以说在将数据提供 ...
- MyBatis整合Spring MVC(易百教程)
MyBatis是ibatis的升级版,作为hibernate的老对手,它是一个可以自定义SQL.存储过程和高级映射的持久层框架.与Hibernate 的主要区别就是 Mybatis 是半自动化的,而 ...
- Mybatis与Spring集成(易百教程)
整个Mybatis与Spring集成示例要完成的步骤如下: 1.示例功能描述 2.创建工程 3.数据库表结构及数据记录 4.实例对象 5.配置文件 6.测试执行,输出结果 1.示例功能描述 在本示例中 ...
- Mybatis 多对多(易百教程)
mybatis3.0 添加了association和collection标签专门用于对多个相关实体类数据进行级联查询,但仍不支持多个相关实体类数据的级联保存和级联删除操作.因此在进行实体类多对多映射表 ...
随机推荐
- 使用rider做为unity的代码编辑器
使用Rider做的编写Unity代码的IDE,记录一些与VS不相同的笔记 安装和设置方法: 我使用Rider 2019.1 + Unity3D 2018.3.4,在安装完Rider之后,在Unity中 ...
- [原创]Appium与Appium desktop的区别
1.两者都属于Appium 服务端 2.二者最新版本如下:地址:https://github.com/appium/appium-desktop/releases Appium 服务端支持的:地址:h ...
- V4l2初识(七)-----------浅析app获取虚拟摄像头数据的过程
继续分析数据的获取过程: 1.请求分配的缓冲区: ioctl(4,VIDIOC_REQBUFS) vidioc_reqbufs 2.查询和映射缓冲区 ioctl(4,VIDIOC_QUERYBUF ...
- 论文阅读笔记六十一:Selective Kernel Networks(SKNet CVPR2019)
论文原址:https://arxiv.org/pdf/1903.06586.pdf github: https://github.com/implus/SKNet 摘要 在标准的卷积网络中,每层网络中 ...
- 原生js拖拽、jQuery拖拽、vue自定义指令拖拽
原生js拖拽: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- [LeetCode] 13. Roman to Integer 罗马数字转化成整数
Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 ...
- Loj #3042. 「ZJOI2019」麻将
Loj #3042. 「ZJOI2019」麻将 题目描述 九条可怜是一个热爱打麻将的女孩子.因此她出了一道和麻将相关的题目,希望这题不会让你对麻将的热爱消失殆尽. 今天,可怜想要打麻将,但是她的朋友们 ...
- 如何将vscode的终端放到右侧
这个问题我之前上百度搜了一下,只有百度经验有, 但是百度经验的图片看不清,而且按照百度经验的回答,我找不到它说的用户设置 于是我问了一下同学,很简单. 右击终端那条框,我们可以得到下面这张截图 点击将 ...
- Github配置SSH密钥
设置SSH Key Github上连接已有仓库时的认证,是通过使用SSH的公开密钥 在终端terminal中输入 ssh-keygen 该命令的含义是 generate ssh key, 然后一直按回 ...
- hdu6546 Function
Function \(\text{Alice}\) 有 \(n\) 个二次函数 \(F_i(x)=a_ix^2+b_ix+c_i(i \in [1,n])\). 现在他想在 \(\sum_{i=1}^ ...