《Python金融数据挖掘》课件第7章.pptx

上传人(卖家):晟晟文业 文档编号:4104803 上传时间:2022-11-11 格式:PPTX 页数:49 大小:2.39MB
下载 相关 举报
《Python金融数据挖掘》课件第7章.pptx_第1页
第1页 / 共49页
《Python金融数据挖掘》课件第7章.pptx_第2页
第2页 / 共49页
《Python金融数据挖掘》课件第7章.pptx_第3页
第3页 / 共49页
《Python金融数据挖掘》课件第7章.pptx_第4页
第4页 / 共49页
《Python金融数据挖掘》课件第7章.pptx_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、Python金融数据挖掘 高等教育出版第七章第七章PythonPython文本文本挖掘挖掘【知识框架图】【知识框架图】文本挖掘基本概念分词特征提取文本分析jieba处理包NLTK处理包词云图制作语句情绪分析目 录目 录Contents第一节第一节基本概念基本概念第二节第二节文本分析处理文本分析处理第三节第三节案例案例本章本章学习目标学习目标1.分词的概念与基本方法。2.中文jieba处理包的应用。3.NLTK自然语言处理包的应用。4.文件词频统计及制作词云图。5.文本特征分析、客户言论评估及舆情反应监督应用案例。需求背景需求背景l文本挖掘是数据挖掘的重要应用领域。目前的研究成果已能够使用文本挖

2、掘算法对自然语言进行统计分析,从而实现对字、词、句子、篇章等语言单位进行分析、统计、翻译、语句情感色彩评估、语言风格分辨等功能,甚至能够模仿人创作文学作品。l在金融数据挖掘领域中,可以使用Python的自然语言处理包,对语言素材进行统计分析,从而实施如分词、数据提取、词频统计、词云图绘制及语句情绪色彩分析等文本挖掘工作。基本概念基本概念3.1 基本基本概念概念l文本挖掘(Text Mining)和自然语言处理(NLP,Natural Language Processing)是现代人工智能系统不可分割的一部分。l众所周知,计算机擅长处理结构化数据,处理非结构化的文本时,就会变得很困难。l自然语言

3、属于典型的非结构化数据,并且语言交流方式也有许多变化和差异,例如方言、语境、俚语等,因此,研发NLP应用程序是一种挑战,同时也激发了众多研究者的兴趣。l随着NLP技术和机器学习的日趋成熟,计算机理解自然语言的目标已逐渐成为现实。l文本挖掘的一般过程如图 7-2所示。图 7-2 文本挖掘的一般过程l文本挖掘过程包含的技术主要有:数据预处理(重点是分词技术、文本特征提取)、词性标记、信息检索、文本挖掘、文本分类、文本聚类、关联分析、语义解释、语言翻译等。l目前的分词预处理技术主要有基于字符串匹配(词典)的分词方法、基于统计的分词方法和基于理解的分词方法。1.基于字符串匹配(词典)的分词算法l所谓基

4、于词典的意思是,按照一定的策略将待分析的汉字字符串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。l查找匹配的算法来源于经典的字符串匹配算法,包括正向最大匹配、正向最小匹配、逆向匹配及逐词遍历匹配法等。这类算法的特点是易于实现,设计简单。l但分词的正确性很大程度上取决于所建的词库。2.基于统计的分词技术l这种技术用一个条件概率(出现频率)的表格取代前述算法的词库。l首先对大量的文本素材进行扫描统计,将素材中任意前后紧邻的两个字作为一个词进行出现频率的统计。在素材中某个组合出现的次数越高,那么这个组合是一个词语单位的可能性就越大,在频率超过某个预

5、先设定的阈值时,就将其作为一个词进行索引,并记录下这种组合出现的概率。l当新的文本被提交进行分词时,相邻的字可能有若干种不同的方式组合成词。按照统计生成的概率表格,选择组合概率最大的那一种作为分词的方案。3.基于理解的分词方法l这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。l其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。l它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。

