Technology2020.02.07

Yahoo!ニュースの「不適切コメント対策」最前線――自然言語処理研究者に聞く、スパコンによる機械学習導入後の変化とは?

記事についてさまざまな意見が寄せられる、Yahoo!ニュースのコメント欄。コメントの投稿数は伸び続け、1日の投稿数は約40万件にのぼることも。

しかし同時に、その中には、規定のルールに反するものも……。そこで、Yahoo!ニュースのコメントプロジェクトでは、多様な意見や考えが集まる場を目指し、24時間・365日体制でのパトロールをはじめ、さまざまな取り組みを行ってきました。

さらに2019年11月からは、スーパーコンピュータ「kukai(クウカイ)」を活用した、機械学習による対策もスタート。ルール違反の1つである「記事との関連性の低いコメント」を表示させなくする仕組みを実装しました。

ここには、最先端の深層学習ベースの自然言語処理モデルが使用されているそう。技術戦略本部TI室の清水徹さんに話を聞きました。

取材・文/友清 哲
編集/ノオト

膨大な文章量からパターンやルールを抽出

――Yahoo!ニュースでは、法令・公序良俗に反する内容や悪質な批判やスパム投稿はもちろん、報じられているニュースとの関連性が薄いコメントの投稿を禁じています。そうした違反コメント対策に、機械学習はどのように取り入れられているのでしょうか?

使用NGなワードが入ったコメントは、システムで見つけて削除することが可能です。しかし、「記事とコメントの関連度」はシステムだけでは調べきれず、パトロール専門チームが人力でチェックして、違反コメントを削除していたんです。

秋から導入した機械学習を使った対策によって、記事とコメントの関連度が、投稿されたタイミングで即座にシステムが判断できるようになりました。

――ここでいう「機械学習」とはどんな技術のことを指すのでしょうか?

最先端で強力な深層学習ベースのアーキテクチャである「Transformer」と、Googleの研究者が発表した画期的な自然言語処理モデル「BERT」を使用しています。

具体的には、大量のテキストから言葉の意味をモデルに学習させ、それをもとにコメントとして適切か否かを振り分ける仕組みですね。

記事の内容、そして投稿されたコメントを、それぞれの文章を形成する最小単位である単語の「ベクトル」を元に計算を行い、より適切な意味を表す単語のベクトル、正しく文脈を踏まえたベクトルを生成して、コメントに対する判定を行います。

――ここでいう「ベクトル」とは、どのような意味ですか?

この場合、「ベクトル」は数値の羅列です。人間が見てもどのような意味の数値か分からないのですが、機械学習のモデルから見ると、単語や文章の情報をちゃんと含んでいます。

例えば、「今日はいい天気だ」という文章があるとします。この一文を最小単位に分割してみると、「今日」という名詞、「は」という助詞、「いい」という形容詞、「天気」という名詞、そして「だ」という助詞に分けられます。

ただし、この中の「今日」「は」の部分だけを見ると、一見、あいさつの文である「今日は(こんにちは)」とも解釈できてしまいます。

この文はあいさつではなく、天気の話の出だしであることを機械に理解させたい。このために、「今日」を表す数値の羅列、「は」を表す数値の羅列など、ひとつひとつの単語を表すベクトルを用意して計算をスタートします。

そして、単語同士の前後関係を踏まえたようなベクトルへ変換していくんです。その結果として、例えば「今日」「は」は挨拶ではないと判断できる、「天気」という単語が文全体のテーマだと判断できるベクトルを各単語に与えられます。さらに、文脈も踏まえて、意味を正しく反映したベクトルを生成しなければなりません。

システムが文章を何も理解できないところからスタートしながらも、深層学習の技術を用いて大量の文章を学習させることで、このような計算を適切に行えるようになるのです。

ちなみに、この最初の学習段階では、Yahoo!知恵袋に投稿された文章のデータが用いられました。これは、Q&Aの組み合わせの量が多いこと、そして、これまでの研究から、Yahoo!ニュースのコメントとYahoo!知恵袋のテキストは相性が良いということが分かっていたからです。

――Yahoo!知恵袋に書き込まれた文章を分析、学習したシステムで、Yahoo!ニュースのコメント欄がチェックされている、と。

そうですね。行程は大まかに3段階に分けられます。まず、先ほどの流れで日本語の読解力をもったシステムを育てるため、Yahoo!知恵袋の質問に対して適切な回答を選ばせるような事前学習を実施。この際、あえてフェイクのデータも織り交ぜ、質問とまったく無関係な回答を与えて、その適否のパターンをシステムに覚えさせます。

最初は全くランダムにしか正解できないですが、kukai上で学習を続けることで正解率が上がっていく。そして、ほぼ全問正解できるようになるころには、日本語が読めるモデルができているわけです。

