zoukankan      html  css  js  c++  java
  • 使用维基百科训练简体中文词向量

    使用维基百科训练简体中文词向量

        最近需要训练简体中文的词向量,而中文大规模语料获取并没有像英文那样方便。搜狗语料库(http://www.sogou.com/labs/resource/list_yuliao.php)是能够免费获取的比较大的中文新闻语料库。但是最新的也就是更新到2012年的语料,后续并没有放出更新的语料。除了搜狗语料,要获取其他领域相关的中文语料,可能就需要自己动手写个爬虫去相关网站上爬取。后面通过检索,发现大家通过免费的中文维基百科来进行词向量的训练,于是我也下载处理了最新的维基语料,使用word2vec工具进行了中文词向量的训练。

    1 下载中文维基百科。

    wiki语料库下载网址:

    https://dumps.wikimedia.org/

    最近的中文wiki语料:

    https://dumps.wikimedia.org/zhwiki/latest/

    其中zhwiki-latest-pages-articles.xml.bz2文件包含了标题、正文部分。压缩包大概是1.3G,解压后大概是5.7G。相比英文wiki中文的还是小了不少。

    2 抽取wiki正文内容

    下载下来的wikiXML格式,需要提取其正文内容。不过维基百科的文档解析有不少的成熟工具(例如gensimwikipedia extractor等),我直接使用开源工具wikipedia extractor完成正文的提取。

    Wikipedia extractor的网址为: http://medialab.di.unipi.it/wiki/Wikipedia_Extractor

    Wikipedia Extractor 是一个简单方便的Python脚本,下载好WikiExtractor.py后直接使用下面的命令运行即可。

    WikiExtractor.py -cb 1200M -o extracted zhwiki-latest-pages-articles.xml.bz2

    -cb 1200M表示以 1200M 为单位切分文件,-o 后面接出入文件,最后是输入文件。

    3 简繁转换

    中文wiki内容中大多数是繁体,这需要进行简繁转换。我使用了厦门大学NLP实验室开发的简繁转换工具,该工具使用简单方便效果也很不错。

      下载网址为:http://jf.cloudtranslation.cc/

    下载单机版即可,在windos命令行窗口下使用下面命令行运行:

      jf -fj file1.txt file2.txt -lm lm_s2t.txt

    其中file1.txt为繁体原文文件,file2.txt为输出转换结果的目标文件名,lm_s2t.txt为语言模型文件。

    4 处理空括号

    由于 Wikipedia Extractor 抽取正文时,会将有特殊标记的外文直接剔除,最后形成一些空括号,自己去掉了这些空括号。

    5 训练词向量

    将前面得到的中文语料使用jieba分词工具(https://github.com/fxsjy/jieba)进行了分词,然后使用word2vec工具进行了训练,使用参数如下:

    -cbow 0 -size 50 -window 10 -negative 5 -hs 1 -sample 1e-3 -threads 24 -binary 0 -iter 10

    训练得到简体中文词向量后,测试了与"蛋白质""艾滋病""青霉素" 相似的top10,结果如下:

     

     

    最后给大家共享一下处理好的资源。

    http://pan.baidu.com/s/1dFeNNK9

    其中包括,

    处理好的简体中文文本(未分词):zhwiki_2017_03.clean

    训练好的简体中文词向量:zhwiki_2017_03.sg_50d.word2vec

  • 相关阅读:
    Java debug技术
    mybatis-generator插件
    JVM常见问题
    Java安全之Access control
    JVM新生代各个区的比例问题
    宣告
    退役啦!
    NOIP 2018退役祭
    自定义博客园模板
    带花树算法
  • 原文地址:https://www.cnblogs.com/robert-dlut/p/6586621.html
Copyright © 2011-2022 走看看