1. 程式人生 > >中文維基語料訓練獲取

中文維基語料訓練獲取

參考:http://licstar.net/archives/262

https://flystarhe.github.io/2016/08/31/wiki-corpus-zh/

參考了上面兩篇文章,但是他們都是基於Linux + python2.7的,有一些老方法或連結行不通,這裡是windows + python3.5 + gensim。

首先把需要下載的東西都列出來

1. 語料:下載地址是https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2,或者在這裡找https://dumps.wikimedia.org/zhwiki/。這個檔案只包含了標題和正文,不包含詞條之間的連結資訊,大小約為1.3G。

2.WikiExtractor:用於從原始的xml檔案中提取出標題和正文。地址https://github.com/attardi/wikiextractor/blob/master/WikiExtractor.py。因為這個檔案不依賴其他檔案和庫,就直接在本地新建一個指令碼,再把WikiExtractor.py中的原始碼複製過來就行了。

3.繁體簡體轉換工具:由於詞條原文字中可能混雜了繁體和簡體,需要同意轉換為簡體。Linux下可以直接wget後在終端中使用,windows版本只能手動下載了,地址https://code.google.com/archive/p/opencc/downloads。下完直接解壓就可以了。

此時有三個檔案,分別是zhwiki-latest-pages-articles.xml.bz2,WikiExtractor.py,和資料夾opencc-0.4.2。

1.提取文字

命令列進入當前資料夾輸入

python WikiExtractor.py -b 500M -o extracted zhwiki-latest-pages-articles.xml.bz2
500M代表提取出來的單個檔案最大為500M。這是會產生目錄extracted/AA,其中有三個檔案分別是wiki_00,wiki_01,wiki_02。耗時大概20-30分鐘左右。

2.命令列進入AA資料夾,假設opencc.exe的絕對路徑是E:\下載\語料\opencc-0.4.2\opencc.exe,輸入

E:\下載\語料\opencc-0.4.2\opencc.exe -i wiki_00 -o zh_wiki_00 -c zht2zhs.ini
E:\下載\語料\opencc-0.4.2\opencc.exe -i wiki_01 -o zh_wiki_01 -c zht2zhs.ini
E:\下載\語料\opencc-0.4.2\opencc.exe -i wiki_02 -o zh_wiki_02 -c zht2zhs.ini
-i表示輸入檔案,-o表示輸出檔案,zht2zhs.ini表示繁體轉換為簡體,Traditional to Simplified。

3. 將檔案中的特殊符號替換掉,新建一個指令碼替換一下

# -*- coding: utf-8 -*-
import os
import re
import codecs


def replace_func(input_file):
    p1 = re.compile(r'-\{.*?(zh-hans|zh-cn):([^;]*?)(;.*?)?\}-')
    p2 = re.compile(r'[(\(][,;。?!\s]*[)\)]')
    p3 = re.compile(r'[「『]')
    p4 = re.compile(r'[」』]')
    outfile = codecs.open('std_' + input_file, 'w', 'utf-8')
    with codecs.open(input_file, 'r', 'utf-8') as myfile:
        for line in myfile:
            line = p1.sub(r'\2', line)
            line = p2.sub(r'', line)
            line = p3.sub(r'“', line)
            line = p4.sub(r'”', line)
            outfile.write(line)
    outfile.close()


def run():
    data_path = '.\\extracted\\AA\\'
    data_names = ['zh_wiki_00', 'zh_wiki_01', 'zh_wiki_02']
    for data_name in data_names:
        replace_func(data_path + data_name)
        print('{0} has been processed !'.format(data_name))

    
if __name__ == '__main__':
    run()



相關推薦

中文語料訓練獲取

參考:http://licstar.net/archives/262 https://flystarhe.github.io/2016/08/31/wiki-corpus-zh/ 參考了上面兩篇文章,但是他們都是基於Linux + python2.7的,有一些老方法或連結

利用中文語料和Gensim訓練 Word2Vec 的步驟

word2vec 包括CBOW 和 Skip-gram,它的相關原理網上很多,這裡就不多說了。簡單來說,word2vec是自然語言中的字詞轉為計算機可以理解的稠密向量,是one-hot詞彙表的降維表示,代表每個詞的特徵以及保持住了詞彙間的關係。此處記錄將中文詞彙

word2vec實戰:獲取和預處理中文百科(Wikipedia)語料庫,並訓練成word2vec模型

前言 傳統的方法是將詞彙作為離散的單一符號,這些符號編碼毫無規則,無法提供詞彙之間可能存在的關聯關係,而詞彙的向量表示將克服上述難題。 向量空間模型(VSM)將詞彙表示在一個連續的向量空間中,語義近似的詞被對映為相鄰的資料點。VSM依賴於分散式假設思想,

windows下訓練中文百科的word2vec

包括四個步驟:1)下載中文維基百科語料;2)利用opencc進行繁簡轉換;3)對語料分詞;4)利用gensim訓練詞向量 1)中文維基百科 #!/usr/bin/env python # -*- coding: utf-8 -*- import logging impo

用gensim對中文百科語料上的word2Vec相似度計算實驗

