Skip to content

Latest commit

 

History

History
82 lines (65 loc) · 5.23 KB

README.md

File metadata and controls

82 lines (65 loc) · 5.23 KB

jawiki word vector updater

最新の日本語Wikipediaのダンプデータから,MeCabを用いてIPA辞書と最新のNeologd辞書の両方で形態素解析を実施し,その結果に基づいた word2vecfastTextGloVeの単語分散表現を学習するためのスクリプト

取得されたダンプデータと学習された単語ベクトルはdata/YYYYmmddHH,例:data/2019021212のような年月日時の名前を持つディレクトリにまとめて保存される. 使用した形態素解析辞書についても再現性確保のために,同様のディレクトリに保存される.

実行に必要なコマンド・パッケージ類

  • bash
  • git
  • diff
  • wget
  • curl
  • python 3.x

使い方

セットアップ

./scripts/setup.sh

実行後,下記パッケージがappsディレクトリ以下にビルドされる.

単語ベクトルの学習

手動で更新を行う場合

./scripts/update.sh

ダンプデータの取得と単語ベクトルの学習を一貫して行うため,実行には多くの時間を要する.家庭用デスクトップPCで実行した場合は1日ほどかかる. 実行後に以下のファイル・ディレクトリがdata/YYYYmmddHH以下に出力される(中間ファイル等は省略)

  • jawiki-YYYYmmdd-pages-articles.xml.bz2 : ダウンロードされたWikipedia記事ダンプデータ
  • jawiki-latest-pages-articles.xml.bz2-rss.xml : ダウンロードされたWikipedia記事ダンプデータのRSS
  • ipadic : 形態素解析で使用されたIPA辞書
  • mecab-ipadic-2.7.0-20070801-neologd-YYYYmmdd : 形態素解析で使用されたNeologd
  • jawiki.gz : タグなどが除去されたWikipedia記事ダンプデータ
  • jawiki.ipa.gz : IPA辞書による形態素解析実行後のWikipedia記事ダンプデータ
  • jawiki.neologd.gz : Neologd辞書による形態素解析実行後のWikipedia記事ダンプデータ
  • jawiki.ipa.w2v.txt : IPA辞書を用いた形態素解析結果から学習されたword2vecのモデル出力
  • jawiki.ipa.fasttext.vec : IPA辞書を用いた形態素解析結果から学習されたfastTextのモデル出力
  • jawiki.ipa.fasttext.bin : IPA辞書を用いた形態素解析結果から学習されたfastTextのモデル出力
  • jawiki.ipa.glove.txt : IPA辞書を用いた形態素解析結果から学習されたGloVeのモデル出力
  • jawiki.ipa.glove.bin : IPA辞書を用いた形態素解析結果から学習されたGloVeのモデル出力
  • jawiki.neologd.w2v.txt : Neologd辞書を用いた形態素解析結果から学習されたword2vecのモデル出力
  • jawiki.neologd.fasttext.vec : Neologd辞書を用いた形態素解析結果から学習されたfastTextのモデル出力
  • jawiki.neologd.fasttext.bin : Neologd辞書を用いた形態素解析結果から学習されたfastTextのモデル出力
  • jawiki.neologd.glove.txt : Neologd辞書を用いた形態素解析結果から学習されたGloVeのモデル出力
  • jawiki.neologd.glove.bin : Neologd辞書を用いた形態素解析結果から学習されたGloVeのモデル出力
  • jawiki.ipa.category_links.retrofit.w2v.txt : IPA辞書を用いた形態素解析結果から学習されたword2vecをWikipediaカテゴリでRetrofitしたモデル
  • jawiki.ipa.category_links.retrofit.fasttext.txt : IPA辞書を用いた形態素解析結果から学習されたfastTextをWikipediaカテゴリでRetrofitしたモデル
  • jawiki.ipa.category_links.retrofit.glove.txt : IPA辞書を用いた形態素解析結果から学習されたGloVeをWikipediaカテゴリでRetrofitしたモデル
  • jawiki.neologd.category_links.retrofit.w2v.txt : Neologd辞書を用いた形態素解析結果から学習されたword2vecをWikipediaカテゴリでRetrofitしたモデル
  • jawiki.neologd.category_links.retrofit.fasttext.txt : Neologd辞書を用いた形態素解析結果から学習されたfastTextをWikipediaカテゴリでRetrofitしたモデル
  • jawiki.neologd.category_links.retrofit.glove.txt : Neologd辞書を用いた形態素解析結果から学習されたGloVeをWikipediaカテゴリでRetrofitしたモデル

現在の単語ベクトルが最新のWikipediaダンプデータに基づいているかを確認する場合

./scripts/rss_check.sh

最新ならばY,最新でなければNが標準出力に表示される.

cronで定期更新を行う場合

./scripts/cron.shをcronに登録すればよい.

License

MIT