そして、今度はYahoo!ニュースのテキストへ対応させるため、およそ1800万ペアの記事とコメントを読み込ませて、記事に対する実際のコメントとフェイクを見分けられるよう学習を続けます。

最終的に、担当者2名が2週間かけて1万5000ペアの記事とコメントを作成し、関連度判定の結果を学習させ、同じような判断ができるように仕上げていきます。これだけの量の正解データを用意するのは大変な一方、自然言語処理の尺度で考えると、十分と言える量ではありません。

ただ、今回はあらかじめシステムが「日本語を理解できる、ニュースコメントを理解できる」という土台を準備し、その上で学習を行っていますので、高い性能の実現を達成できました。

――具体的な判断は、どのような形で行われるのでしょうか?

記事とコメントの関連度にスコアを付け、全然関係がないと分かったらその場で削除。関連しているのかどうか、まだ機械では判断が難しいものは一度人の目でチェックするツールに登録され、その結果を再学習する……とサイクルを繰り返しています。現在は、人の目でぱっと見て分かるルール違反は、かなり高精度で判断ができるようになりました。

ディープラーニングを高速処理するスーパーコンピュータ「kukai」

――こうした仕組みが実際に稼働するまでに、どのくらいの準備期間を要しているのでしょうか?

機械学習の導入計画が具体化したのは、昨年4月のことです。以降、人力だけでのチェックから段階的に人力とAIを併用しながら、必要に応じてシステムを再学習させ、精度の向上に努めてきました。ただ、完全に自動化できるのは、もう少し先になりそうです。

――コメントチェックの完全自動化を阻む要因は何でしょう。

ニュースメディアでは、新しい話題や言葉が次々に登場します。最新のトレンドにまつわる記事に対して、ふさわしいコメントであるかどうかを判定するためには、その都度、新たな学習が必要になります。

最近でいえば、「令和」という新元号が発表された際に、膨大な数の関連ニュースが流れました。しかし、システムはその時点ではまだ「令和」という単語を知りません。当然、令和関連ニュースに対するコメントの適否も、一定の学習が済むまで判断できないんです。このあたりはイタチごっこに近いものがありますね。

また、深層学習でシステムの性能が上がったとはいえ、文章の深い意味については人間の理解力に全くおよばず、まだまだ研究開発が必要です。

――ヤフーとしては、これまで機械学習に対してどのように取り組んできたのでしょうか。

大まかにいえば、全てのサービスにおいて、何らかのかたちで機械学習を使っているといっても過言ではないでしょう。ここ10年は、検索や広告、言語処理、音声、画像、レコメンデーションなど、それぞれの分野に機械学習を担当する人材が配置されています。

――そうしたシステムを支えている、スーパーコンピュータ「kukai」にも注目が集まっています。これはどのような特徴を備えたマシンですか。


ヤフーが開発したスーパーコンピュータ「kukai」

「kukai」は提携企業の協力を得ながら、2015年からヤフーと専門家がチームを組んで、初めて開発したスパコンです。CPUではなくGPU(Graphics Processing Unit)を使用し、データドリブンなシステムの基幹を担っています。GPUを使った従来の環境と比較して、約225倍の演算処理性能を持っているため、大規模なディープラーニング処理を短時間で行うことができます。また、「GREEN500」というスパコン省エネランキングで世界2位という低コスト性も大きな特徴でしょう。

こういった処理ができるスパコン「kukai」があるからこそ、Yahoo!ニュースのコメント欄のような大量データの処理ができています。

――その「kukai」をベースに、今こうしている間も着々と機械学習が進み、精度の向上が図られています。それにより、Yahoo!ニュースのコメント欄は今後どのように進化していくでしょうか。

現状では、関連しているのかどうか怪しいコメントを、すべて漏らさず排除するのはまだ困難です。それに、人力でチェックしていても判断が分かれる内容の投稿も存在しますから、疑わしきコメントをすべてカットすることは多くの罪のないコメントを巻き込むことにつながり、健全ではないと考えています。現時点では、そのあたりのバランスを踏まえながら運用を進めていく方針です。

――多様な意見が集まる場として機能させるためには、不適切コメントを100%排除するのは正解ではないということですね。

そうです。われわれが目指しているのは、あくまで健全かつ安心して利用できる場を守ること。その意味で、ある記事についてどんな意見があるかが可視化され、全体像をわかりやすくした上で個別のコメントをたどれるような見せ方を、もっと吟味していかなければなりません。

また、不適切なコメントを見つけるのとは逆に、より多くの人に読んでほしい価値あるコメントの発見へも機械学習の活用ができるはずです。

今回ご紹介したような記事との関連性の低いコメントを取り締まるモデレーター的な機能の改善は続けながら、たくさんの人が読むべきコメントを見つけるキュレーションの面へも着手していければと思います。

コメント欄に関する過去の記事

お問い合わせ先

このブログに関するお問い合わせについてはこちらへお願いいたします。