python人工智能开发从入门到精通,python3入门人工智能
Token:分词
词干:基于规则
简体:基于词典
两者的区别:
词干化是指把什么形式的语言词汇还原为一般形式(能表达完整意义)并提取词干。
(词干)是提取单词的词干或词根的形式(不一定表达完整的意思)。词形简化和词干提取是词形标准化的两种方式。
主题建模:主题模型
选择:选择
类别计划程序:类别预测
LDA(latentdirichletallocation)是一种文档主题生成模型,也称为三层贝叶斯概率模型,包含单词、主题和文档三层结构。
Bagofword(bow):单词包是指通过绕过语法将输入文本分解成单词,通过统计模型完成指定的语言处理任务。
在本章中学习自然语言处理(NLP)。讨论文本处理的新概念,如分词、规则库和词典库。然后,讨论了如何建立术语包模型,并利用该模型对文本进行分类。学习如何使用机器学习来分析给定语句的含义。现在让我们讨论主题模型并实现可以识别给定文件的主题词汇的系统。
本章结束时,我们将学习以下内容。
如何安装文本分类的相关包:通过词干把句子分成最基本的形式;通过词条化将句子分成最基本的形式;用“词袋”模型划分文本数据;提取句子的词矩阵进行分类和保留。
包的介绍和安装
自然语言处理(NLP)已经成为现代系统的一部分,广泛应用于搜索引擎、人机界面、文档处理等。机器可以很好地处理结构化数据。但是,处理不成形的文本是很困难的。NLP的目的是让计算机理解非结构化文本,帮助它们理解语言。
处理非结构化自然语言的最大挑战之一是语言的数量和种类。当理解一个特定的句子时,上下文的意思起着非常重要的作用。人类擅长做这些事情。因为人类已经为此接受了多年的训练。我们将很快能够利用我们过去的知识来理解上下文和别人在说什么。
为了解决这个问题,自然语言的研究人员开始使用机器学习开发各种应用程序。为了搭建这样的APP场景,需要收集大量的语料库,训练分词的算法,执行语义分析、话题模型等各种任务。这些算法被训练来捕捉输入文本数据及其派生含义。
本章对文本进行分析,讨论构建自然语言处理APP的各种基本概念。这样,我们就可以知道如何从给定的文本数据中提取重要信息。要生成这些APP应用程序,请使用名为naturelanguetookit (nltk)的Python包。我确认你已经提前安装了这个软件包。您可以通过运行以下命令来安装它:
$ pip 3安装nltk
你可以在这个网站上找到更多信息。http://www.nltk.org .
为了得到NLTK的所有数据集,现在就需要。打开Python的shell命令窗口。输入以下命令:
$python3
在python shell窗口中,输入以下命令下载数据:
导入nltk
nltk .下载(
我们还需要使用本章中的gensim包。这是一个健壮的语义模型库,对很多APP应用都很有帮助。您可以通过输入以下命令来安装它:
$ pip 3安装gens im
您可能需要另一种包模式来使gensim更好地工作。要安装它,请使用以下命令。
$ pip 3安装合作伙伴
关于gensim的有用信息位于https://radimrehurek.com/gensim. NLTK上,gensim现在正在安装,所以让我们开始讨论。
文本分词
在处理文本时,需要将其分成小块进行分析。将输入的文本分成单词和句子等小块。这些作品被称为原型。我们来看看如何使用NLTK进行分词。
-编码:UTF-8- createddonsunnov 191033603133602017 @作者:30961 Fromnltk。TokenizeImprrize ID打印机(句子标记器:)s
ent _ tokenize(input _ text))print( word tokenizer:)print(word _ tokenize(input _ text))print( word punct tokenizer:)print(wordpunctokenizer()。tokenize(input_text))
使用stemming还原词汇
对于一些变化的词,我们必须处理同一个词的不同形式,让计算机明白这些不同的词有相对的形式。例如,sing这个词可以以多种形式出现,如sang、singer、singing等等。我们刚才看到的是一系列意思相同的单词。人类可以很容易地识别这些词的基本形式和派生形式。
当我们分析文本时,提取这些基本形式是有用的。它将让我们提取有用的统计数据来分析输入的文本。词根提取(词干提取)可以做到这一点。stemer的目的是通过将不同形式的单词转换成基本形式来减少单词的数量。去掉一个单词的尾部,变成它的基本形式,这是一个启发式的过程。让我们看看如何使用NLTK分词。
# -*-编码:utf-8 -*- 创建于2018年2月13日星期二16:47:48 @ author:30961 # Guide the package from nltk . stem . porter import porter stemmer from nltk . stem . Lancaster import Lancaster stemmer from nltk . stem . Snowball import Snowball stemmer #定义单词input _ text=[writing , calves , be , brand , horse , randomize , pose , provision , hospital , scratch ,Code SNOWBALL ]formatted _ text= {:16 } *(len(stemmer _ names)1)print( \n ,formatted _ text . format( INPUT WORD ,*stemmer_names), \ n ,= * 68)# INPUT _ text中WORD的输出结果:output=[word,porter.stem (word),Lancaster.stem (word),snow . stem(WORD)]print(formatted _ text . format(* output))
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。