Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork6
Japanese word embedding with Sudachi and NWJC 🌿
License
WorksApplications/chiVe
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
"chiVe" (チャイブ, Sudachi Vector) は、大規模コーパスと複数粒度分割に基づく日本語単語ベクトルです。
Skip-gram アルゴリズムを元に、word2vec (gensim) を使用して単語分散表現を構築しています。
学習コーパスには、v1.0-v1.2 では約 1 億のウェブページ文章を含む国立国語研究所の日本語ウェブコーパス(NWJC)、v1.3 ではCommonCrawl から取得したウェブページ文章を採用しています。
分かち書きにはワークスアプリケーションズの形態素解析器Sudachi を使用しています。Sudachi で定義されている A/B/C の 3 つの分割単位でコーパスを解析した結果を元に分散表現の学習を行なっています。
SudachiDict と chiVe のデータは、AWS のOpen Data Sponsorship Program によりホストしていただいています。
版 | 最低頻度 | 正規化 | 語彙数 | テキスト | gensim | Magnitude |
---|---|---|---|---|---|---|
v1.3 mc5 | 5 | o | 2,530,791 | 3.6GB (tar.gz) | 2.9GB (tar.gz) | - |
v1.3 mc15 | 15 | o | 1,186,019 | 1.7GB (tar.gz) | 1.3GB (tar.gz) | - |
v1.3 mc30 | 30 | o | 759,011 | 1.1GB (tar.gz) | 0.8GB (tar.gz) | - |
v1.3 mc90 | 90 | o | 410,533 | 0.6GB (tar.gz) | 0.5GB (tar.gz) | - |
v1.2 mc5 | 5 | o | 3,197,456 | 9.2GB (tar.gz) | 3.8GB (tar.gz) | 5.5GB (.magnitude) |
v1.2 mc15 | 15 | o | 1,454,280 | 5.0GB (tar.gz) | 1.7GB (tar.gz) | 2.4GB (.magnitude) |
v1.2 mc30 | 30 | o | 912,550 | 3.1GB (tar.gz) | 1.1GB (tar.gz) | 1.5GB (.magnitude) |
v1.2 mc90 | 90 | o | 482,223 | 1.7GB (tar.gz) | 0.6GB (tar.gz) | 0.8GB (.magnitude) |
v1.1 mc5 | 5 | o | 3,196,481 | 11GB (tar.gz) | 3.6GB (tar.gz) | 5.5GB (.magnitude) |
v1.1 mc15 | 15 | o | 1,452,205 | 4.7GB (tar.gz) | 1.7GB (tar.gz) | 2.4GB (.magnitude) |
v1.1 mc30 | 30 | o | 910,424 | 3.0GB (tar.gz) | 1.1GB (tar.gz) | 1.5GB (.magnitude) |
v1.1 mc90 | 90 | o | 480,443 | 1.6GB (tar.gz) | 0.6GB (tar.gz) | 0.8GB (.magnitude) |
v1.0 mc5 | 5 | x | 3,644,628 | 12GB (tar.gz) | 4.1GB (tar.gz) | 6.3GB (.magnitude) |
全て 300 次元のベクトルです。
「最低頻度」は、コーパス内での単語出現回数での足切り基準(gensim でのmin_count
)です。
「正規化」は、形態素解析器 Sudachi による表記統制です。例えば空き缶
,空缶
,空き罐
,空罐
,空きカン
,空きかん
はすべて正規化表記空き缶
に統制されます。
版 | Sudachi | Sudachi 辞書 | 学習コーパス |
---|---|---|---|
v1.3 | v0.6.8 | 20240109-core | CommonCrawl (CC-MAIN-2022-40, warc, first 20k files) |
v1.2 | v0.4.3 | 20200722-core | NWJC |
v1.1 | v0.3.0 | 20191030-core | NWJC |
v1.0 | v0.1.1 | 0.1.1-dictionary-full | NWJC |
全て同じ学習アルゴリズムを使用しています。詳細はtraining を参照してください。
Sudachi 辞書にある A 単位語のみを含む資源です(A 単位語のみでの再学習ではなく、上にある元資源から、B 単位語、C 単位語、OOV 語(Out-of-vocabulary, 辞書にない語)を除いたものです)。
v1.1 mc90 aunit
が、自然言語処理ツールspaCy の日本語モデルに使われています。
版 | 語彙数 | テキスト | gensim | Magnitude |
---|---|---|---|---|
v1.1 mc5 aunit | 322,094 (10.1%) | 1.1GB (tar.gz) | 0.4GB (tar.gz) | 0.5GB (.magnitude) |
v1.1 mc15 aunit | 276,866 (19.1%) | 1.0GB (tar.gz) | 0.3GB (tar.gz) | 0.4GB (.magnitude) |
v1.1 mc30 aunit | 242,658 (26.7%) | 0.8GB (tar.gz) | 0.3GB (tar.gz) | 0.4GB (.magnitude) |
v1.1 mc90 aunit | 189,775 (39.5%) | 0.7GB (tar.gz) | 0.2GB (tar.gz) | 0.3GB (.magnitude) |
chiVe は、各ドメイン(分野)に合わせたデータで追加学習させられます。chiVe は、追加学習なしでも利用できますが、追加学習することでそのドメイン(分野)でのタスクの性能改善が期待できます。
chiVe を追加学習するためには、フルモデルを使用してください。詳しい使用方法は、チュートリアルをご覧ください。
版 | gensim (full) |
---|---|
v1.3 mc5 | 5.5GB (tar.gz) |
v1.3 mc15 | 2.6GB (tar.gz) |
v1.3 mc30 | 1.7GB (tar.gz) |
v1.3 mc90 | 0.9GB (tar.gz) |
v1.2 mc5 | 6.7GB (tar.gz) |
v1.2 mc15 | 3.0GB (tar.gz) |
v1.2 mc30 | 1.9GB (tar.gz) |
v1.2 mc90 | 1.0GB (tar.gz) |
「テキスト」「gensim」「Magnitude」という 3 つのフォーマットでデータを公開しています。
プレーンテキスト形式のデータ(オリジナルの word2vec C フォーマット)です。
480443 300の -0.08274004 -0.091033645 -0.08744463 -0.14393683 -0.053159036 ...、 -0.014216528 -0.1027064 -0.07763326 -0.16008057 -0.16116066 ...て -0.06049706 -0.15483096 0.052628547 -0.12448246 -0.14404581 ......
ライブラリgensim のための、KeyedVectors 形式のデータです。
importgensimvectors=gensim.models.KeyedVectors.load("./chive-1.1-mc90_gensim/chive-1.1-mc90.kv")"すだち"invectors# False, v1.1 では正規化されているため"酢橘"invectors# Truevectors["酢橘"]# array([-5.68204783e-02, -1.26615226e-01, 3.53190415e-02, -3.67305875e-01, ...])vectors.similarity("酢橘","徳島")# 0.3993048vectors.most_similar("徳島",topn=5)# [('愛媛', 0.8229734897613525),# ('徳島県', 0.786933422088623),# ('高知', 0.7795713543891907),# ('岡山', 0.7623447179794312),# ('徳島市', 0.7415297031402588)]vectors.most_similar(positive=["阿波","高知"],negative=["徳島"],topn=5)# [('土佐', 0.620033860206604),# ('阿波踊り', 0.5988592505455017),# ('よさこい祭り', 0.5783430337905884),# ('安芸', 0.564490556716919),# ('高知県', 0.5591559410095215)]
ライブラリMagnitude 形式のデータです。デフォルトのパラメーターで変換されています(高度な未知語サポート有り、近似最近傍インデックス無し。Magnitude が公開しているモデルのMedium
相当)。
frompymagnitudeimportMagnitudevectors=Magnitude("chive1.1-mc90.magnitude")"すだち"invectors# False, v1.1 では正規化されているため"酢橘"invectors# Truevectors.query("すだち")# Magnitudeによるサブワードを使った未知語サポートによる# array([ 0.03974148, 0.11290773, 0.01493122, -0.05296252, 0.12616251, ...])vectors.most_similar("すだち",topn=5)# [('あだち', 0.5930323079944302),# ('すだ椎', 0.5872662462335323),# ('だち', 0.5797546444016177),# ('ムクノキ', 0.46228053338159725),# ('椨', 0.4482612387097178)]vectors.similarity("酢橘","徳島")# 0.3993048vectors.most_similar("徳島",topn=5)# [('愛媛', 0.8229735),# ('徳島県', 0.78693324),# ('高知', 0.7795714),# ('岡山', 0.7623447),# ('徳島市', 0.7415296)]vectors.closer_than("徳島","徳島市")# ['愛媛', '徳島県', '高知', '岡山']vectors.most_similar(positive=["阿波","高知"],negative=["徳島"],topn=5)# [('土佐', 0.62003386),# ('阿波踊り', 0.5988593),# ('よさこい祭り', 0.578343),# ('安芸', 0.56449056),# ('高知県', 0.55915594)]vectors.most_similar_cosmul(positive=["阿波","高知"],negative=["徳島"],topn=5)# [('土佐', 0.83830714),# ('よさこい祭り', 0.82048166),# ('阿波踊り', 0.8168015),# ('安芸', 0.80880433),# ('伊予', 0.80250806)]
ライブラリを使っての、ダウンロード、リモートでのロード、HTTP 上のリモートでのストリームも可能です。
frompymagnitudeimportMagnitude,MagnitudeUtils# ダウンロードvectors=Magnitude(MagnitudeUtils.download_model("chive-1.1-mc90-aunit",remote_path="https://sudachi.s3-ap-northeast-1.amazonaws.com/chive/"))# デフォルトのダウンロード先: `~/.magnitude/`# ファイルが既にダウンロードされている場合は、再度ダウンロードしない# 引数 `download_dir` でローカルのダウンロード先を変更できる# リモートでのロードvectors=Magnitude("https://sudachi.s3-ap-northeast-1.amazonaws.com/chive/chive-1.1-mc90-aunit.magnitude")# HTTP上のリモートでのストリームvectors=Magnitude("https://sudachi.s3-ap-northeast-1.amazonaws.com/chive/chive-1.1-mc90-aunit.magnitude",stream=True)vectors.query("徳島")# ローカルにファイルをダウンロードせず、ベクトルをすばやく取得
Copyright (c) 2020 National Institute for Japanese Language and Linguistics and Works Applications Co., Ltd. All rights reserved.
Apache License, Version 2.0 の下で国立国語研究所と株式会社ワークスアプリケーションズによって提供されています。
Copyright (c) 2024 Works Applications Co., Ltd. All rights reserved.
Apache License, Version 2.0 の下で株式会社ワークスアプリケーションズによって提供されています。
開発者やユーザーの方々が質問したり議論するための Slack ワークスペースを用意しています。
- https://sudachi-dev.slack.com/
- (こちらから招待を受けてください)
chiVe について、論文を発表しています;
- 真鍋陽俊, 岡照晃, 海川祥毅, 髙岡一馬, 内田佳孝, 浅原正幸.複数粒度の分割結果に基づく日本語単語分散表現. 言語処理学会第 25 回年次大会, 2019.
- 河村宗一郎, 久本空海, 真鍋陽俊, 高岡一馬, 内田佳孝, 岡照晃, 浅原正幸.chiVe 2.0: Sudachi と NWJC を用いた実用的な日本語単語ベクトルの実現へ向けて. 言語処理学会第 26 回年次大会, 2020.
- 久本空海, 山村崇, 勝田哲弘, 竹林佑斗, 髙岡一馬, 内田佳孝, 岡照晃, 浅原正幸.chiVe: 製品利用可能な日本語単語ベクトル資源の実現へ向けて. 第 16 回テキストアナリティクス・シンポジウム, 2020. (スライド)
chiVe を論文や書籍、サービスなどで引用される際には、以下の BibTex をご利用ください(基本的には、1 本目の(真鍋+ 2019)を引用してください)。
@INPROCEEDINGS{manabe2019chive, author = {真鍋陽俊, 岡照晃, 海川祥毅, 髙岡一馬, 内田佳孝, 浅原正幸}, title = {複数粒度の分割結果に基づく日本語単語分散表現}, booktitle = "言語処理学会第25回年次大会(NLP2019)", year = "2019", pages = "NLP2019-P8-5", publisher = "言語処理学会",}
@INPROCEEDINGS{kawamura2020chive, author = {河村宗一郎, 久本空海, 真鍋陽俊, 高岡一馬, 内田佳孝, 岡照晃, 浅原正幸}, title = {chiVe 2.0: SudachiとNWJCを用いた実用的な日本語単語ベクトルの実現へ向けて}, booktitle = "言語処理学会第26回年次大会(NLP2020)", year = "2020", pages = "NLP2020-P6-16", publisher = "言語処理学会",}
@INPROCEEDINGS{hisamoto2020chive, author = {久本空海, 山村崇, 勝田哲弘, 竹林佑斗, 髙岡一馬, 内田佳孝, 岡照晃, 浅原正幸}, title = {chiVe: 製品利用可能な日本語単語ベクトル資源の実現へ向けて}, booktitle = "第16回テキストアナリティクス・シンポジウム", year = "2020", pages = "IEICE-NLC2020-9", publisher = "電子情報通信学会",}
About
Japanese word embedding with Sudachi and NWJC 🌿
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.