6、l由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。l以文本分词后的词语素材为基础,进一步可以进行的工作主要包括:文本词性标注文本摘要文本分类文本聚类文本可视化文本分析处理文本分析处理2.1 英文英文处理处理lNLTK(Natural Language Toolkit,自然语言工具包)是采用Python语言开发的,目前最为广泛的用于英文文本分析、挖掘的开发工具包。lNLTK由宾夕法尼亚大学计算机和信息科学系的Steven Bird和Edward Loper开发,是一个开源的自然语言分析处理项目,其官方主页为:http:/ww

7、w.nltk.org/。l我们可以在Anoconda Prompt命令行窗口安装NLTK:conda install ntlk首次运行NLTK相关代码时需要安装模块,如图 7-3所示。我们直接在代码里指定代码所需要模块,针对性地下载特定内容,可以节省下载的时间。图 7-3 NLTK模块下载1.分割句子与单词l使用NLTK 我们可以将段落分割成句子,将句子分割成单个词。l【例 2-1】演示了利用NLTK提供的句子和单词分割器(tokenizer)来分词的方法。l继续:第17-19行使用了标点符号分割器PunktSentenceTokenizer将段落分割成句子。第22-23行使用句子分割器sen

8、t_tokenize完成类似的工作。第26-28行使用了单词分割器word_tokenize将句子分割成单词。这些分割器对于非英语的语言文字同样有效。l输出结果:2.词干提取l以英语为例,单词有单、复数形式的变化、时态的变化、语态的变化;还可以通过前缀、后缀生成新词、转换词性。例如working、works、worked的词干同为work。l词干提取是去除词缀得到词根的过程,NLTK有一个名为PorterStemmer的类来完成这项工作。l下面看看这个算法的应用例子。l【例 7-2】词干提取案例3.同义词和反义词处理lWordNet是NLTK中一个为自然语言处理而建立的数据库,它包括同义、反义

9、词组和单词的定义。类似于一个英语语言词典。l【例 7-3】可以获取某个给定单词的定义、示例,查询同义、反义词。l继续:l输出结果:2.2 中文中文处理处理l中文分词是中文文本处理的一个基础步骤。不同于英文的是,中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词。l分好的词再组合成词组,作为后续句子分析和处理的基础。l分词效果将直接影响词性、句法树等模块的效果。看一个简单的中文句子:北京大学毕业生于昨日来Python公司应聘l这样的句子正常地理解应该是这样:北京大学/毕业生/于/昨日/来/Python公司/应聘l但是对于计算机来说,划分成:北京/大学毕业生/于昨日(人名)/

10、来/Python公司/应聘l在中文环境下,我们主要利用基于统计结果进行中文分词。首先对海量的中文语料库进行统计,得到词语与词语组合的出现概率;然后按照这个概率的高低,对待分析的句子中的词和词的组合进行取舍。l目前,有不少可以对中文或其他语言进行分词的工具。jieba分词工具是其中较为常用的一种。ljieba项目在Python的官网地址是:https:/pypi.python.org/pypi/jieba/l项目主页是:https:/ l进入Python命令行后,执行以下命令。l可通过网络安装好jieba分词工具:easy_install jieba l或者:pip install jieba/

11、pip3 install jiebajieba分词分为三种模式:l1.精确模式(默认):试图将句子最精确地切开,适合文本分析;l2.全模式:把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;l3.搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。l【例 7-4】使用jieba分词工具对“北京大学毕业生于昨日来Python公司应聘”进行分词。In5:对分词结果的词语进行了逐项词性标注,其具体含义请参见本书附录B。l【例 7-5】用jieba来提取舌尖上的中国中某一集解说词出现频率最高的20个中文词语。第4行读入txt文本素材文件。第6行jie

12、ba.cut(shejian)对读入的文本素材进行分词,将所有长度大于2的分词结果放入shejian_words中。第7行对各个词语的出现频率进行统计,将出现频率最高的20个词放入c当中,最后输出c。2.3 词词云图云图l词云图是由词汇组成类似云的彩色图形,利用词云图可以过滤掉文章大量无关紧要的文本信息,使浏览者能够很直观快捷地凭借视觉感官提取文本中的主题内容,如下图所示。l【例 7 6】所示代码,便可生成词云图。l首先安装包:在Anaconda Prompt命令行窗口安装wordcloud包和用于背景图像文件读取的imageio包:pip install wordcloud conda in

