在上一篇提到的字詞轉向量,通常的做法一定是一整篇文章直接進行斷詞斷字的動作,然而為了降低一些運算量或是說想剃除掉一些比較無意義的字詞,例如:語助詞或是介系詞等 (“阿”、“哦”、“吼” 等);而這些字詞稱為為 stop words,中文稱:停用詞,目前網路上也有一些停用詞表可以直接使用,這邊我們也是直接用現有的 stop words :
https://github.com/deternan/PTT_Stock/blob/master/source/Chinese_Stop_Words_GB
除了 stop words 之外,在我們也會把一些比較混亂的資訊移除掉。其實如果觀察 PTT 股市版的文章,會發現每篇文章一定都會有數字,那這些數字除非人工去比對,不然真的太複雜了,舉個例來說下面這張圖總共出現了:1522、八、1.5、1.46、2、12、36、34、30 等數字,除了 1522 可以比對出是一個公司(堤維西)的股票代碼,其他的數字真的很難用來表示些什麼。既然無法使用,那就把它移除比較好,所以我們在進行文章斷詞前,也會先將數字移除。
圖1. 2019年09月04日截圖
前一篇有提到繁體轉簡體的部分,我們這邊用個範例來給大家試試。範例檔可以從這下載:
原本繁體中文的字串是:
內資仍是目前撐盤主力,主要靠政府表明政策作多台股,營造明年總統大選行情,壽險資金活水也開始進場卡位;中實戶持續當沖中小型股;自營商因應季底作帳,乘勢回補持股趕績效。
經過轉換後會變成:
内资仍是目前撑盘主力,主要靠政府表明政策作多台股,营造明年总统大选行情,寿险资金活水也开始进场卡位;中实户持续当冲中小型股;自营商因应季底作帐,乘势回补持股赶绩效。
產生出簡體的字串後,接下來就是要進行斷詞的部分。這邊也有一個範例檔提供給大家使用:
https://github.com/deternan/PTT_Stock/blob/master/src/main/java/ptt/arff/FastText_Sample.java
在使用 CoreNLP 斷詞前,要先下載特定的字典檔。在這個範例檔內我們把路徑指定在 basedir 中,之後如果自己下載後要記得修改一下路徑位置。
https://nlp.stanford.edu/software/segmenter.shtml
下面是經過斷詞後得到的結果,看起來都還不錯,對吧 ?
内资
目前
撑盘
主力
主要
政府
表明
政策
多台股
营造
明年
总统
大选
行情
寿险
资金
活水
开始
进场
卡位
实户
持续
中小型
自营
商因
应季
作帐
乘势
回补
持股
绩效
那現在有了個別的字詞之後,就可以把字詞轉為向量。在下一篇我們就會介紹如何用 fasttext 來將字詞轉為向量值。
免責聲明:本文章提到的股市指數與說明皆為他人撰寫文章內容,包括:選股條件,買入條件,賣出條件和風險控制參數,只適用於文章內的解釋與說明,此提示及建議內容僅供參考之用,並不構成投資研究、認購、招攬或邀約任何人士投資任何投資產品或交易策略,亦不應視為投資建議。