视讯游戏提供最新游戏下载和手游攻略!

基于维基百科中文语料库构建Word2Vec模型的应用研究

发布时间:2024-10-16浏览:55

相关资料下载:

中文维基百科下载地址:https://dumps.wikimedia.org/zhwiki/20180720/

WikiExtractor项目git地址:https://github.com/attardi/wikiextractor

OpenCC项目git地址:https://github.com/BYVoid/OpenCC

中文分词jieba项目git地址:https://github.com/fxsjy/jieba

gensim官网地址:https://radimrehurek.com/gensim/install.html

一、语料库的下载

我下载是zhwiki-20180720-pages-articles.xml.bz2文件,1.5G左右是一个压缩包,下载的时候需要注意文件的名称。

二、语料库文章的提取

下载完成之后,解压缩得到的是一个xml文件,里面包含了许多的文章,也有许多的日志信息。所以,我们只需要提取xml文件里面的文章就可以了。我们通过WikiExtractor来提取xml文件中的文章,它是一个意大利人写的一个Python脚本专门用来提取维基百科语料库中的文章,将每个文件分割的大小为500M,它是一个通过cmd命令来设置一些参数提取文章,提取步骤如下:

a、WikiExtractor的安装

将整个WikiExtractor项目clone或者下载到本地,打开cmd窗口,切换到WikiExtractor项目中的setup.py文件的路径中,执行以下命令安装WikiExtractor

python setup.py install

b、维基百科语料库文章的提取

使用WikiExtractor来提取语料库中的文章,还需要使用到WikiExtractor.py脚本,与setup.py文件在同级目录下,通过以下命令来提取语料库中的文章

python WikiExtractor.py -b 500M -o zhwiki zhwiki-20180720-pages-articles.xml.bz2

参数介绍:

-b,设置提取文章后的每个文件大小

-o,制定输出文件的保存目录

zhwiki-20180720-pages-articles.xml,下载的维基百科语料库文件

更多参数的使用,可以通过以下命令查看:

python WikiExtractor.py -h

使用WikiExtractor提取文章,会在指定目录下产生一个AA的文件夹,里面会包含很多的文件。使用WikiExtractor提取的文章格式如下:

其中省略号表示的就是文章的内容,所以后面我们还需要通过正则化表达式来去除不相关的内容。

c、中文简体和繁体的转换

因为维基百科语料库中的文章内容里面的简体和繁体是混乱的,所以我们需要将所有的繁体字转换成为简体。这里我们利用OpenCC来进行转换。

OpenCC的使用教程请参考:https://blog.csdn.net/sinat_29957455/article/details/81290356

d、正则表达式提取文章内容并进行分词

使用WikiExtractor提取的文章,会包含许多的,所以我们需要将这些不相关的内容通过正则表达式来去除。然后再通过jieba对文章进行分词,在分词的时候还需要将一些没有实际意义的词进行去除,所以在分词的之后加了一个停用词的去除。将分割之后的文章保存到文件中,每一行表示一篇文章,每个词之间使用空格进行分隔。

获取停用词

去除停用词和不必要的内容

将文章转换成为词

e、将分词后的文件合并为一个

将分词后的多个文件合并为一个文件,便于word2vec模型的训练

三、word2vec模型的训练

训练word2vec模型的时候,需要使用到gensim库,安装教程请参考官网,通过pip命令就可以进行安装。训练过程需要30分钟到1个小时,具体训练时间与电脑的配置相关。

四、word2vec模型的使用

训练完成之后,我们可以利用训练好的模型来做一些词的预测,主要包括三个方面的应用。

1、找出与指定词相似的词

返回的结果是一个列表,列表中包含了制定个数的元组,每个元组的键是词,值这个词语指定词的相似度。

2、计算两个词的相似度

最后计算出来的相似度有,similarity:0.7241

3、根据前三个词来类比

五、资源下载地址

git项目下载地址:https://github.com/steelOneself/NLP_learn/tree/master/zhwiki_chinese

