目前为止我收集到的日文维基百科都比较旧了:
2013-11-19,词条数未知,Epwing 格式(公式正常)
2016-09-01,1698853,mdx 格式(公式无法显示)
再加上在论坛找东西时偶然看到了分享:i- - 词库制作交流区 - Dictionary-Making - 掌上百科 - PDAWIKI - Powered by Discuz!,萌生了制作离线版的想法。
不过由于技术水平和时间精力的限制,我制作的版本有如下问题,介意者慎下:
- 没有网页中的图片,mdd里面的图片是数学公式的
- 部分词条排版比较乱(比如
サクラ
、今敏
……,而日文维基百科20160901
的这部分词条是正常的) - 可能会存在比较严重的词条丢失问题(原因后面说明)
数据源来自维基官方,使用的是20220820的数据,共计1959774个词条。
百度网盘链接:https://pan.baidu.com/s/1cPMeMvGpg6Tg5pHhfiWDew?pwd=ef7i
提取码:ef7i
天翼云盘链接:https://cloud.189.cn/t/3qAFRrJ3iyYn
访问码:bwd6
接下来记录下自己制作时踩的坑,希望对后来人折腾这个有点帮助,遇到问题可以通过 NoHeartPen@outlook.com和我交流:)
制作的大致流程
到这里下载数据,注意是像jawiki-20220820-pages-articles.xml.bz2
这样以pages-articles.xml.bz2
结尾,不是其他方式结尾的文件。
用解压工具解压前校验下 SHA1 的值,不要做了半天才发现文件不全。
推荐下载 7.zip,除了可以解压、计算 SHA1 值外,还可以用来处理报错的词条(不然可能要用Linux系统处理)。
打开W2T.exe
,注意软件内置有分解功能,不用自己找第三方的工具拆分。
这个工具可能要在 Win7 环境才能正常运行。本人在 Win 10 和 Win11 环境下启动后均报错,而且安装了注册表文件也无法正常运行。
另外,部分 Win7 也会报错(可能是因为我找的系统文件被人精简过),不过有解决的办法,参考这里。
如果没有 Win7 的电脑的话,创建虚拟机的时候,内存分配 2G 就够用了,但 CPU 尽量多分配点,因为可以同时运行多个程序来加速。单独的一个进程只需要下面一点资源。
可以每十个分解后的文件放在一个文件夹,然后各放一个W2T.exe
运行。下面是同时运行 4 个W2T.exe
的内存占用:(联想小新 Air 2019 的笔记本,VMWare 16 2x2 的 CPU)
处理过程中经常会报错提示Run-time error '5'
,需要将正在处理的词条提取出来——打开处理好的txt文件,看一下最后一个词条,然后去源文件删掉下一个就可以了,修改完后再去编辑下配置文件,重新启动软件继续运行就可以了。
关于报错部分的词条的处理,原项目地址的有讨论指出可能是 HTML标签异常,不过我不熟 WikiPedia 的编辑语法,也不想花时间去检查一个 1.76MB 的 txt 文件到底有哪些错误(至少有 28 个),所以换用了其他引擎并将这部分单独放在了一个mdx。
另外,根据前人经验,制作大文件的 mdx,使用 mdxbulider 3.0 RC1 更好,欧路提供链接就是这个版本
iwiki 处理异常的词条的处理
除了上面提到的会导致程序终止的词条,还有 2 个分解后的文件用 iwiki 处理虽然不会报错,但是没有生成文件,而且处理时间非常奇怪。
校对下载文件的 SHA-1、重新解压后分解、删除第一个词条……等等方法都无法解决后,决定使用维基咖啡来处理。
把上面的所有报错词条添加一个 xml 文件中,再在文件最开始的地方插入jawiki-20220820-pages-articles.xml
的 1-596 行的内容,这样用 WikiCafe 引擎才可以正常处理。
只是这个引擎不会处理模板,所以排版会比较乱,所以这部分的词头我单独打包为了ja-wikipieda_20220820_error.mdx
另外,如果赶时间,不介意排版的话,可以直接用Wikicafe来处理——速度非常快,我用iwiki大概花了4天左右的时间,用Wikicafe一个多小时就处理完了,但是有些比较严重的问题。
Wikicafe
项目原地址:维基咖啡
和 iwiki 一样,都是一个作者的作品,特点是速度非常快,但不会处理模板,制作的词条也会有点问题:
还有这种会导致打包报错的词条:
使用 wikicafe 补充制作报错的词条倒是没有遇到上述情况。
致谢
感谢 i-wiki 提供维基转换引擎,他的工具是这个mdx出现的重要前提;
感谢网友邱海波,他对中文维基百科的处理经验帮助我少走了很多弯路;
感谢 Rayman Zhang提供 MDict 平台;
感谢Wikipedia团队和参与词条的诸位编辑,Ta 们的工作是这个词典的灵魂所在:)
打包信息
<p>维基百科
海纳百川,有容乃大
人人可编辑的自由百科全书</p>
<p>日文维基百科 For Mdict(文字正式版)</p>
<p>Ver.2022.08.20</p>
<p>By: NoHeartPen, bulid20220820 V1
(1)制作信息:
·转制工具:i-wiki 0.76 & mdxbulider 3.0 RC1
·数据版本:2022.08.20(https://dumps.wikimedia.org/jawiki)
·更新日志:
1、基于 20220820 版本离线中文维基百科数据制作。绝大多数词条均采用 i-wiki 0.76 引擎转制,保证总体效果;少数冗长异常的词条采用 wikicafe 引擎转制,并在最开始的部分补充网页跳转链接,兼顾内容完整。
·特别鸣谢:
鸣谢 Rayman Zhang(提供 MDict 平台)、i-wiki(提供维基转换引擎)。
(2)联系作者:
·邮箱:NoHeartPen@outlook.com
·主页:https://noheartpen.github.io/
(3)欢迎赞助:
·制作不易,欢迎赞助,不限金额和次数。谢谢! </p>
Error报错文件打包信息
<p>维基百科
海纳百川,有容乃大
人人可编辑的自由百科全书</p>
<p>日文维基百科 For Mdict(文字正式版_异常词条补充)</p>
<p>Ver.2022.08.20</p>
<p>By: NoHeartPen, bulid20220820 V1
(1)制作信息:
·转制工具:i-wiki 0.76 & mdxbulider 3.0 RC1
·数据版本:2022.08.20(https://dumps.wikimedia.org/jawiki)
·更新日志:
1、基于 20220820 版本离线中文维基百科数据制作。绝大多数词条均采用 i-wiki 0.76 引擎转制,保证总体效果;少数冗长异常的词条采用 wikicafe 引擎转制,并在最开始的部分补充网页跳转链接,兼顾内容完整。
·特别鸣谢:
鸣谢 Rayman Zhang(提供 MDict 平台)、i-wiki(提供维基转换引擎)。
(2)联系作者:
·邮箱:NoHeartPen@outlook.com
·主页:https://noheartpen.github.io/
(3)欢迎赞助:
·制作不易,欢迎赞助,不限金额和次数。谢谢! </p>
其他参考
VMware 安装 Ubuntu18.04:VMWare 安装 Ubuntu 指南,写得非常详细——但用 7.zip 就可以解决的问题,为什么非要去折腾 Linux 的tar -cjf all.tar.bz2 *.xml
呢……
缺少msstdfmt.dll
:下载这里的msstdfmt.dll文件即可。如果直接通过开始
-运行
无法激活成功的话,试着到对应的文件夹下使用命令行手动激活(也是下载链接提到的方法),网上找了半天,只有这里在激活命令最后带上了/s
。
其他 WikiPedia 处理工具
日本語版 Wikipedia ダンプのダウンロード,ファイル分割(XMLファイル) (kkaneko.jp)和Release V3.0.6 · attardi/wikiextractor (github.com):需要 Python 环境,从描述和代码来看,疑似提取纯文本,未对排版进行优化,尚未进行试验。
Wiki语料处理:和上面的比较类似的一个Python库,也是提取 WikiPieda 的纯文字内容
分割 XML
再次强调:W2T
已经内置了分解工具,不用自己找第三方的分解工具,如果要动手的话,先解决启动时的报错问题,不要纠结如何拆分下载的文件。
文件过期,无法下载分割 xml/:xmlsplit - 词库制作交流区 - Dictionary-Making - 掌上百科 - PDAWIKI - Powered by Discuz!
请教各位手动分割 ? - 词库制作交流区 - Dictionary-Making - 掌上百科 - PDAWIKI - Powered by Discuz!:这里的工具可以下载部分,但是折腾了半天也没有分解成功
XML Split of a Large file - Stack Overflow:这里也谈到很多,但是折腾了半天也没有拆出自己想要的的文件
windows - How do I split a large xml file? - Stack Overflow:这里也谈到一些,但没有进行过尝试。