🎦 連享會 · 直播課:Text is Data
目錄
1. 課程概覽
2. 嘉賓簡介
3. 課程詳情
4. 課程大綱
Part A:遊萬海老師 (2 天)
Part B:司繼春老師 (4 天)
5. 報名和繳費信息
⚽ 6. 助教招聘
1. 課程概覽
課程主頁: https://gitee.com/lianxh/text
授課時間: 2021 年 3 月 27 日至 4 月 11 日的三個周末
Part A:2021 年 3 月 27-28 日;Part B:2021 年 4 月 3-4 日;4 月 10-11 日。主講嘉賓: 遊萬海 (Part A: 第 1-4 講);司繼春 (Part B: 第 5-12 講)
報名連結: 連享會-文本分析與爬蟲專題
或 長按/掃描二維碼報名:
http://junquan18903405450.mikecrm.com/4EAq2yM助教招聘:誠邀助教 6 名,免費聽課,詳情參見課程主頁。
1.1 課程提要課程目標: 掌握爬蟲、文本分析和機器學習的核心方法和基本分析流程。核心內容: 本課程主要介紹正則表達式相關語法規則及非結構化數據處理;講解 Python 的基礎知識,並使用 Python 進行數據處理、數值計算、網絡爬蟲、文本分析等不同任務的處理;介紹機器學習常用算法,如決策樹、隨機森林、支持向量機以及神經網絡等的基本原理,並使用 Python 實現各類算法。主要方法: Python, Scipy, Numpy, Pandas, Matplotlib, Plotly, BeautifulSoup, Request, Selenium, Scikit-learn, TensorFlow, Jieba, NLTK, gensim 等。主要軟體\語言: Stata, R, Python課程資料: 開課前一周,將課程資料包發送至學員郵箱。包括:課程講義,範例程序和數據,以保證大家能夠在自己的電腦上重現課程中講述的所有內容。
1.2 課程特色電子板書:全程電子板書演示,課後分享;聽課更專注,複習更高效。電子講義:分享全套電子版課件 (數據、程序和論文),課程中的方法和代碼都可以快速移植到自己的論文中。
1.3 聽課軟體
本次課程可以在手機,Ipad 以及 Windows 系統的電腦上聽課。
手機/iPad:直接在應用商店搜索「大黃蜂雲課堂」安裝即可電腦(windows):打開 https://www.360dhf.cn/dhfplayer/,下載 「大班課直播學生端」。一個帳號綁定一個設備,且聽課電腦 需要 Windows 系統 ,請大家提前安排自己的聽課設備。
2. 嘉賓簡介
遊萬海,福州大學經濟與管理學院教師,主要研究領域為空間計量模型、分位數回歸模型及相關實際問題的應用,以主要作者在國內外期刊《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+ 次贊同,他就是司繼春老師 —— 知乎-慧航。
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+R2019 年 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。
C. 為什麼要學 Python 和 R?Python 的易用和流行趨勢已經不必多言。作為 Stata 的有益補充,Python 在文本分析、爬蟲、機器學習等方面有獨特優勢。作為 Stata 的老用戶,連玉君老師建議「左手 Stata,右手 Python」,而李春濤創辦的爬蟲俱樂部也將其公眾號更名為「Stata and Python 數據分析」,足見 Python 的魅力。
R 作為一門免費、開源的語言,已被國外大量學術和科研機構所認可,其被廣泛應用於數據挖掘、機器學習、數據可視化、計量經濟學和空間統計等領域。正是因為其擁有眾多使用者,大量的外部包被開發應用於各個領域 (15000+ 個,截止 2021.2.6)。剛開始接觸 R 語言的學員經常有這樣的一個疑問:為什麼 R 體積小,功能卻如此多,這正是因為大量外部包的存在。
到底學 R 還是 Python? 其實兩者是不衝突的!這兩門語言存在大量的相似之處,功能都非常強大,其實現都是基於 基礎包(模塊) + 外部包(模塊)。因此,將兩者進行對比學習往往能起到事半功倍的效果。
3.3 授課內容
在內容安排上,本著「由淺入深,循序漸進」的原則,在第一部分中 (第 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 等方法計算文本相似性以及話題模型等。每一部分的介紹都會輔以一些實操案例。
4. 課程大綱
Part A:遊萬海老師 (2 天)第 1 講 字符函數和正則表達式(3 小時)文件管理與讀取:本地、網絡數據讀取 (copy, import等);JSON 格式數據;文件列舉與循環案例 1:連享會推文目錄下載 ( lianxh 命令原理)案例 2:新冠肺炎確診患者活動軌跡 (JSON 格式演示)案例 3:基於百度高考信息的志願填報 (JSON 格式演示)第 2 講 Stata 正則表達式進階(3 小時)案例 4:豆瓣 Top 250 電影信息收集 (電影名稱、評分、上映年份、主演及導演等)第 3 講 爬蟲基礎(3 小時)R 語言基礎: 基本運算-數據類型與數據結構-流程控制-函數編寫案例 6:Yahoo Finance 網站數據下載Xpath 表達式、 CSS 選取器 SelectorGadget、rvest 包第 4 講 文本信息處理(3 小時)參考文獻:陳運森等 (2019, 管理世界)、陳運森等 (2018, 金融研究)、李曉溪等 (2019, 經濟研究)實證研究:變量選取、數據清洗、模型設定、結果輸出與呈現案例 17:WDI 數據整理與空間面板模型應用實例參考文獻:Williams & Williams (2014), Raciborski (2008), You & Lv (2018)參考文獻:陳運森,鄧禕璐,李哲.證券交易所一線監管的有效性研究:基於財務報告問詢函的證據[J].管理世界,2019 (3): 169-185. -Link-,-PDF-陳運森,鄧禕璐,李哲. 非處罰性監管具有信息含量嗎?——基於問詢函的證據[J].金融研究,2018 (4): 155-171. -Link-,-PDF-李曉溪, 楊國超, 饒品貴. 交易所問詢函有監管作用嗎?——基於併購重組報告書的文本分析[J].經濟研究. 2019 (5). -Link-,-PDF-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-
Part B:司繼春老師 (4 天)第 5 講 Python 基礎 (3 小時)Python 數據類型和基本運算:數值、字符串、列表、元組、字典等Python 中的文件管理:文本文件、csv 文件、二進位文件等第 6 講 Python 使用進階 (3 小時)Python 中的函數式編程:map, reduce, 閉包等第 7 講 Python 中的字符串和正則表達式 (3 小時)第 8 講 Python 爬蟲專題 (3 小時)使用 BeautifulSoup 和正則表達式解析 HTML第 9 講 Python 中的數值計算 (3 小時)Matplotlib 簡介:直方圖、散點圖、線圖等圖形的繪製案例 7:OHIE 數據中住院次數的經驗貝葉斯分析第 10 講 機器學習初步 (3 小時)監督學習:線性回歸、Logistic 回歸、決策樹、隨機森林第 11 講 神經網絡 (3 小時)第 12 講 文本分析 (3 小時)
5. 報名和繳費信息連享會現場班以及線上直播大課學員享受 9 折優惠。
報名連結
報名連結: http://junquan18903405450.mikecrm.com/4EAq2yM
或 長按/掃描二維碼報名:
方式 1:對公轉帳
帳號:35117530000023891 (晉商銀行股份有限公司太原南中環支行)溫馨提示: 對公轉帳時,請務必提供「匯款人姓名-單位」信息,以便確認。方式 2:微信掃碼支付
溫馨提示: 微信轉帳時,請務必在「添加備註」欄填寫「匯款人姓名-單位」信息。
附:文中 PDF 參考文獻瀏覽
https://quqi.gblhgk.com/s/880197/TFw820f7coutaEXM
⚽ 6. 助教招聘說明和要求A. 課前準備:協助完成 3 篇推文,風格類似於 lianxh.cn 推文;B. 開課前答疑:協助學員安裝課件和軟體,在微信群中回答一些常見問題;C. 上課期間答疑:針對前一天學習的內容,在微信群中答疑 (8:00-9:00,19:00-22:00);參見 往期答疑。Note: 下午 5:30-6:00 的課後答疑由主講教師負責。要求: 熱心、盡職,熟悉 Stata 或 R 或 Python 的基本語法和常用命令,能對常見問題進行解答和記錄。優先考慮熟悉 R 或 Python 的申請人。特別說明: 往期按期完成任務的助教自動獲得本期助教資格,不必填寫申請資料,直接聯繫連老師即可。截止時間: 2021 年 2 月 18 日 (將於 2 月 20 日公布遴選結果於連享會主頁:lianxh.cn)申請連結:
https://www.wjx.top/jq/45760506.aspx
或 掃碼在線填寫助教申請資料:
👉 課程主頁: https://gitee.com/lianxh/text
關於我們🍎 連享會 ( 主頁:lianxh.cn ) 由中山大學連玉君老師團隊創辦,定期分享實證分析經驗。👉 直達連享會:【百度一下:連享會】即可直達連享會主頁。亦可進一步添加 主頁,知乎,面板數據,研究設計 等關鍵詞細化搜索。New! lianxh 命令發布了: 在 Stata 命令窗口中輸入 ssc install lianxh 即可安裝,隨時搜索連享會推文、Stata 資源,詳情:help lianxh。連享會主頁 lianxh.cn
New! lianxh 命令發布了: GIF 動圖介紹
隨時搜索連享會推文、Stata 資源,安裝命令如下:
. ssc install lianxh
使用詳情參見幫助文件 (有驚喜):
. help lianxh