中文维基百科语料获取与处理
中文维基百科:高质量、易获取的语料,相当厚道,每月把所有条目都打包一次,爱我大维基。百度百科、互动百科----差评!
源数据下载地址:https://dumps.wikimedia.org/zhwiki/
数据抽取脚本:
from gensim.corpora.wikicorpus import extract_pages,filter_wiki import bz2file import re import opencc from tqdm import tqdm import codecs wiki = extract_pages(bz2file.open('zhwiki-latest-pages-articles.xml.bz2')) def wiki_replace(d): s = d[1] s = re.sub(':*{\|[\s\S]*?\|}', '', s) s = re.sub('<gallery>[\s\S]*?</gallery>', '', s) s = re.sub('(.){{([^{}\n]*?\|[^{}\n]*?)}}', '\\1[[\\2]]', s) s = filter_wiki(s) s = re.sub('\* *\n|\'{2,}', '', s) s = re.sub('\n+', '\n', s) s = re.sub('\n[:;]|\n +', '\n', s) s = re.sub('\n==', '\n\n==', s) s = u'【' + d[0] + u'】\n' + s return opencc.convert(s).strip() i = 0 f = codecs.open('wiki.txt', 'w', encoding='utf-8') w = tqdm(wiki, desc=u'已获取0篇文章') for d in w: if not re.findall('^[a-zA-Z]+:', d[0]) and d[0] and not re.findall(u'^#', d[1]): s = wiki_replace(d) f.write(s+'\n\n\n') i += 1 if i % 100 == 0: w.set_description(u'已获取%s篇文章'%i) f.close()
参考:
https://spaces.ac.cn/archives/4176
https://cloud.tencent.com/developer/article/1435977
https://blog.csdn.net/weixin_40547993/article/details/97781179
时刻记着自己要成为什么样的人!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)