Skip to content

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

Notifications You must be signed in to change notification settings

kamigaito/jawiki_word_vector_updater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages