???? 连享会 · 直播课:Text is Data
目录
授课方式: 线上直播+回放,共 6 天。
授课时间: 2021 年 3 月 27 日至 4 月 11 日的三个周末
主讲嘉宾: 游万海 (Part A: 第 1-4 讲);司继春 (Part B: 第 5-12 讲)
报名链接: 连享会-文本分析与爬虫专题
或 长按/扫描二维码报名:
助教招聘:诚邀助教 8 名,免费听课,,详见第 6 小节。
本次课程可以在手机,Ipad 以及 Windows 系统的电脑上听课。
一个账号绑定一个设备,且听课电脑 需要 Windows 系统 ,请大家提前安排自己的听课设备。
游万海,福州大学经济与管理学院教师,主要研究领域为空间计量模型、分位数回归模型及相关实际问题的应用,以主要作者在国内外期刊《World Development》、《Energy Economics》、《Economics Letters》、《Finance Research Letters》、《Journal of Cleaner Product》、《Energy Sources, Part B: Economics, Planning, and Policy 》、《统计研究》发表学术论文 30 余篇,担任《Energy Economics》、《Journal of Cleaner Product》、《Economic Modelling》、《International Review of Economics & Finance》等期刊匿名审稿人。
司继春,上海对外经贸大学统计与信息学院讲师,主要研究领域为微观计量经济学、产业组织理论。在 Journal of Business and Economic Statistics、《财经研究》等学术刊物上发表多篇论文,-主页-。 其实,大家更熟悉的是知乎上大名鼎鼎的 慧航,拥有 20w+ 个关注者,获得过 14w+ 次赞同,他就是司继春老师 —— 知乎-慧航。
实证研究中,数据的 获取及处理 是第一步,也是至关重要的一个环节!
在传统的经济和金融分析中,我们使用的主要是结构化的数据 (多数数据来源于统计年鉴、商业数据库,如 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 学术 顺藤摸瓜,可以发现,各个领域文本分析的来源非常丰富,包括:历史典籍、报纸新闻、明清房契、刑科题本、公司公告、明星微博等等,从而使研究的主题也得到了极大的扩展。
下面是一些我们摘录的一些论文信息:
完整的知识架构是你长期成长的动力源泉! 在此次课程中,我们力求将四天的课程设置成一个比较完整的文本分析体系,以期达成如下目标:
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-12 讲中,我们将转入 Python。
Python 的易用和流行趋势已经不必多言。作为 Stata 的有益补充,Python 在文本分析、爬虫、机器学习等方面有独特优势。作为 Stata 的老用户,连玉君老师建议「左手 Stata,右手 Python」,而李春涛创办的爬虫俱乐部也将其公众号更名为「Stata and Python 数据分析」,足见 Python 的魅力。
R 作为一门免费、开源的语言,已被国外大量学术和科研机构所认可,其被广泛应用于数据挖掘、机器学习、数据可视化、计量经济学和空间统计等领域。正是因为其拥有众多使用者,大量的外部包被开发应用于各个领域 (15000+ 个,截止 2021.2.6)。刚开始接触 R 语言的学员经常有这样的一个疑问:为什么 R 体积小,功能却如此多,这正是因为大量外部包的存在。
到底学 R 还是 Python? 其实两者是不冲突的!这两门语言存在大量的相似之处,功能都非常强大,其实现都是基于 基础包(模块) + 外部包(模块)。 因此,将两者进行对比学习往往能起到事半功倍的效果。
在内容安排上,本着「由浅入深,循序渐进」的原则,在第一部分中 (第 1-4 讲) 我们首先从整体上介绍文本分析的基本框架和分析流程,以便让大家对其分析套路有一个整体上了解。进而从文本处理函数和正则表达式入手,依序介绍爬虫方法、文本信息提取和文本匹配方法。在第二部分中 (第 5-12 讲),依次介绍 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-7 讲 介绍 Python 的基本语法,包括基本的数据结构:数字、字符串、元组、列表、词典等,以及常用的控制结构,包括条件、循环、函数等,最后介绍列表推断、Lambda 表达式等数据科学中常用的 Python 语法。在此基础上,将重点从读取和写入文件、正则表达式的使用以及简单的词频统计等方面介绍 Python 处理字符串的方法。最后,针对中文自然语言处理,具体介绍中文分词 Jieba 以及 NLTK 等工具的使用方法。
第 8 讲 为 Python 爬虫专题。首先介绍 HTML 语言的基础知识,并在即基础上,结合 BeautifulSoup、正则表达式等对 HTML 进行解析,提取所需要的有用信息。接着,介绍 HTTP 协议等的基本原理,并使用 Request 等工具发送请求,从而爬取静态页面以及简单的动态页面。最后,针对一些比较复杂的动态页面,介绍使用 Selenium 对网页进行动态渲染并进行爬取。此外,还将介绍常用的反爬措施以及可能的突破反爬的手段。
第 9 讲 这一讲主要介绍 Python 中的数值计算常用的包,包括使用 Numpy 处理向量、矩阵及其运算;使用 Pandas 整理数据;使用 Scipy 进行科学计算;使用 Matplotlib 以及 Plotly 等工具进行画图等。这部分是进一步进行机器学习等分析的重要工具。
第 10-12 讲 主要包括两部分。第一部分是机器学习的入门,主要介绍监督学习的基础知识、模型评价方法以及常用的避免过拟合的工具等等,在此基础之上,介绍决策树、随机森林、支持向量机、神经网络等常用的监督学习方法,并将其应用在文本分类、情感分析中。第二部分主要介绍自然语言处理的一些常用方法,如词嵌入 (embedding) 的常用方法 word2vec、使用词袋、TF-IDF 等方法计算文本相似性以及话题模型等。每一部分的介绍都会辅以一些实操案例。
第 1 讲 字符函数和正则表达式(3 小时)
copy
, import
等);JSON
格式数据;文件列举与循环DFA
与 NFA
lianxh
命令原理)JSON
格式演示)JSON
格式演示)第 2 讲 Stata 正则表达式进阶(3 小时)
moss
命令第 3 讲 爬虫基础(3 小时)
R
语言基础: 基本运算-数据类型与数据结构-流程控制-函数编写Stata
调用 R
程序:Rcall
Yahoo Finance
网站数据下载Xpath
表达式、 CSS
选取器 SelectorGadget
、rvest
包top250
信息下载Cookie
信息爬取
Selenium
自动化工具和模拟登陆
第 4 讲 文本信息处理(3 小时)
第 5 讲 Python 基础 (3 小时)
第 6 讲 Python 使用进阶 (3 小时)
第 7 讲 Python 中的字符串和正则表达式 (3 小时)
第 8 讲 Python 爬虫专题 (3 小时)
第 9 讲 Python 中的数值计算 (3 小时)
第 10 讲 机器学习初步 (3 小时)
第 11 讲 神经网络 (3 小时)
第 12 讲 文本分析 (3 小时)
报名链接: http://junquan18903405450.mikecrm.com/4EAq2yM
或 长按/扫描二维码报名:
方式 1:对公转账
方式 2:微信扫码支付
温馨提示: 微信转账时,请务必在「添加备注」栏填写「汇款人姓名-单位」信息。
说明和要求
申请链接:
或 扫码在线填写助教申请资料:
???? 课程主页: https://gitee.com/lianxh/text
关于我们
lianxh
命令发布了: 在 Stata 命令窗口中输入 ssc install lianxh
即可安装,随时搜索连享会推文、Stata 资源,详情:help lianxh
。
New!
lianxh
命令发布了: GIF 动图介绍
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh