• Stars
    star
    284
  • Rank 145,616 (Top 3 %)
  • Language
    Python
  • Created over 6 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

维基百科中文语料整理

ChineseWiki

维基百科中文词条

维基百科开源的中文词条内容,收集了99W+词条,当然比百度少了不少。 有效处理该原始语料的方法主要有两个:1、Wikipedia Extractor;2、gensim的wikicorpus库。 两种处理都比较粗糙,导致:

  • Wikipedia Extractor提取出来的结果,会去掉很多空格与括号里面的内容;
  • gensim.corpora.wikicorpus.WikiCorpus处理,问题更严重,因为它连所有标点都去掉了。

先下载语料文件:下载地址

这里写图片描述

zhwiki-20180301-pages-articles-multistream.xml.bz2 是主文件; zhwiki-20180301-pages-articles-multistream-index.txt.bz2 是每个词条的编号信息。

本篇主要是写如何进行整理:

  • 1、繁简转化库——opencc的安装与使用
  • 2、wiki中文词条整理
  • 3、关键词检索模块

额外的还有一些其他辅助信息:


1、繁简转化库——opencc的安装与使用

其中繁体转简体中文的库,opencc的安装,网上的说明程序真尼玛多,没一个搞的定的,吐槽一下!!! 直接来看github原文,安装方式:

pip install opencc-python-reimplemented

或者把github下载下来用python setup.py install安装,哪有网上教程那么麻烦!

使用也不太一样:

from opencc import OpenCC 

openCC = OpenCC('s2t')  # convert from Simplified Chinese to Traditional Chinese
# can also set conversion by calling set_conversion
# openCC.set_conversion('s2tw')
to_convert = '开放中文转换'
converted = openCC.convert(to_convert)

支持的转换模式有:

'hk2s': Traditional Chinese (Hong Kong standard) to Simplified Chinese

's2hk': Simplified Chinese to Traditional Chinese (Hong Kong standard)

's2t': Simplified Chinese to Traditional Chinese

's2tw': Simplified Chinese to Traditional Chinese (Taiwan standard)

's2twp': Simplified Chinese to Traditional Chinese (Taiwan standard, with phrases)

't2hk': Traditional Chinese to Traditional Chinese (Hong Kong standard)

't2s': Traditional Chinese to Simplified Chinese

't2tw': Traditional Chinese to Traditional Chinese (Taiwan standard)

'tw2s': Traditional Chinese (Taiwan standard) to Simplified Chinese

'tw2sp': Traditional Chinese (Taiwan standard) to Simplified Chinese (with phrases)

2、wiki中文词条整理

参考并整理代码参考苏神的:获取并处理中文维基百科语料

先从官网下载了zhwiki-20180301-pages-articles-multistream.xml.bz2文件,然后先用wiki_parser.py将其进行解析,变成以下格式:

=== 词源 ===
英语词语Philosophy(philosophia)源于古希腊语中的φιλοσοφία,意思为「爱智慧」,有时也译为「智慧的朋友」

=== 主分支 ===
哲学可以分为很多不同的分支,主要包括形而上学、知识论、伦理学、逻辑学和美学。
* 形而上学/宇宙论
* 知识论

然后笔者的做法是利用给每一行进行打标wiki_clean.py,因为每一行通过符号是可以直接从属关系。记号遵从以下表格:

内容级别 内容 标记
1级标题 【政治学】 1
2级标题 == 历史 == 2
3级标题 === 古典时期 === 3
4级标题 ==== 古典时期 ==== 4
平行关系 * 知识论 5
正文 英语词语Philosophy 0

最后生成的如下表格: 这里写图片描述

3、关键词检索模块

本模块目前还在考虑,遇到了中文分词一样的问题,如果给入的数据是:'民用无人机到自主驾驶汽车',那么我们应该是想了解这句话里面的:无人机;自主驾驶汽车,但最后会分出:民用;无人机;自主;驾驶;汽车;无人... 概念从属关系,驾驶汽车与汽车,肯定想知道驾驶汽车

目前做到的效果是:

search_txt = '民用无人机到自主驾驶汽车'
search(search_txt)

结果输出:

