最終更新日:2023年6月12日

R&D部の榊です。
当社のR&D部では,研究開発上で利用する様々なリソースを部内で共有しています。 今回、そのうちの一つである単語分散表現モデルを社外の方にも利用可能な形で配布することにしました。 なので、それについてご説明したいと思います。
なお、最近の日本の自然言語処理界隈では、文分散表現モデルであるBERTの日本語を含む多言語モデルが公開になったばかりなので、日本語の単語分散表現モデルの配布は大変今更感があるなあ・・・と思ったりもしています。
ですが、日本語を対象とした文・単語の分散表現共に、配布されているのはWikipediaを学習コーパスとしたものが殆どです。
なので、WikipediaではカバーしきれないSNSやWeb上の文書を学習コーパスとした分散表現のモデルを公開することは一定の価値があると考えています。
本言語資源に関しては、2019年6月に開催される2019年度人工知能学会全国大会で発表する予定です。詳しい内容を聞きたい方はぜひお越し下さい。
配布方法
今回公開する単語分散表現のモデルの取得方法は、こちらのgithubリポジトリからお願いします。
リンク先にある利用規約を読み、そちらに同意して頂ける方は、 Webフォームから氏名、所属、連絡先などを送信してください。 追って、単語分散表現のダウンロードリンクをお送りします。
利用規約には色々と書いてありますが、重要なのは下記の5点です。
- 本言語資源は、大学・公的研究機関・民間企業どなたでも利用できますが、あくまで研究目的の利用のみでお願いします。
- 氏名、所属、連絡先などこちらが指定する情報を登録して頂いた方のみに本言語資源の利用を許諾します。
- 利用期間は1年間です。継続的に利用したい場合は、再度登録申請を行って下さい。
- 本言語資源を使った研究成果を発表する際は、書誌情報と電子的コピーを送って下さい(研究成果の発表は制限いたしません。また、公開後の送付で結構です)。
- 本言語資源の利用を停止した後は、本言語資源自体は削除してください。ただし、本言語資源を用いて作られた派生物については削除する必要はありません。
それでは、以下では、今回公開する言語資源の構築方法や評価について説明します。
日本語大規模SNS+Webコーパスによる分散表現
当社内では日本語大規模SNS+Webコーパスというものを構築しています。 これは、弊社が保有する以下3種類の媒体のデータから作成した超大規模コーパスのことです。
- SNSデータ
- 日本語Wikipedia
- 自動収集ウェブページ
サイズは超大規模です。テキスト量的には、英語NLPでしばしば利用されるEnglish Gigawordを上回っています。 各媒体の規模は,SNSデータ > 自動収集ウェブページ > 日本語Wikipedia の順となっています。
今回は、この大規模コーパスを入力データとしてword2vecにより学習させた単語分散表現(以下、hottoSNS-w2vモデル)を配布します。コーパスの規模は下記の通りです。
媒体 |
行数[Mil] |
ファイルサイズ[GB] |
SNSデータ |
288 |
36.2 |
Wikipedia |
7 |
2.2 |
ウェブページ |
126 |
25.0 |
※データの性質上、本コーパスを配布することは差し控えます。
※※本コーパスでは、SNSサービスのユーザ名やURLなど、個人の特定につながる可能性があるメタデータは削除済みです。また、配布する単語分散表現から元のコーパスを再現することは不可能です。
単語分散表現(Word2Vec)の学習
次にこのコーパスを用いて単語分散表現を学習します。 今回は、デファクトスタンダードの一つであるWord2Vec[Mikolov]を用いて、単語分散表現を学習しました。 実装は Python::gensim package を利用しています。
各媒体に対して,以下4種類の処理を順に実施しています。 処理の詳細な中身については、githubを確認してください。
- 平文コーパスの収集・構築
- 前処理
- 分かち書きコーパスの構築
- 全媒体を統合,単語分散表現(Word2Vec)の学習
ビジネスユースを想定しているため,それを想定した前処理および長単位志向の分かち書きを行ってあるため、 語彙情報がかなり豊富です。特にSNSやWeb上のくだけた文書を解析するのに適していると考えられます。 なお語彙情報の豊富さは、mecab‒ipadic‒neologdによる部分が大きいです。
下記に前処理・分かち書き後のコーパスの規模を示します。 実際、単語分散表現に含まれている語彙数は、約200万語です。
指標 |
値 |
行数[Mil] |
282 |
トークン数[Giga] |
12 |
うち,頻度10回以上 |
2,067,629
|
Wikipediaモデルとの定性的な比較
それでは、本分散表現(hottoSNS-w2vモデル)とWikipediaによる分散表現を比較してみましょう。 今回は、各分散表現を用いて、あるキーワードの類義語を取得してみました。 例えば「紅葉」や「寒い」などの一般的なキーワードの類義語を取得すると、それほど特徴に違いはありません。
モデル |
類義語 |
hottoSNS |
黄葉,紅葉狩り,新緑,モミジ,ツツジ,色づき,紅葉紅葉,見頃,色づい,もみじ |
Wiki |
もみじ,新緑,桜,桜の,花見,鳴子峡,水芭蕉,紅葉狩り,枝垂桜,咲きほこる |
モデル |
類義語 |
hottoSNS |
寒く,寒かっ,暖かい,暑い,さむーい,肌寒い,寒ーい,寒いっ,寒くっ,暖かかっ |
Wiki |
暑い,寒く,涼しい,寒さ,暑く,涼しく,暖かい,暑さ,蒸し暑い,蒸し暑く |
次にSNSらしい語をいれてみます。すると大きく違いがでてきます。 「ウェーイ」のWikipediaモデルの結果については、「平凡なウェーイ」という劇のWikipedia記事の影響で、劇のタイトルが出てしまっています。hottoSNS-w2vモデルは想定通りの結果が出ててきていますね。「なう」も似たような結果ですね。こちらは「『温泉むすめ』ぷれぜんつ的なうぇぶらじお」という記事の影響が出てしまっています。
モデル |
類義語 |
hottoSNS |
うぇーい,ウエーイ,イェーイ,イエー,(☝՞ਊ՞)☝,パリピ,イエーイ,イェイ,ウェェェェ,イェア
|
Wiki |
追い抜け,狭き門より入れ,小さな結婚式,タイニイ・アリス,三億円少女,紅の豚,アハハハハ,ムゲンダイ,七人の恋人,キビシー
|
モデル |
類義語 |
hottoSNS |
なぅ,なうなう,れっつごー,はろー,とりま,ただいま,noshita,⊂((・⊥・))⊃,つらたん,バイトなう
|
Wiki |
すとりーむ,ぶらりん,ぇぶらじお,ゆるーく,はるごん,ーブログ,うっき,♪『,ぃの,ぴーん
|
また商品名やコンテンツ名にも大きな違いがでます。 「ルンバ」については、hottoSNS-w2vモデルはロボット掃除機としての類義語が得られています。 一方、Wikipediaモデルは音楽の一ジャンルとしての類義語が得られています。 「スタバ」については、hottoSNS-w2vモデルは主にコーヒーチェーンに関連した類義語が得られますが、 Wikipediaモデルでは、外食チェーン全般に関連した類義語が得られます。
モデル |
類義語 |
hottoSNS |
ロボット掃除機,掃除ロボット,Roomba,自動掃除機,iRobot,バーチャルウォール,掃除機,ブラーバ,Braava,ルーロ
|
Wiki |
マンボ,タンゴ,サンバ,ウィンナワルツ,夏の誘惑,ワルツ,ボサノヴァ,いっぽんでもニンジン,好き好き好き,チャチャチャ
|
モデル |
類義語 |
hottoSNS |
タリーズ,ドトール,スターバックス,スタバー,ソイラテ,サンマルクカフェ,フラペチーノ,カフェモカ,キャラメルマキアート,スターバックスコーヒー
|
Wiki |
USJ,龍上海,名古屋めし,セブン‒イレブン,OPEN,赤字脱却,ツタヤ図書館,神戸ビーフ,節約志向,ミスド
|
このようにhottoSNS-w2vモデルとWikipediaモデルは、それぞれ違った傾向を持っています。 どちらが正しい、というわけではなく、目的に応じて使い分けていくことが重要かと思います。 弊社のように、SNSデータを用いたビジネス活用を想定すると、hottoSNS-w2vモデルの方が想定される利用シーンには 適していると考えられます。
定量的な性能評価
最後に、今回配布する単語分散表現の性能を定量的に評価してみました。 今回は、すでに公開されている分散表現との比較を行ってみました。
まずは,日本語大規模SNS+Webコーパスによる単語分散表現と、東北大により公開されている日本語Wikipedia エンティティベクトルのデータセットのうち、単純なword2vec+Wikipediaによる単語分散表現の性能を比較します。 また、当社での分散表現構築方法が妥当であるかを検証するために,hottoSNS-w2vモデルと同様の方法で作成した日本語Wikipediaによる分散表現と東北大学乾・鈴木研究室が構築した日本語Wikipediaによる分散表現の性能も比較します。
性能の評価方法としては,日本語単語類似度・関連度データセット JWSAN[猪原]を 正解データとして、このデータセットにおける2単語間の類似度のランキングと、評価する分散表現による2単語間のランキングがどの程度似ているかで評価します。具体的には、Speamanの順位相関係数を用いて各分散表現モデルを比較します。
評価実験をまとめると下記の通りです。
- 評価指標:Speamanの順位相関係数
- 評価対象モデル
◦hottoSNS-w2vモデル:
◦Wikipediaモデル(ホットリンク)
◦Wikipediaモデル(東北大)
▪2018年10月1日版 単語のみの分散表現(200次元)を利用
▪jawiki.word̲vectors.200d.txt.gz
◦JWSAN‒1400を利用:単語の分散表現の性能評価用に、単語ペアを厳選したデータセット
評価結果は,下記の通りになりました。
モデル |
hottoSNS-w2v |
Wikipedia
(ホットリンク)
|
Wikipedia
(東北大) |
相関係数 |
0.548 |
0.478 |
0.472 |
まず、Wikipediaのみで学習した2つのモデルを比較すると、性能がほぼ同程度であるため, 当社における分散表現の学習手法は妥当であると推測されます。
次に、hottoSNS-w2vモデルとWikipediaのみで学習した2つのモデルとを比較すると、 7ポイントほど良い性能が得られています.これより、類似度算出というタスクにおいて,hottoSNS-w2vモデルが優れていることが分かります。
[猪原] 猪原 敬介,内海 彰, "日本語類似度・関連度データセットの作成,", 言語処理学会第24回年次大会発表論文集,pp.1011‒1014 (2018).
[Mikolov]: Mikolov, T., and J. Dean. "Distributed representations of words and phrases and their compositionality." Advances in neural information processing systems (2013).
おわりに
今回は、弊社R&D部が利用している自然言語処理リソースの配布を開始しました。今回の資源が活用されることで、特にSNSデータを対象とした自然言語処理研究が盛り上がることを期待しています。今後も、可能な範囲で、日本語自然言語処理に役立つリソースを公開できればと考えています。
また、R&D部では、このような自社のための研究開発以外にも、学術イベントのスポンサー・大学との共同研究の遂行・研究成果の対外発表/論文誌への投稿など、学術コミュニティへの貢献を積極的に行っています。
おまけ
Web上に公開されているTwitterを用いたPre‒trained model
◦https://nlp.stanford.edu/projects/glove/
◦https://github.com/bfelbo/DeepMoji
◦https://github.com/vanHavel/TwitNet
◦https://github.com/
■当社R&D部のアカデミックとの協力体制について
https://www.hottolink.co.jp/company/lab/