推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的自然语言数据处理系统的设计与实现

更新时间:2019-12-24 17:15:15 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python数据处理系统 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

随着云时代的来临,大数据技术将具有越来越重要的战略意义,很多组织通常都会用一种领域特定的计算语言,像Python、R和传统的MATLAB,将其用于对新的想法进行研究和原型构建,之后将其移植到某个使用其他语言编写大的系统中去,如Java、Python等语言。慢慢经验的积累人们意识到,Python对于科研和产业两者都适用,这使得Python变得流行起来,因为研究人员和技术人员使用同一种编程工具将会带来非常高的效益。本文基于Python语言通过对旅游游记的文本数据的处理分析,来预测大众游客的旅游趋势,并进行个性化推荐。这样工作有利于了解旅游网站的运行情况,分析游客的需求,以便更加有效地对网站和产品进行改进和升级。该工作涉及到数据采集、数据挖掘等关键技术。本文介绍一个基于Python的自然语言数据处理系统,系统通过对旅游游记文本数据进行探索,让人们能更加深入了解文本数据获取和处理的流程和一些实用方法技巧。


部分文件列表

文件名 大小
基于Python的自然语言数据处理系统的设计与实现.pdf 2M

部分页面预览

(完整内容请下载后查看)
数据库技术  
Data Base Technique  
基于 Python 的自然语言数据处理系统的设计与实现  
文/唐琳 何天宇  
随着云时代的来临,大数据  
技术将具有越来越重要的战略意  
义,很多组织通常都会用一种领  
域特定的计算语言,Python、  
R传统MATLAB将其用于对  
新的想法进行研究和原型构建,  
之后将其移植到某个使用其他语  
言编写大的系统中去,Java、  
Python语言。慢慢经验的积累  
人们意识到,Python于科研和  
产业两者都适用,这使Python  
变得流行起来,因为研究人员和  
技术人员使用同一种编程工具将  
会带来非常高的效益。本文基于  
Python言通过对旅游游记的文  
本数据的处理分析,来预测大众  
游客的旅游趋势,并进行个性化  
推荐。这样工作有利于了解旅游  
网站的运行情况,分析游客的需  
求,以便更加有效地对网站和产  
品进行改进和升级。该工作涉及  
到数据采集、数据挖掘等关键技  
术。本文介绍一个基Python的  
自然语言数据处理系统,系统通  
过对旅游游记文本数据进行探索,  
让人们能更加深入了解文本数据  
获取和处理的流程和一些实用方  
法技巧。  
1:自然语言处理框架流程  
1.1 自然语言数据处理系统框架  
词表可以在网上下载,再添加项目内容相关的  
停用词即可。  
文本通Python jieba 库进行中文分词,  
本系统框架基于一般产业和科研的自然  
语言处理方法归纳总结而成,见1。  
将每一篇游记精确分词并去除停用词,之后将  
分词后的结果每篇作为一行合并成预料文档,  
1.2 数据爬取  
1.4 数据挖掘  
数据爬取任务通常是基Robots 协议进  
行,再分析网DOM 树爬取所需要的数据,  
在解析过程中主要使用正则表达式进行筛选和  
匹配,针对网站的反爬取机制采取一些措施和  
手段。  
数据挖掘方法需要将文本转换为数值进  
行计算,最简单的方法是基于词袋模型进行  
再使用文档频率及逆文献频TF–  
IDF)进行计算。TF-IDF 在不考虑文献中词的  
具体位置情况下,基于文献中出现的词汇将文  
本文献转化成向量模型。一个词语在一篇文章  
中出现次数越, 同时在所有文档中出现次数  
, 越能够代表该文章。词(TF) 指的是某  
一个给定的词语在该文件中出现的次数。这个  
数字通常会被归一( 一般是词频除以文章总  
), 以防止它偏向长的文件。TF-IDF 公式  
给出了文本集中术语的相对重要性,本文使用  
Python scikit-learn 块实现了文本转换为  
TF-IDF 向量计算。  
本系统基Python 的爬取了途牛网及马  
蜂窝的旅游游记数据包括元数据和文本型两种  
数据,共3000 余篇。其中元数据包括:文  
章标题,发表时间,浏览量和点赞等信息。文  
本型数据包括文字和游记图片数据。  
【关键词】Python 自然语言 数据处理系统  
设计  
1 自然语言数据处理系统的设计  
1.3 数据清洗  
自然语言数据处理是目前非常重要的一  
个科研和产业任务,自然语言处理被划分3  
个阶段,分别是数据爬取,数据预处理和数据  
分析设计基Python语言进行具体阐述得。  
因为,Python 既是一门编程语言,又是一款十  
分好用的数据处理、统计分析与挖掘的软件框  
架。与其他编程语言相Python 具有简单,  
易学习的特点,通过Python 的学习,能够  
快速开发统计分析程序。Python 拥有丰富强大  
的扩展库和成熟的框架特性很好地满足了数据  
分析所需的基本要求。  
现有数据中,文本是最非结构化的形式,  
里面有各种各样的噪声;如果没有预处理,文  
本数据都不能分析。清理和标准化文本的整个  
过程就是文本预处理,其作用是使文本数据没  
有噪声并且可以分析。  
首先使用在计tf-idf 词语权重将文档转  
换为词频矩阵,这样就做完了聚类之前的准  
备工作。再对游记数据通KMeans 实现聚类  
分析,KMeans 算法的基本思想是初始随机给  
K 个簇中心,按照最邻近原则把待分类样  
本点分到各个簇。然后按平均法重新计算各个  
移除噪声通用的做法是准备一个噪声实  
体的词典,在文本对象上逐个逐词迭代,消除  
在噪声词典中出现的标签。例如:处理掉文本  
中的停用词,需要用到停用词表,常见的停用  
●基金项目:辽宁省大学生创新创业训练计划项目基于网络大数据的大学生旅游(目编:201713198000006);大连理工大学城市学院院级课  
题“新课程‘Python言程序设计’在软件专业转型试点中实验、实践教学研究与应用”(JXYJ12017003);辽宁省教育科学规划项目“辽宁省  
应用型大数据人才培养目标及实现路径探究”(JG17DB083);辽宁省普通高等学校转型发展试点专业——大连理工大学城市学院计算机工程分院  
软件工程专([2016]23号)究成果。  
电子技术与软件工程ꢀꢀ  
Electronic Technology & Software Engineering  
160 •  
Data Base Technique  
数据库技术  
2:旅游游记文本数据分析系统  
3:聚类界面  
4:聚类评估折线图  
簇的质心,从而确定新的簇心。一直迭代,直  
到簇心的移动距离小于某个给定的值。K 值的  
确定和聚类效果的评估是取得最优聚类结果的  
关键。k 值可用手肘法获取,手肘法的核心指  
SSE(误差平方和),对每一k 值进行  
聚类并且记下对于SSE,然后画k SSE  
的关系图,最后选取肘部对应k 作为我们的  
最佳聚类数。聚类效果评估,通过对同一k  
值进行多次聚类,画出聚类次数intreia 的折  
线图,intreia 表示所有点到其分类中心点平均  
值的和,intreia 值越小说明聚类效果越好。  
确模式模式和搜索引擎模式三种分词模式。  
4scikit-learnScikit-Learn Python  
著名的机器学习, 其中包含大量机器学习算  
法、数据, 是数据挖掘方便的工具。安装它  
pool.close() # 关闭进程池  
pool.join() # 主进程阻塞  
count = count + 1 # 存储次数1  
print("\r 当 前 进 度 : {:.2f}%".  
numpyscipymatplotlib 一些依赖包支持。 format(count * 100 / 4), end="") # 显示页数进度  
5pylabmatplotlib 一个子,  
driver.find_element_by_xpath("//  
a[contains(text(),' ')]").click() # 拟点  
击翻页  
非常适合于进行交互式绘图。  
2.2 系统实现  
page = page + 1 # 页数1  
time.sleep(4) # 睡眠防止被封 翻页等  
待时间  
基于自然语言处理框架,系统被划分为  
数据收集、数据预处理、数据分析三部分。如  
2 所示。  
driver.quit()  
# 关闭浏览器驱动  
2 自然语言数据处理系统的实现  
2.3 数据收集  
2.4 数据预处理  
2.1 项目所使用Python库模块介绍  
系统主要使Python 络爬通过  
geturlList 数获取当前页urlgetinList 函  
数下载一页的游记内容和图片 将游记的一些  
元数据信息如标题,作者,发表日期等存入  
MySQL 数据库表中,游记正文以文本形式单  
独存放。  
本系统数据预处理包括中文分词、移除  
噪声筛选词性等操作。其中,segment 函数移  
除噪声merge_file 函数合并文档预料。  
本问所述系统使用requestsBeautiful  
SoupSeleniumjiebascikit-learn pylab  
库模块,下面简要介绍这些库模块:  
2.5 数据分析  
1requestsrequests Python 一个  
HTTP 客户端, urllib 更加简单易学。  
2Beautiful SoupBeautiful Soup  
是一个可以从 HTML XML 件中提取  
数据的 Python 库。Selenium自动化工具  
库,Selenium 持各种浏览器驱动用于和  
PhantomJS 实现模拟浏览器,PhantomJS 是一  
个无界面, 可脚本编程WebKit 浏览器引  
擎。  
本系统数据分析采用了无监督的聚类方  
法,通clu 函数计tf-idfk-means 聚类,  
其中计tf-idf 主要代码如下所:  
vectorizer = CountVectorizer()# 文本中  
的词语转换为词频矩阵  
系统为了提升爬取效率实现多进程和模  
拟浏览器,具体代码如下所示:  
page = 0 # 初始化页数  
while page < 4: # 下载页数  
url_list = []  
transformer = TfidfTransformer()# 统 计 每  
个词语tf-idf 权值  
url_list = geturlList(driver.page_source)  
pool = Pool(5) # 创建进程池  
tfidf = transformer.fit_transform(vectorizer.  
fit_transform(corpus)) # tf-idf 将文本转  
3jiebajieba 是一python 实现的分  
词库,对中文有着很强大的分词能力。支持精  
pool.map(getinList, url_list) # 传入进程  
函数名url 生子进程  
<< 下转 162 页  
电子技术与软件工程  
Electronic Technology & Software Engineering  
• 161  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载