连享会-文本分析与爬虫专题
我们的学习,随时随地都可以开始!
目录
1. 课程概览
2. 嘉宾简介
3. 课程简介
3.1 课程导引
3.2 课程特色
3.3 授课内容
4. 课程大纲
第 1 讲 字符函数和正则表达式(3小时)
第 2 讲 Stata 正则表达式进阶(3小时)
第 3 讲 爬虫基础(3小时)
第 4 讲 文本信息处理(3小时)
第 5 讲 Python 基础(3小时)
第 6 讲 Python 中的数值计算(3小时)
第 7 讲 Python 爬虫专题(3小时)
第 8 讲 机器学习与文本分析(3小时)
5. 报名和缴费信息
报名链接
缴费方式
1. 课程概览
授课方式: 视频课程。缴费后主办方发送邀请码,点击邀请码即可进入在线课堂,收看无需安装任何软件。 主讲嘉宾: 游万海 (Part A: 第 1-4 讲);司继春 (Part B: 第 5-8 讲) 课程时效: 购买后两周内可重复观看 长按/扫描二维码报名:
课程提要
课程要点: 本课程主要介绍正则表达式相关语法规则及非结构化数据处理;讲解 Python 的基础知识,并使用 Python 进行数据处理、数值计算、网络爬虫、文本分析等不同任务的处理;介绍机器学习常用算法,如决策树、随机森林、支持向量机以及神经网络等的基本原理,并使用 Python 实现各类算法。 主要方法: Python, Scipy, Numpy, Pandas, Matplotlib, Plotly, BeautifulSoup, Request, Selenium, Scikit-learn, TensorFlow, Jieba, NLTK, gensim等。 主要软件\语言: Stata, Python 课程资料:将会发送至学员邮箱和微信群。包括:课程讲义,范例程序和数据,以保证大家能够在自己的电报上重现课程中讲述的所有内容。
课程特色
深入浅出:掌握最主流的文本分析和爬虫方法 电子板书:全程电子板书演示,课后分享;听课更专注,复习更高效。 电子讲义:分享全套电子版课件 (数据、程序和论文),课程中的方法和代码都可以快速移植到自己的论文中。
2. 嘉宾简介
游万海,福州大学经济与管理学院教师,主要研究领域为空间计量模型、分位数回归模型及相关实际问题的应用,以主要作者在国内外期刊《World Development》、《Energy Economics》、《Economics Letters》、《Finance Research Letters》、《Journal of Cleaner Product》、《统计研究》发表学术论文 20 余篇,担任《Energy Economics》、《Journal of Cleaner Product》、《Economic Modelling》、《International Review of Economics & Finance》等期刊匿名审稿人。
司继春,上海对外经贸大学统计与信息学院讲师,主要研究领域为微观计量经济学、产业组织理论。在 Journal of Business and Economic Statistics、《财经研究》等学术刊物上发表多篇论文,[主页]。 其实,大家更熟悉的是知乎上大名鼎鼎的 [慧航],拥有 219,753 个关注者,获得过 110,578 次赞同,他就是司继春老师 —— [知乎-慧航]。
3. 课程简介
3.1 课程导引
实证研究中,数据的 获取及处理 是第一步,也是至关重要的一个环节!
在传统的经济和金融分析中,我们使用的主要是结构化的数据 (多数数据来源于统计年鉴、商业数据库,如 GTA,Wind 等),而在大数据时代,大量有价值的信息以文本等非结构化、异构型的数据格式存储于互联网网页或者各类文档中。从 Web 上快速、有效地提取这些信息对人文社会科学的深度研究尤为重要。
这些文本信息如何 获取 ?答曰:网络爬虫。
这些文本信息如何 处理 ?答曰:正则表达式。
这些文本信息如何 分析 ?答曰:话题分析和情感分析
事实上,无论是在管理学、经济学、金融学、会计学,还是人文社会科学的其他领域,基于网络爬虫的文本分析类研究都得到了高度的关注。其火热程度可以从相关论文的 Google 学术引用次数窥豹一斑。
例如,在金融和会计领域,Loughran and McDonald (2011) 发表于 Journal of Finance 上的有关文本分析技术的综述性文章,短短 8 年时间,引用率已经超过 1000。二人于 2016 年发表于 Journal of Accounting Research 的另一篇介绍文本分析在会计和金融领域应用的综述性文章目前已被引用 300 余次。
此外,在政治学领域,Grimmer and Stewart (2013) 的 “Text as data: The promise and pitfalls of automatic content analysis methods for political texts”,被引用 1200 余次;经济学领域,Hoberg and Phillips (2016, JPE) 被引用 500 余次。
利用 Google 学术 顺藤摸瓜,可以发现,各个领域文本分析的来源非常丰富,包括:历史典籍、报纸新闻、明清房契、刑科题本、公司公告、明星微博等等,从而使研究的主题也得到了极大的扩展。
下面是一些我们摘录的一些论文信息:
特别说明: 文中包含的链接在微信中无法生效。请点击本文底部左下角的【阅读原文】。
经济学领域:
Hoberg, Gerard, and Gordon Phillips. 2016, Text-based network industries and endogenous product differentiation,?Journal of Political Economy 124, 1423-1465. Google 引用率超过 500 次。[PDF1], [PDF2]
金融和会计领域:
Loughran, Tim, and Bill McDonald. 2011. When is a liability not a liability? Textual analysis, dictionaries, and 10‐ks,?Journal of Finance?, 66, 35-65. 该文是金融和会计领域颇具影响力的一篇文章,2011 年发表,短短几年的时间,Google 引用率已经超过 1000 次。[PDF1], [PDF2] Loughran, T., and B. Mcdonald. 2016, Textual analysis in accounting and finance: A survey,?Journal of Accounting Research?54, 1187-1230.?[PDF]。发表仅 2 年的时间,Google 学术引用率已经飙升到接近 300 次。[PDF1], [PDF2] Jegadeesh, Narasimhan, and Di Wu. 2013. Word power: A new approach for content analysis,?Journal of Financial Economics? 110, 712-729. Goolge 学术引用率 207 次。[PDF1] [PDF2] Neuendorf, Kimberly A, 2017. The content analysis guidebook (Sage). 自 2002 年第一版以来,目前引用率已经达到 10000 余次。
社会学领域:
Fairclough, Norman. 2003. Analysing discourse: Textual analysis for social research (Psychology Press). 被引用次数:12678
政治学领域:
Grimmer, Justin, and Brandon M Stewart. 2013, Text as data: The promise and pitfalls of automatic content analysis methods for political texts, Political analysis 21, 267-297. Google 引用率超过 1200 次。[PDF]
3.2 课程特色
A. 以需求为导向的课程架构
完整的知识架构是你长期成长的动力源泉! 在此次课程中,我们力求将四天的课程设置成一个比较完整的文本分析体系,以期达成如下目标:
其一,能够实现多数网站数据爬取任务; 其二,能熟练掌握正则表达式对非结构化数据进行清理; 其三,能够建立起文本分析的基本架构,熟知文本分析所涉及的基本概念和分析流程。
B. 顺势而为:Stata+Python+R
2019 年 6 月 26 日,Stata 官网正式推出 Stata 16。一大亮点在于增加了与 Python 互通的接口:你可以在 Stata 的 Do-file 编辑器中编写 Python 代码,也可以直接从 Stata 界面下直接调用既有的 Python 代码和函数。
这意味着什么呢? 这意味着我们日后的分析工作都是任务导向的,不再依赖于特定的某种软件或语言。更直接地说,不久之后,每个 PhD 学生都至少要掌握 2-3 种软件和语言,以便应对不同的分析任务。这种改变使得我们得以迈出自己的小圈子,在一个更为广阔的天地中与更多的 「同行」 分享-被分享 知识和经验。
为此,本次课程中我们希望能引领各位顺畅地从温馨的 Stata 小屋跨入 Python 的天地。为了达到这个目的,我们为大家铺设了两条 「缓坡通道」:
其一 ,课程中会使用 Jupyter Notebook 进行讲解。它可以帮助文件在一份文档里同时运行 Stata 和 Python 代码 (当然,也可以嵌入 R 或 Matlab 等代码),还可以像写论文一样记录下你的任何想法和研究结果。更重要的是,大家可以在自己的电脑上边看讲义边执行命令,完全重现课程中的所有内容。
其二,在内容设置上,第 1-2 讲,主要采用 Stata 进行讲解,这是多数学员的主场;基于 Stata 理解并掌握了正则表达式等内容后,我们将介绍如何在 Stata 内部使用 rcall
命令调用两个 R 中的包 (rvest
和 rdom
),以便实现多数爬虫任务。这其中只需要了解一些简单的 R 命令即可。最后,为了实现更为复杂的爬虫和文本分析任务,在第 5-8 讲中,我们将转入 Python。
C. 为什么要学 Python 和 R?
Python 的易用和流行趋势已经不必多言。作为 Stata 的有益补充,Python 在文本分析、爬虫、机器学习等方面有独特优势。作为 Stata 的老用户,连玉君老师建议「左手 Stata,右手 Python」,而李春涛创办的爬虫俱乐部也将其公众号更名为「Stata and Python 数据分析」,足见 Python 的魅力。
R 作为一门免费、开源的语言,已被国外大量学术和科研机构所认可,其被广泛应用于数据挖掘、机器学习、数据可视化、计量经济学和空间统计等领域。正是因为其拥有众多使用者,大量的外部包被开发应用于各个领域 (15000+ 个,截止 2019.11.26)。刚开始接触 R 语言的学员经常有这样的一个疑问:为什么 R 体积小,功能却如此多,这正是因为大量外部包的存在。
到底学 R 还是 Python? 其实两者是不冲突的!这两门语言存在大量的相似之处,功能都非常强大,其实现都是基于 基础包(模块) + 外部包(模块)。因此,将两者进行对比学习往往能起到事半功倍的效果。
3.3 授课内容
在内容安排上,本着「由浅入深,循序渐进」的原则,在第一部分中 (第 1-4 讲) 我们首先从整体上介绍文本分析的基本框架和分析流程,以便让大家对其分析套路有一个整体上了解。进而从文本处理函数和正则表达式入手,依序介绍爬虫方法、文本信息提取和文本匹配方法。在第二部分中 (第 5-8 讲),依次介绍 Python 基础,数值运算方法,爬虫进阶 (动态网页的爬取),最后介绍几种机器学习法算法,并应用于文本情感分析。
各个专题的具体介绍如下:
第 1 讲 介绍 Stata 读取本地/网络数据的方法,并辅以扩展宏函数读取多个数据文件;介绍 ustrregexm
,ustrregexs
, ustrregexra
等函数,最后通过例子讲解元字符、序列、字符类、数量词和位置匹配符。
第 2 讲 以豆瓣 Top 250 电影信息为例,讲解正则表达中回溯引用、零宽断言、贪婪与懒惰等规则,并介绍外部命令 moss
的用法。
第 3 讲 介绍网页解析中的 XPath 表达式,讲解爬虫的一些基础知识;从四则运算、基本数据类型和结构、流程控制、函数编写及包的安装与使用等方面介绍 R 的基础知识;以 yahoo finance 网站数据下载等为例,讲解如何通过 Stata 调用 R 语言程序。最后,调用 R 中的 rvest
和 rdom
包实现对静态网页和动态网页信息的提取,实现京东商城和城市空气质量指数历史数据下载;最后,利用正则表达式对所爬取的数据进行清理。
第 4 讲 通过介绍下载和分析深交所问询函,掌握文本文档信息的处理方法;借助正则表达式进行关键词提取,分析文本复杂性;之后,讲解文本匹配方法,实现多个数据库间的衔接。在跨国研究中,经常碰到这样一个问题。如因变量来自于一个数据库 (如:World development indicators, WDI),自变量来自于另外一个数据库 (如:ICRG data ),而不同数据来源的国家名称并非统一的,此时常用的 merge
命令无能为力,需要进行文本匹配。事实上,在配合使用 「中国工业企业数据库」 和 「中国海关数据库」 时,也会遇到相似的问题。此外,利用面板数据建模时,数据集的生成较为困难,如何在个体数和时期数之间平衡也是一个关键问题。我们还会对如何通过 post
命令生成单位根检验结果,符合期刊的规范格式。
第 5 讲 介绍Python的基本语法,包括基本的数据结构:数字、字符串、元组、列表、词典等,以及常用的控制结构,包括条件、循环、函数等,最后介绍列表推断、Lambda表达式等数据科学中常用的Python语法。在此基础上,将重点从读取和写入文件、正则表达式的使用以及简单的词频统计等方面介绍Python处理字符串的方法。最后,针对中文自然语言处理,具体介绍中文分词Jieba以及NLTK等工具的使用方法。
第 6 讲 这一讲主要介绍Python中的数值计算常用的包,包括使用Numpy处理向量、矩阵及其运算;使用Pandas整理数据;使用Scipy进行科学计算;使用Matplotlib以及Plotly等工具进行画图等。这部分是进一步进行机器学习等分析的重要工具。
第 7 讲 首先介绍HTML语言的基础知识,并在即基础上,结合BeautifulSoup、正则表达式等对HTML进行解析,提取所需要的有用信息。接着,介绍HTTP协议等的基本原理,并使用Request等工具发送请求,从而爬取静态页面以及简单的动态页面。最后,针对一些比较复杂的动态页面,介绍使用Selenium对网页进行动态渲染并进行爬取。此外,还将介绍常用的反爬措施以及可能的突破反爬的手段。
第 8 讲 这一讲主要包括两部分。第一部分是机器学习的入门,主要介绍监督学习的基础知识、模型评价方法以及常用的避免过拟合的工具等等,在此基础之上,介绍决策树、随机森林、支持向量机、神经网络等常用的监督学习方法,并将其应用在文本分类、情感分析中。第二部分主要介绍自然语言处理的一些常用方法,如词嵌入(embedding)的常用方法word2vec、使用词袋、TF-IDF等方法计算文本相似性以及话题模型等。
4. 课程大纲
第 1 讲 字符函数和正则表达式(3小时)
文件管理:本地、网络数据读取 ( copy
,import
,infile
,Extended macro
等)常用字符函数( subinstr
,strpos
等)正则表达式引擎: DFA 与 NFA 正则表达式:元字符、字符类、数量词、位置匹配符 案例:连享会推文目录下载
第 2 讲 Stata 正则表达式进阶(3小时)
序列;回溯引用 零宽断言 贪婪与懒惰 moss
命令案例:豆瓣 Top 250 电影信息收集 (电影名称、评分、上映年份、主演及导演等)
第 3 讲 爬虫基础(3小时)
Stata 调用 R 程序: Rcall
案例1: Yahoo Finance
网站数据下载案例2:面板数据模型实现 Xpath 表达式与 CSS 选取器 SelectorGadget rvest
和rdom
包案例1:京东商城数据下载 案例2:城市空气质量指数历史数据下载 模拟登陆:findElement、clickElement、sendKeysToElement 案例:经管之家 (原人大经济论坛) 数据下载
第 4 讲 文本信息处理(3小时)
PDF (Word) 文档信息提取与变量构造 关键词搜索;文本复杂性分析 案例:深交所问询函下载与分析 参考文献: [1] 陈运森, 邓祎璐, 李哲. 证券交易所一线监管的有效性研究:基于财务报告问询函的证据[J]. 管理世界, 2019, 35(03): 169-185+208. [pdf] [2] 陈运森, 邓祎璐, 李哲. 非处罚性监管具有信息含量吗?——基于问询函的证据[J]. 金融研究, 2018(4): 155-171.[pdf] [3] 李晓溪, 杨国超, 饶品贵. 交易所问询函有监管作用吗?——基于并购重组报告书的文本分析[J]. 经济研究, 2019(05). [pdf] 文本匹配与实证研究 文本匹配 实证研究:变量选取;数据清洗;模型设定;结果输出与呈现 案例:WDI 数据整理与空间面板模型应用实例 参考文献: Williams, U., & Williams, S. P. (2014). txttool: Utilities for text analysis in Stata. The Stata Journal, 14(4), 817-829. [PDF1], [PDF2] Raciborski, R. (2008). kountry: A Stata utility for merging cross-country data from multiple sources. The Stata Journal, 8(3), 390-400.[PDF1], [PDF2] You, W (游万海), & Lv, Z. (2018). Spillover effects of economic globalization on CO2 emissions: a spatial panel approach. Energy Economics, 73, 248-257. [PDF1], [PDF2]
第 5 讲 Python 基础(3小时)
Python 数据类型:数值、字符串、列表、元组、字典等 Python 控制结构:条件、循环、函数 案例1:词频统计的简单实现 Python 中的字符串和文件操作(文本文件、csv 文件等) Python 语法补充:列表推断、Lambda 表达式、包管理 案例2:使用jieba实现中文分词 案例3:NLTK使用入门
第 6 讲 Python 中的数值计算(3小时)
使用 Numpy 处理向量、矩阵 使用 Pandas 操作数据 案例1:使用Pandas收集和整理金融数据 使用 Scipy 进行数值计算 案例2:使用Scipy进行极大似然估计 使用 Matplotlib、Plotly画图 案例3:直方图、散点图、线图的绘制 案例4:网络图的绘制 实例2:使用 Python 进行极大似然估计和模拟
第 7 讲 Python 爬虫专题(3小时)
使用 BeautifulSoup 和正则表达式解析 HTML 使用 request 发送 Http 请求 案例1:电影API信息爬取 案例2:房地产价格信息爬取 使用 Selenium 爬取动态网页 案例3:网上商城价格的爬取
第 8 讲 机器学习与文本分析(3小时)
机器学习概述:评价模型的标准、过拟合和欠拟合 防止过拟合的方法:交叉验证和正则化 决策树和随机森林及其实现 支持向量机、神经网络简介及其实现 案例1:使用 Python 实现文本情感分析 Word embedding:Word2vec简介 文本相似性:词袋、TF-IDF 话题模型 案例2:新闻数据的文本相似性计算
5. 报名和缴费信息
主办方: 太原君泉教育咨询有限公司 标准费用(含报名费、材料费): 全价:4400元/人 团报价:3800元/人(三人及以上) 学生价:3900元/人(需提供学生证扫描件) 老学员优惠: 参加过一次主办方培训的老学员:3700元/人 参加过两次及以上主办方培训的老学员:3500元/人 友情高校感恩优惠:
我们诚挚地感谢曾经团报的高校,来自以下高校的老师和学生可享受感恩价 3600 元/人:(按首字母拼音排序) 安徽财经大学、东北林业大学、河北大学、河北经贸大学、河南财经政法大学、暨南大学、金陵科技学院、南开大学、清华大学、山西财经大学、山西大学、太原科技大学、西安建筑科技大学、西南财经大学、厦门大学、运城学院、中南财经政法大学、中南大学、中山大学、中央财经大学。Note: 以上各项优惠不能叠加使用。 联系方式: 邮箱:wjx004@sina.com 电话 (微信同号): 王老师 18903405450 李老师 18636102467
报名链接
报名链接:
http://junquan18903405450.mikecrm.com/4EAq2yM
或 长按/扫描二维码报名:
缴费方式
方式1:对公转账
户名:太原君泉教育咨询有限公司 账号:35117530000023891 (山西省太原市晋商银行南中环支行) 温馨提示: 对公转账时,请务必提供「汇款人姓名-单位」信息,以便确认。
方式2:微信扫码支付
温馨提示: 微信转账时,请在「添加备注」栏填写「汇款人姓名-单位」。