自社運用で成果につなげるSNSコンサル
プロにまるっとお任せするSNS運用代行
成長を加速させるSNS広告運用
成果につながるインフルエンサー活用
トレンドインの実績多数
SNS投稿用のクリエイティブを幅広く制作
Instagram分析ツール
サービス資料
Twitterコンサルティング・広告
Instagramコンサルティング・広告
トレンド発信メディア
イベントやウェビナーに参加して学ぶ
動画やダウンロード資料で学ぶ
記事を読んで学ぶ
メルマガを購読する
最終更新日:2023年6月12日
R&D部の榊・水木・郡司です。
前回に引き続き、当社のR&D部で共有しているリソースの公開第二弾です。と同時に、学会でのスポンサーブース出展の告知です。
当社のR&D部では、研究開発上で利用する様々な様々なリソースを部内で共有しています。 今回、そのうちの一つである大規模日本語SNSコーパスによるBERTモデル[1]を社外の方にも利用可能な形で配布することにしました。 本ブログでは、それについてご説明したいと思います。
前回のブログでは、「単語分散表現モデルの配布は大変今更感がある」と述べましたが、今回公開するBERTモデルは、数少ない日本語に特化した文分散表現のPretrained Model※であり、それを今のタイミングで公開することには大きな価値があると考えています。 特にTwitterデータを対象としたdownstreamタスクを解きたい場合、今回公開したhottoSNS-BERTを用いることで、既存のモデルよりも高い性能が得られることが想定されます。
なお、今回の公開するBERTモデルに関する詳細は3月12日〜15日に名古屋大学で開催される言語処理学会第25回年次大会のホットリンク社スポンサーブースおよびスポンサーイブニングで詳細に説明する予定です(ブログでは言及していない、よりTwitterに特化した工夫の模索も紹介します)。ご興味がある方はぜひお越し下さい。
※公開されている日本語の文分散表現
前回のブログ末尾でも触れましたが、今回の資源が活用されることで、特ににTwitterデータを対象とした自然言語処理研究が盛り上がることを期待しています。
もちろん、弊社としてのメリットもあります。Twitterデータを対象とした新たな技術が開発されれば、それが弊社の既存サービスの改良や、新規サービス開発に役立つかもしれません。また、Twitterデータ活用の認知度が高まれば、それだけ弊社の持つTwitterデータの価値が高まります。 そのような意味で、本言語資源が幅広く活用され、様々な成果が出ることを期待しております。
※基本的にhottoSNS-w2vの配布と同様の方法です。
今回公開する分散表現のモデルの取得方法は、こちらのgithubリポジトリからお願いします。
リンク先にある利用規約を読み、そちらに同意して頂ける方は、 Webフォームから氏名、所属、連絡先などを送信してください。 追って、分散表現のダウンロードリンクをお送りします。
利用規約には色々と書いてありますが、重要なのは下記の5点です。
それでは、以下では、今回公開する言語資源hottoSNS-BERTの構築方法を含めた特徴について説明します。 なお、すでにいくつかの記事[2,3]で詳しく解説されているので、 本記事ではBERT自体の仕組みについては説明しません。
今回は、ツイートに対する言語処理に特化した文分散表現を構築したかったので、その目的に合わせて様々な工夫を行っています。それがそのままhottoSNS-BERTの構築方法の特徴となっています。
大きく分けると以下の3点です。
上記3点について説明します。 処理の詳細な中身については、githubを確認してください。
なお、BERT自体の学習のパラメータは、比較しやすいように、既存2つのモデル(BERT MultiLingual、 BERT 日本語Wikipedia)と同一にしています。
社内で大規模日本語SNSコーパス※1を構築しました。コーパスに含まれる文の多様性が大きくなるように工夫しています。具体的には、bot投稿・リツイートの除外、重複ツイート文の除外といった工夫を施しています。
ツイートは、2017年〜2018年に投稿されたツイートの一部を抽出しました。
構築したコーパスの統計量は下記の通りです。
※1 データの性質上、本コーパスを配布することは差し控えます。
※2 本家BERTが用いたコーパス(=En Wikipedia + BookCorpus)と比較すると、35%程度の大きさです
前処理としては、以下の4つを適用しています。
前処理後のサンプルデータは下記の通り。
ゆめさんが、ファボしてくるあたり、世代だなって思いました( ̇- ̇ )笑 <mention> 90秒に250円かけるかどうかは、まぁ個人の自由だしね() <mention> それでは聞いてください rainy <url>
分かち書き
前述の菊田遥平さんが書かれたCookpadブログや他のブログでも指摘されている通り、本家BERTのMultilingual Modelにおいては、日本語に適した分かち書きになっていません。
そこで今回は分かち書きにsetencepieceを適用しました。 また語彙および分かち書きモデルは、上述のコーパスで学習しました。語彙数は32,000です。
ゆめ さんが 、 ファボ してくる あたり 、 世代 だ なって思いました ( ▁̇ - ▁̇ ▁ ) 笑 <mention> ▁ 90 秒 に 250 円 かける かどうかは 、 まぁ 個人の 自由 だしね () <mention> ▁ それでは 聞いてください ▁ rain y ▁ <url>
本家BERTでは、事前学習にMasked Language ModelとNext Sentence Predictionが使われています。
Masked Language Modelは入力系列のうちの一部(15%)を[MASK]トークンに置き換えて、そのMASKされた単語を予測するという事前学習です。この事前学習は、どんなテキストにも適用することができます。
Next Sentence Predictionは、2つの文章を与え、それらが前後関係にあるか(隣り合っているかを)予測するという事前学習です。この事前学習は、入力文の多くがが2文以上で構成されることを想定としています。しかし、ツイートの場合、1文で表されることが多いため、Next Sentence Predictionを事前学習として適用するのは難しいです。
そこで、今回は、ツイートの特性に合わせて、Masked Language Modelのみを事前学習をとして採用しました。
文分散表現の場合、単語分散表現の類似語性判定のようにわかりやすい直接的な定量評価が難しいです。また、そもそも文分散表現は、downstreamタスクでFine-Tuningを行った上で利用することが想定されています。
今回は、ツイート評判分析をdownstreamタスクとして、構築したBERTモデルの評価を行いました。
統計量は以下の通り。
今回は、以下3つのPre-trained Modelを比較します。
1つ目はBERT MultiLingual 、 2つ目はBERT 日本語Wikipedia、 3つ目は弊社によるhottoSNS-BERTです。
※ MLM: Masked Language Model, NSP: Next Sentence Prediction
実験結果は以下の通りです。
つまり、下記のような結果であると言えます。
Twitter評判分析タスクに対する性能は以下のようになった。
BMultilingual < 日本語Wikipediaであることから、日本語を対象としたdownstreamタスクでは、日本語に特化した分かち書き方法および、日本語のコーパスを用いた事前学習の方が適していると考えられる。
日本語Wikipedia < hottoSNS-BERT であることから、Twitterを対象としたdownstreamタスクでは、日本語Wikipediaよりもドメインに特化した大規模日本語SNSコーパスで学習したhottoSNS-BERTの方が良い性能が得られると考えられる。
なお、言語処理学会のポスターセッションでは、事前学習にTwitterユーザ単位での情報を活用する方法も模索しているので、興味がある人はスポンサーブースにいらしてください。
今回、本家BERTと同じようにTPU(Tensor Processing Unit)を用いてBERTの学習を行いましたが、その速度に驚かされました。
今回利用したのは、Cloud TPU v2(8core)でしたが、それでもGPUを初めて使ったときのような感動がありました。 本家BERT論文で使われているのは32coreのv2-32 Cloud TPU v2 Podなので、単純計算で4倍の速度になると考えると、Deep Learningに使うにはかなり強力だなと思わされました。
なお、料金は1時間で$4.50 USDと割高ですが、かなり短い時間で学習を終えられることを考えると、そこまでお金はかからないかもしれません(実際、今回テスト的にパラメータを小さくしてBERTを学習させた際は8時間で学習を終えることができました)。
ただ、Cloud TPUはまだ提供されたばかりのサービスであり、社内にもウェブ上にもノウハウが少なく、結構ハマるところがありました。利用する際は注意が必要です。いずれ本ブログで利用方法についての記事を書くかも知れません。
今回は、弊社R&D部が利用している自然言語処理リソースの配布を開始しました。今回の資源が活用されることで、特にSNSデータを対象とした自然言語処理研究が盛り上がることを期待しています。今後も、可能な範囲で、日本語自然言語処理に役立つリソースを公開できればと考えています。
また、R&D部では、このような自社のための研究開発以外にも、学術イベントのスポンサー・大学との共同研究の遂行・研究成果の対外発表/論文誌への投稿など、学術コミュニティへの貢献を積極的に行っています。
■当社R&D部のアカデミックとの協力体制について https://www.hottolink.co.jp/company/lab/
ホットリンクでは、SNSコンサルタントやSNSプロモーションプランナーなど、さまざまなポジションで一緒に働くメンバーを募集しています!
Twitter, Instagramマーケティングについてお悩みの方へ