13、stall imageiol运行程序:首先为项目导入必要的包,再将素材文件读入到content变量中。第10-11行调用jieba.analyse.extract_tags将content中出现频度排在前200位的单词以列表List存入tags中,再将其转换为空格分隔的文本对象text。第13行读入预先准备好的中国地图图像文件作为词云图的底图。第15-18行设置WordCloud词云图对象,第20-21行以text对象数据生成词云图。最后输出显示和文件保存。l输出结果:图 7-5 舌尖词云图案例案例l本节我们将介绍一个利用文本挖掘工具对股票评论的标题内容进行情绪分析,生成每天股评标题量化情绪分

14、数的波动与沪深两市的指数波动情况进行对比分析结果。l这个综合应用的例子需要用到SnowNLP包,这个包由中国人研发。该工具可以对中文句子进行情感分析,针对每个句子进行打分,每个句子的得分在0-1(0表示消极,1表示积极)之间,对应了消极到积极的情绪变化。l在Anoconda Prompt命令行窗口输入以下命令安装SnolNLP包:pip install snownlpl评分规则是使用事先人工标记好情绪得分的语料数据库,在对句子进行分词的基础上,依次对构成句子的各语素的情绪得分进行分析计算,从而得到整个句子的情绪评分。l比方说,对于“我今天很快乐”这个句子SnowNLP可以得到一个0.972的情

15、绪评分;l而对于“我今天很愤怒”,得分则是0.078。简单说,得分越高,句子反映的情绪越正面。l【例 7-7】展示了针对证券交易数据进行文件挖掘的方法。l继续:l继续:l输出结果(部分):l股评情绪分析图 从右图可以看出,每当大盘的指数发生波动时,股评标题所使用的文本情绪也会相应地发生变化,直观地说:指数涨、情绪乐观;指数跌,情绪悲观。这也是股票市场参与者的自然情绪反应。本章小结本章小结l文本挖掘是数据挖掘当中的重要应用领域,利用分词、词频统计、词云图制作和语句情境分析等技术,可以从文本素材中发现出很多有价值的数据和规律。l在金融数据挖掘业务中,已有大量的案例将文本挖掘技术应用于财经舆情监测、

16、股评情绪分析、会计报表分析等场景,取得了很好的效果。重要概念重要概念1.分词2.词频、相似度3.词云图4.jieba,NLTK,SnowNLP包的工程和使用复习思考题复习思考题1.给出英文文本text如下:text=Big data is data sets that are so big and complex that traditional data-processing application software are inadequate to deal with them.Big data challenges include capturing data,data storage

17、,data analysis,search,sharing,transfer,visualization,querying,updating,information privacy and data source.There are a number of concepts associated with big data:originally there were 3 concepts volume,variety and velocity.Other concepts later attributed with big data are veracity and value.(1)使用句子

18、tokenizer,将这一段文本tokenize成句子。(2)使用单词tokenizer,将这一段文本tokenize成单词。(3)给中文文本text如下:text=大数据是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。对这一段中文文字进行分词、输出每个分词的词性。复习思考题复习思考题2.有手机垃圾短信数据集,将其放在文件中:sms_spam.csv,该文件共有5537行,2列,分别是类型(type,ham为非垃圾短信,spam为垃圾短信)和内容(text,短信的具体内容),如图 7-7所示。复习思考题复习思考题问题:(1)对该手机垃圾短信的数据集进行文本挖掘。(2)分类垃圾邮件ham和非垃圾邮件spam,并分别做词云图。3.使用第6章介绍的网络数据源,获取3支股票的信息,按照本章第三节提供的方法,做出每日涨跌幅与股评情绪的对比图像。谢谢观赏谢谢观赏 下节课见下节课见

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《Python金融数据挖掘》课件第7章.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|