wikipedia 数据 下载 使用
维基百科的数据有什么用
可以用来分词、做实体识别、word2vec、新词发现等
数据下载
https://dumps.wikimedia.org/zhwiki/ 中文
ftp://ftpmirror.your.org/pub/wikimedia/dumps/ 所有语言
镜像
https://dumps.wikimedia.org/mirrors.html
https://dumps.wikimedia.org/elwiktionary/
https://dumps.wikimedia.org/enwiki/latest/
https://meta.wikimedia.org/wiki/Mirroring_Wikimedia_project_XML_dumps
数据库及表的创建
维基百科数据库的结构
https://www.mediawiki.org/wiki/Manual:Database_layout
创建数据库及表结构的语句
https://phabricator.wikimedia.org/source/mediawiki/browse/master/maintenance/tables.sql (最新版,添加了很多字段,但是删除了一个旧字段)
部分表结构
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50505
Source Host : localhost:3306
Source Database : wikipedia_zh
Target Server Type : MYSQL
Target Server Version : 50505
File Encoding : 65001
Date: 2018-07-11 17:16:22
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `page`
-- ----------------------------
DROP TABLE IF EXISTS `page`;
CREATE TABLE `page` (
`page_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
`page_namespace` int(11) NOT NULL ,
`page_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL ,
`page_restrictions` tinyblob NOT NULL ,
`page_counter` bigint(20) UNSIGNED NOT NULL DEFAULT 0 ,
`page_is_redirect` tinyint(3) UNSIGNED NOT NULL DEFAULT 0 ,
`page_is_new` tinyint(3) UNSIGNED NOT NULL DEFAULT 0 ,
`page_random` double UNSIGNED NOT NULL ,
`page_touched` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0' ,
`page_latest` int(10) UNSIGNED NOT NULL ,
`page_len` int(10) UNSIGNED NOT NULL ,
PRIMARY KEY (`page_id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci
AUTO_INCREMENT=1
;
-- ----------------------------
-- Table structure for `revision`
-- ----------------------------
DROP TABLE IF EXISTS `revision`;
CREATE TABLE `revision` (
`rev_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
`rev_page` int(10) UNSIGNED NOT NULL ,
`rev_text_id` int(10) UNSIGNED NOT NULL ,
`rev_comment` blob NOT NULL ,
`rev_user` int(10) UNSIGNED NOT NULL DEFAULT 0 ,
`rev_user_text` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' ,
`rev_timestamp` binary(14) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0' ,
`rev_minor_edit` tinyint(3) UNSIGNED NOT NULL DEFAULT 0 ,
`rev_deleted` tinyint(3) UNSIGNED NOT NULL DEFAULT 0 ,
`rev_len` int(10) UNSIGNED NULL DEFAULT '' ,
`rev_parent_id` int(10) UNSIGNED NULL DEFAULT '' ,
`rev_sha1` varbinary(32) NOT NULL DEFAULT '' ,
PRIMARY KEY (`rev_id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci
AUTO_INCREMENT=1
;
-- ----------------------------
-- Table structure for `text`
-- ----------------------------
DROP TABLE IF EXISTS `text`;
CREATE TABLE `text` (
`old_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT ,
`old_text` mediumblob NOT NULL ,
`old_flags` tinyblob NOT NULL ,
PRIMARY KEY (`old_id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci
AUTO_INCREMENT=1
;
-- ----------------------------
-- Auto increment value for `page`
-- ----------------------------
ALTER TABLE `page` AUTO_INCREMENT=1;
-- ----------------------------
-- Auto increment value for `revision`
-- ----------------------------
ALTER TABLE `revision` AUTO_INCREMENT=1;
-- ----------------------------
-- Auto increment value for `text`
-- ----------------------------
ALTER TABLE `text` AUTO_INCREMENT=1;
数据导入
mwdumper源代码
git clone https://phabricator.wikimedia.org/diffusion/MWDU/mwdumper.git
mediawiki-tools-mwdumper github地址
git clone https://github.com/wikimedia/mediawiki-tools-mwdumper.git
直接使用源代码导入
用eclipse导入mwdumper工程,运行Dumper类 (windows下可能会报各种错)
run configuration:
program argument:
--output=mysql://localhost/wikipedia_zh?user=root&password=root&characterEncoding=utf8
--format=sql:1.5
C:/workspace/data/zhwiki-latest-pages-articles.xml.bz2
vm argument:
-Xms128m -Xmx2048
把.xml.bz2转化成.sql,再通过.sql导入
program argument:
--output=mysql://localhost/wikipedia_zh?user=root&password=root&characterEncoding=utf8
--format=mysql:1.5
C:/WorkSpaces/data/zhwiki-latest-pages-articles.xml.bz2
vm argument:
-Xms128m -Xmx2048m
使用jar包导入
// 推荐在linux下运行
// windows下可能会报各种错
java -jar mwdumper.jar --format=mysql:1.5 zhwiki-latest-pages-articles.xml.bz2 |
mysql -u <username> -p <databasename>
java -jar mwdumper-1.25.jar --format=sql:1.5 zhwiki-latest-pages-articles.xml.bz2 | mysql -u user01 -p wikipedia_zh // 然后会提示你输入mysql数据库的密码
使用
用于word2vec
三种不同格式的离线文档,这个演示xml.bz2
wiki离线文档介绍
https://www.wikidata.org/wiki/Wikidata:Database_download/zh
xowa介绍
http://xowa.org/home/wiki/Help/Download_XOWA.html
中文数据库的下载介绍
https://zh.wikipedia.org/wiki/Wikipedia:%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%8B%E8%BD%BD
中文数据库源
https://dumps.wikimedia.org/zhwiki/
References
[1] Data_dumps
[2] Tools_for_importing
[3] Manual:MWDumper
[4] Import_examples
[5] 把wikipedia中文数据库导入mysql
[6] 维基百科简体中文语料的获取
[7] mediawiki - github
[8] 网上可供下载的数据集合大整理
[9] Wikipedia:数据库下载
[10] 维基百科简体中文语料的获取
[11] backup
[12] linux,windows下如何使用XOWA查看离线的维基百科 XOWA 导入离线wiki
[13] 维基百科中文语料的获取