資料來源
- 資料來源不同年度有部分差異
- 1946年至2003年。此年度之資料多為從網路上搜索即可取得資料,其來源為兩者,一為github開放原始碼網站(https://github.com/fangj/rmrb)有網友整理,二為老資料網(https://www.laoziliao.net/rmrb/)。本書選擇從github下載資料,取得1946年以來至2003年的人民日報資料,資料格式為txt檔。故須將其txt檔中之標題、分類、內文……等資料給取出。
- 2004年至2012年。此年度之資料是從知行圖書館(https://www.zhixinglib.com/)付費購買帳號後,取得了人民日報舊版官方數據庫的權限,再針對網頁進行動態爬蟲,利用selenium模擬真人瀏覽網頁,從而抓取2004年至2012年之資料,並儲存為excel檔格式。抓取時因有連線限制,故在爬取資料時,會將爬取資料的請求時間隨機浮動。另外連線過多後會有驗證碼限制,故另製作一程式讓電腦自動輸入驗證碼資訊,以利通過驗證碼限制。
- 2013年至2017年。此年度之資料為淘寶網店(四通学术)購買取得,一年度之資料為200元人民幣。購買後所得到的資料格式為txt檔,故須將其檔案之內容取出,並製作成excel檔格式,以利後續分析使用。
- 2018年至2019年。此年度之資料係從github上發現有過往研究者搜集之資料(https://github.com/caspiankexin/people-daily-crawler-date/releases),故從githiub下載取得。資料格式為txt檔。故須將其txt檔中之標題、分類、內文……等資料給取出,本書使用python的Regular expression方法將其取出,並製作成excel檔格式,以利後續分析使用。
- 2020年至2023年 。2020年度後之資料,係從中共官方黨媒人民日報網站(http://paper.people.com.cn/rmrb)爬取所得。需要注意的是,官方版人民日報能夠爬取資料上限為近兩年之資料,往年之資料將不在網站上呈現。
因年度時間過大,一些資料不易取得,故使用了不同的取得方法,所以在資料整理上也需要不同的方法處理。另外,近年爬取之人民日報官網資料,本書於附錄附有完整程式碼,歡迎讀者參考使用。
資料清理
- 資料前處理的清理項目別:
- 「去除空白、特殊符號」:進行了多次的正則表達式替換和刪除操作,清除文本中不需要的特定特殊符號與空白。如:【□|’|――|★|—|●|◆|\||◇|■|△|▲|*|*|×|?|@|⑴|⑵|⑶|①|②|③|④|⑤|⑥|⑦|⑧|⑨|⑩|⑪|⑫|⑬|⑭|⑮|⑯|⑰|⑱|⑲|⑳|乡】,(以|隔開)。
- 「去除電子信箱」:使用Regular expression正則表達式刪除文本當中的電子信箱。如:【栏目投稿邮箱:lilun@people.cn】。
- 「去除無意義詞彙」:文本當中,於不同年度會出現不同的標記詞彙,於分析當中較無意義且會影響段詞語分析結果,故將其從文本當中刪除。如【(人民数据库资料)、(编者)、(附图片)…等(詳見程式)】。
- 「阿拉伯數字大寫改為小寫、半型的標點符號取代成全型」:因資料年度跨度較大,故每年度資料有些許資料格式不同,分析上需統一格式處理。如(1)取代為(1)、(;)取代為(;)…等許多(詳見程式)。
- 「跳行符號處理」:因文本當中有許多段落,經過資料清理後,跳行符號會有些許差錯,故將首尾的跳行符號逕行刪除。另外亦將文本當中重複出現的跳行符號,取代為一個。
- 「括弧內的跳行符號刪除」:文本中的括弧中間常夾雜跳行符號,造成誤判,因此將跳行符號逕行刪除。
- 「報導、來源、作者以及記者字詞處理」:每一年度的文本當中,都有報導的來源、何人綜合報導…等的文字於文本首尾處,於往後分析中意義不大,故將其擷取後另存成其餘欄位(詳見文本擷取處),再逕行刪除。
- 「文本字少於十者,逕行刪除」: 經過資料清理後的文本,有些許資料內文可察覺總字數少於十內,對於分析的意義不大,故逕行刪除。
- 「文本太長取前20000個字」:因excel檔案的個別限制問題,於一個儲存格中僅能儲存32,767 個字元。於是因應原文本需與斷詞欄位相符合,故將超過20000字的文本,以保留完整句子為前提取前20000字作為文本,以因應excel檔之限制。
斷詞
- Jieba(結巴)斷詞處理:
- 自建字典:因文本資料龐大,斷詞上有著相對難度,故使用字典來校正斷詞錯誤。(附件:自訂字典表)
- token斷詞欄位:使用doc_content 欄位進行Jieba(結巴)斷詞,中間以空白斷開,存於 token欄位。
- Pos詞性:於斷詞時,將字詞詞性取出,並存於pos 欄位。(詳見附件:詞性列表)
- tdidf, textrank 欄位:斷詞時利用jieba之功能,另取出經tfidf的文本關鍵字以及textrank演算法的關鍵字詞,取出關鍵字每篇文章至多200個,並以半形逗號隔開。
欄位
- 所有欄位之意義(依照原檔排序):
filename | 時間版次編碼,不重覆 |
compilation_vol | 版次 |
corpus | 年度 |
timeseq_not_before | 年月日 |
era | 年月 |
doctype | 版次主題 |
author | 作者 |
compilation_name | 來源 |
title | 標題 |
doc_content | 原始資料 |
token | 斷詞,空白隔開 |
pos | 詞性 |
tfidf | 逗點隔開的關鍵字 |
textrank | 逗點隔開的關鍵字 |
設定捷徑,以聯結共用資料夾
資料清理後,一個年度一個檔 excel 格式,儲存於 google drive 共享資料夾:
後面各章的學習包(範例程式) 均是以人民日報資料庫為探討對象。程式檔與資料檔均設為共用,可檢視但不能編修。
請大家開啟上面的按鈕 [Click Me!],在Google Drive 加入捷徑。方法是在 上方路徑 people 處,滑鼠右鍵,[整理] > [加入捷徑],此時左側的[與我共用] 即會新增一個 people 資料夾。裏面有所有我們的分享資料。爾後的所有範例程式(學習包) 均可直接讀取,不需任何更動。