预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于Python的自然语言数据处理系统的设计与实现打开文本图片集摘要随着云时代的来临,大数据技术将具有越来越重要的战略意义,很多组织通常都会用一种领域特定的计算语言,像Python、R和传统的MATLAB,将其用于对新的想法进行研究和原型构建,之后将其移植到某个使用其他语言编写大的系统中去,如Java、Python等语言慢慢经验的积累人们意识到,Python对于科研和产业两者都适用,这使得即thon变得流行起来,因为研究人员和技术人员使用同一种编程工具将会带来非常高的效益。本文基于Python语言通过对旅游游记的文本数据的处理分析,来预测大众游客的旅游趋势,并进行个性化推荐。这样工作有利于了解旅游网站的运行情况,分析游客的需求,以便更加有效地对网站和产品进行改进和升级。该工作涉及到数据采集、数据挖掘等关键技术。本文介绍一个基于Python的自然语言数据处理系统,系统通过对旅游游记文本数据进行探索,让人们能更加深入了解文本数据获取和处理的流程和一些实用方法技巧。【关键词】Python自然语言数据处理系统设计1自然语言数据处理系统的设计自然语言数据处理是目前非常重要的一个科研和产业任务,自然语言处理被划分为3个阶段,分别是数据爬取,数据预处理和数据分析。本设计基于Python语言进行具体阐述得。因为,Python既是一门编程语言,又是一款十分好用的数据处理、统计分析与挖掘的软件框架。与其他编程语言相比Python具有简单,易学习的特点,通过对Python的学习,能够快速开发统计分析程序。Python擁有丰富强大的扩展库和成熟的框架特性很好地满足了数据分析所需的基本要求。1.1自然语言数据处理系统框架本系统框架基于一般产业和科研的自然语言处理方法归纳总结而成,见图I。1.2数据爬取数据爬取任务通常是基于Robots协议进行,再分析网站DOM树爬取所需要的数据,在解析过程中主要使用正则表达式进行筛选和匹配,针对网站的反爬取机制采取一些措施和手段。本系统基于Python的爬取了途牛网及马蜂窝的旅游游记数据包括元数据和文本型两种数据,共计3000余篇。其中元数据包括:文章标题,发表时间,浏览量和点赞等信息。文本型数据包括文字和游记图片数据。1.3数据清洗现有数据中,文本是最非结构化的形式,里面有各种各样的噪声;如果没有预处理,文本数据都不能分析。清理和标准化文本的整个过程就是文本预处理,其作用是使文本数据没有噪声并且可以分析。移除噪声通用的做法是准备一个噪声实体的词典,在文本对象上逐个逐词迭代,消除在噪声词典中出现的标签。例如:处理掉文本中的停用词,需要用到停用词表,常见的停用词表可以在网上下载,再添加项目内容相关的停用词即可。文本通过Python的jieba库进行中文分词,将每一篇游记精确分词并去除停用词,之后将分词后的结果每篇作为一行合并成预料文档,1.4数据挖掘数据挖掘方法需要将文本转换为数值进行计算,最简单的方法是基于词袋模型进行表示。再使用文档频率及逆文献频率(TF-IDF)进行计算。TF-IDF在不考虑文献中词的具体位置情况下,基于文献中出现的词汇将文本文献转化成向量模型。一个词语在一篇文章中出现次数越多,同时在所有文档中出现次数越少,越能够代表该文章。词频(TF)指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化(一般是词频除以文章总词数),以防止它偏向长的文件。TF-IDF公式给出了文本集中术语的相对重要性,本文使用Python的scikit-learn模块实现了文本转换为TF-IDF向量计算。首先使用在计算tf-idf词语权重将文档转换为词频矩阵,这样就做完了聚类之前的准备工作。再对游记数据通过KMeans实现聚类分析,KMeans算法的基本思想是初始随机给定K个簇中心,按照最邻近原则把待分类样本点分到各个簇。然后按平均法重新计算各个簇的质心,从而确定新的簇心。一直迭代,直到簇心的移动距离小于某个给定的值。K值的确定和聚类效果的评估是取得最优聚类结果的关键。k值可用手肘法获取,手肘法的核心指标是SSE(误差平方和),对每一个k值进行聚类并且记下对于的SSE,然后画出k和SSE的关系图,最后选取肘部对应的k作为我们的最佳聚类数。聚类效果评估,通过对同一个k值进行多次聚类,画出聚类次数和intreia的折线图,intreia表示所有点到其分类中心点平均值的和,intreia值越小说明聚类效果越好。2自然语言数据处理系统的实现2.1项目所使用Python库模块介绍本问所述系统使用了requests、BeautifulSoup、Selenium、jieba、scikit-learn及pylab库模块,下面简要介绍这些库模块:(1)requests:requests是Python的一个HTTP客户端库,相比urll