git项目中没有包含模型文件,因为模型文件比较大,我上传到百度云了,下载地址:

链接:https://pan.baidu.com/s/1o-7H-0h9fGCsdCyjmxJPUQ 密码:javh

下载后,将解压的模型文件放到项目中的model文件夹中。

用户评论

晨与橙与城

我之前也试着用过维基百科中文语料库来训练 word2vec 模型!确实感觉效果不错,对词义相似度的捕捉非常强大。最近正想深入研究一下不同语料量的影响。

    有17位网友表示赞同!

惯例

这个项目的思路很巧妙,用维基百科中文语料库训练 word2vec 模型绝对能够得出很好的结果。我也尝试过一些 NLP 相关的项目,感受到了开源资源的巨大价值。

    有8位网友表示赞同!

孤者何惧

有没有想过尝试加上其他类型的中文语料呢?比如小说、新闻等,这样能提高模型对不同领域语言的理解能力吧?

    有13位网友表示赞同!

陌颜幽梦

感觉这个模型的效果应该非常依赖于训练数据的质量和处理方式。维基百科虽然庞大,但是否足够代表中文语境还有待考察。

    有10位网友表示赞同!

见朕骑妓的时刻

对于中文文本处理来说,维基百科这类的结构化数据可以作为很好的基础。不过,还要注意去除一些噪声数据,才能更好地训练模型。

    有16位网友表示赞同!

厌归人

很期待看到这个项目的结果!我一直在尝试用 word2vec 模型进行中文文本分类任务,希望能借鉴你的经验获取一些灵感。

    有6位网友表示赞同!

棃海

我觉得开源社区在这个项目上可以做得更好。比如,可以提供详细的预训练模型参数和训练脚本,方便其他开发者直接使用或进行二次开发。

    有20位网友表示赞同!

半梦半醒半疯癫

虽然维基百科涵盖很多知识领域,但它毕竟是专门的开放式百科词条集合。如果要进行更复杂的任务,如情感分析等,可能需要结合其他的语料库来增强模型的表达能力。

    有15位网友表示赞同!

不要冷战i

之前我用过其他开源的 word2vec 模型,效果的确不错的!这个项目的应用场景也非常广泛,比如推荐系统、问答系统等等,很有实际价值。

    有10位网友表示赞同!

陌離

中文维基百科的可获取性确实很高,对于像我这样的初学者来说是个很好的学习资源。 希望能看到更多利用中文语料库训练模型的项目!

    有12位网友表示赞同!

巴黎盛开的樱花

用 word2vec 模型进行文本相似度计算,效果真的很好!我现在在做的一个项目中就需要用到这个功能,希望这个项目能够提供一些有用的代码片段

    有5位网友表示赞同!

烟花巷陌

我感觉这种训练方式对中文语料库的标注和清洗要求很高,不然容易导致模型输出偏差非常大。

    有14位网友表示赞同!

最迷人的危险

我觉得这个项目挺有意思的,但是 word2vec 模型本身还是比较局限,对于更复杂的文本理解任务可能效果有限...

    有15位网友表示赞同!

你身上有刺,别扎我

这个训练方法很有创新性,使用中文维基百科语料库能有效提升模型对中文语言的理解能力。 期待看到更多深入的研究成果!

    有14位网友表示赞同!

花海

项目做得不错,很实用!我之前也尝试过用 word2vec 模型进行中文文本分析,但总是感觉效果欠佳。这个中文维基百科语料库可以帮助我解决这个问题吗?

    有15位网友表示赞同!

歆久

这种训练方法是否考虑了中文词义的多样性和上下文依赖性? 觉得还需要进一步研究和优化才能达到更理想的结果。

    有14位网友表示赞同!

江山策

开源社区的贡献越来越精彩了! 项目思路清晰,能为中文 NLP 研究提供很好的参考价值。期待看到更多有趣的研究成果!

    有18位网友表示赞同!

无望的后半生

我比较好奇这个项目训练模型的时间成本,以及硬件需求是多少?

    有13位网友表示赞同!

热点资讯