Word2vec 是Google在 2013年年中開源的一款將詞表徵為實數值向量的高效工具,其利用深度學習的思想,可以通過訓練,把對文字內容的處理簡化為 K 維向量空間中的向量運算,而向量空間上的相似度可以用來表示文字語義上的相似度。Word2vec輸出的詞向量可以被用來

我的百科wikipedia的配置(中文百科配置)

sha ado term color bst process spec 提示 cto 中文維基百科配置:中文wikipedia在國內一直被墻了,網上找了一個方案,發現可以訪問中文的維基百科了,一陣欣喜。無論mac或者windows,配置host加入即可(參考鏈接:https

wikipedia 百科 語料 獲取 與 提取 處理 by python3.5

維基 spa name open 命令 XML window 需要 rac 英文維基百科 https://dumps.wikimedia.org/enwiki/ 中文維基百科 https://dumps.wikimedia.org/zhwiki/ 全部語言的列表 https

Gensim訓練百科語料

說明 最終的模型檔案:連結:https://pan.baidu.com/s/1acGhejPCw98Mx4iKozVZdw 提取碼:vsm1 原始碼github地址:https://github.com/datadevsh/wiki-gensim-word2vector 如果遇到編碼

word2vec訓練百科中文詞向量

一、環境: win10+anaconda3+TensorFlow1.10 二、資料: 三、word2vec步驟: 1. 將xml的wiki資料轉換成text資料 先將zhwiki-latest-pages-articles.xml.bz2檔案複製到proces

Tensorflow實戰學習(十八)【詞向量、百科語料訓練詞向量模型】

詞向量嵌入需要高效率處理大規模文字語料庫。word2vec。簡單方式,詞送入獨熱編碼(one-hot encoding)學習系統,長度為詞彙表長度的向量,詞語對應位置元素為1,其餘元素為0。向量維數很高,無法刻畫不同詞語的語義關聯。共生關係(co-occurre

小專案(Gensim庫)--百科中文資料處理

1.下載維基百科資料 https://dumps.wikimedia.org/zhwiki/latest/ 2.預處理檔案:將壓縮的檔案轉化成.txt檔案 新增指令碼檔案process.py,程式碼如下: import logging import os.path import sys

媒體 Wikimedia 正全面遷移至 Kubernetes_Kubernetes中文社群

Kubernetes,讓世界維基大變樣 眾所周知的非營利性維基媒體基金會,旗下包括全世界最大的協同編輯參考專案:維基百科。為幫助使用者維護和使用維基,基金會成立了維基媒體工具實驗室,在這個宿主環境里社區開發人員工作可以藉助工具跟機器人幫助編輯和其他志願者完成工作,還有減少破壞等。維基媒體工具實

【使用者行為分析】 用wiki百科中文語料訓練word2vec模型

 前言      最近在調研基於內容的使用者行為分析,在過程中發現了word2vec這個很有幫助的演算法。word2vec,顧名思義是將詞語(word)轉化為向量(vector)的的工具。產自Google,於2013年開源。在向量模型中,我們可以做基於相似度(向量距離/

gensim 中文語料訓練 word2vec

1 word2vec api 看下api: gensim.models.word2vec.Word2Vec(sentences=None, size=100, alpha=0.025, window=5, min_count=5, max_vo

百科

linux 內核 opensuse linu 編寫 pro 一個 部分 文本 linux 系統 1.什麽是 GNU/Linux? 在 GNU/Linux 系統中,Linux 就是內核組件。而該系統的其余部分主要是由 GNU 工程編寫和提供的程序組成。因為單獨的 Linux

關於8月31日解密被攻擊的觀察與分析

1.26 網站管理 domain jpg 說了 例如 done %20 log 十幾天前,維基解密遭受了一次攻擊,導致很多訪問者看到了“OurMine”的聲明,他們聲稱已經獲取了維基解密服務器的控制權。這次攻擊之後,很多人(包括維基解密的粉絲及其死對頭)在沒有基礎知識與技術

中文基數據處理 - 1. 下載與清洗

下載 open shell title -m 實體 code 選擇 html 1. 數據下載 一些重要的鏈接: 最新轉儲 需要 zhwiki-latest-pages-articles.xml.bz2 這個文件 中文維基的頁面統計信息 目前內容頁面數大約是 978K 2

Sqlite3,百科中的練習:

ace pri weight 子結構 from blog post hit 1.3 https://en.wikibooks.org/wiki/SQL_Exercises/The_computer_store 兩個相連的表格 Manufactures: code, name

鏈將上線各大交易所 後續表現值得期待

接下來 neu www 下午 bre 一定的 微軟 sans ros 維基鏈按既定計劃於2日下午18:00啟動海外發行。由於投資者參與熱情高漲,當天額度即被全部認完。同時因為參與人數過多,導致相當一部分用戶並未如願搶到額度。業內肯定 維基鏈將上線五家交易所對於在此次海外發行

JAVA在泛型類中獲取子類傳遞的泛型參數

throw oca abstract () current 全部 getclass back charset 最近在開發微信代扣,涉及大量HTTP調用微信,就寫了一個泛型模板,將序列化,反序列化,HTTP調用全部整合至泛型基類中. public abstract cla