{'无人机': '各种类型的无人机。\r\n无人机(Uncrewed vehicle、Unmanned vehicle、Drone)或称无人载具是一种无搭载人员的载具。通常使用遥控、导引或自动驾驶来控制。可在科学研究、军事、休闲娱乐用途上使用。\r\n在日常用语中,“无人机”被特指为“无人飞行载具”。\r\n',
 '汽车': 'Benz Patent-Motorwagen Nummer 1,第一辆“现代汽车”。\r\n1927年的汽车,福特T型车。\r\n1942年的汽车,纳许大使。\r\n1980年的汽车,大众帕萨特\r\n1999年的汽车,西雅特托莱多\r\n2008年的超级跑车,科尼赛克CCX。\r\n日产Maxima SR\r\n怪兽卡车\r\n汽车或称机动车(英式英语:car;美式英语:automobile;美国口语:auto),即本身具有动力得以驱动,不须依轨道或电缆,得以动力行驶之车辆。广义来说,具有四轮或以上行驶的车辆,普遍多称为汽车。虽然,长久以来学术各界对「谁是第一位汽车发明者」皆有不同的看法及论述,未有完全一致性的看法,但是,绝大部份学者皆将德国工程师卡尔·本茨视为第一位发明者。美国人亨利·福特首先大量生产平价汽车,是使汽车得以普及化的人。\r\n',
 '驾驶': '驾驶,指的是人类在操纵交通工具或一些机械设备时的行为,可分为机动车驾驶、船舶驾驶、列车驾驶、航空器驾驶、其它驾驶,这些一般都属于真实驾驶,可采用手动驾驶或自动驾驶的方式进行驾驶。对于通过电子系统以游戏等方式进行模拟真实驾驶情况的行为,则被称为虚拟驾驶。对于交通工具或一些机械设备的驾驶者,被称为驾驶员。对于驾驶交通工具或一些机械设备时应随身携带的证件,则被称为驾驶证。\r\n'}

More Repositories

1

DouBanRecommend

基于豆瓣图书的推荐、知识图谱与知识引擎简单构建neo4j
Python
259
star
2

Face_Swapping

简单换脸、人脸对齐、关键点定位与画图
Jupyter Notebook
167
star
3

keras-yolov3-KF-objectTracking

以kears-yolov3做detector,以Kalman-Filter算法做tracker,进行多人物目标追踪
Python
163
star
4

py-kenlm-model

python | 高效使用统计语言模型kenlm:新词发现、分词、智能纠错等
Python
158
star
5

U-Net-Demo

U-Net图像分割练习题两则
Jupyter Notebook
121
star
6

LtpExtraction

基于ltp的简单评论观点抽取模块
Jupyter Notebook
116
star
7

LangueOne

练习题︱基于今日头条开源数据的文本挖掘
Python
84
star
8

py-yanwenzi

网络表情NLP,颜文字识别,颜文字表情实体识别、属性检测、新颜发现
Python
35
star
9

Attention-RNN-Multi-Touch-Attribution

Attention-RNN来做多触点归因模型
Python
27
star
10

python-Apriori

Python,两款Apriori算法实践与比较,基于今日头条数据的练习题
Python
24
star
11

gensim-fast2vec

gensim-fast2vec改造、灵活使用大规模外部词向量(具备OOV查询能力)
Python
21
star
12

streamlit_demo

streamlit一些样例以及相关的博文收集
Python
18
star
13

WA-ModelEnsemble

Weight Averaging Model Ensemble
Jupyter Notebook
17
star
14

KwaiSurvival-Test-Demo

2021/7/9测试KwaiSurvival的实验代码
Python
11
star
15

pyALS

练习题,python 协同过滤ALS模型实现:商品推荐 + 用户人群放大
Python
9
star
16

causal_inference_demo

Causal Inference Demo
Python
8
star
17

SparkDesk_Document_QA

SparkDesk Document QA
Python
8
star
18

qdrQA

基于Query-Document Relevance ranking 的知识问答
Python
8
star
19

forSSD_txt2xml

用caffe实现SSD中,从txt文件格式到xml转变
Python
7
star
20

chAI_API

国内AI常见API调用情况
Python
6
star
21

ml_interpretability

机器学习
Python
6
star
22

Keras_for_Image

如何用Keras做图像处理。
Python
2
star
23

tensorflow_nlp

tensorflow_nlp:word segmentation、NER、POS、Parse .e.t.
Python
2
star
24

ColorfulR

wordcloud Extended application for R!
R
2
star
25

mBandit

bandit的尝试
Python
1
star
26

TopicClassifier

MOne︱基于词包的无监督多主题得分
Python
1
star
27

forDataset_CaltechPedestrian

Caltech Pedestrian Dataset 数据集变现代码,matlab+python
MATLAB
1
star