請先確認環境
Runtime type:Python 3
Hardware accelerator:GPU
1.掛載 google drive
from google.colab import drive
drive.mount('/content/drive/')
!git clone https://github.com/zake7749/word2vec-tutorial.git
import os
os.chdir('/content/drive/My Drive/colab/word2vec-tutorial')
3.前往
維基百科:資料庫下載挑選更近期的資料並將其丟至word2vec-tutorial,不過請特別注意一點,我們要挑選的是以 pages-articles.xml.bz2 結尾的備份,而不是以 pages-articles-multistream.xml.bz2 結尾的備份,否則會在清理上出現一些異常,無法正常解析文章。
4.配置gensim
! pip3 install --upgrade gensim
5.初始化WikiCorpus後,能藉由get_texts()可迭代每一篇文章,它所回傳的是一個tokens list,我以空白符將這些 tokens 串接起來,統一輸出到同一份文字檔裡。這邊要注意一件事,get_texts()受wikicorpus.py中的變數ARTICLE_MIN_WORDS限制,只會回傳內容長度大於 50 的文章,詳細可見wikicorpus.py檔案,這邊我們只需輸入下列命令即可執行。
! python3 wiki_to_txt.py zhwiki-20190820-pages-articles.xml.bz2
6.安裝jieba並進行測試
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list))
7.測試後發現有簡體中文,需加上一道繁簡轉換的手續。然而我們的語料集相當龐大,一般的繁簡轉換會有些力不從心,這邊我們採用OpenCC進行轉換
!sudo apt-get install opencc
!pip3 install opencc
import opencc
! sudo opencc -i wiki_texts.txt -o wiki_zh_tw.txt -c s2tw.json
8.轉換完後利用segment.py進行斷詞
! python segment.py wiki_zh_tw.txt
9.訓練詞向量
10.輸入demo.py並進行測試