CMOSアニーリングマシンでスパムコメントを検出してみる

mkt

目次

  1. はじめに
  2. Spam Detector の概要
  3. Spam Detector の QUBO式
  4. 実行結果

1. はじめに

初めまして!
mktと申します。

今更ながら2021年の3月に行われた Fixstars Amplify ハッカソン(詳細はURL参照)で作ったアプリケーション「スパムコメント分類器:Spam Detector」に関する記事を投稿させていただきます。

https://amplify.fixstars.com/ja/hackathon00

Spam Detector の実装や発表スライドは以下のリポジトリに置いてます。

https://github.com/morishitamakoto0330/amplify_hackathon_sample

2. Spam Detector の概要

このアプリはスパムコメント検出をクラスタリングによって行います。
2量子ビットを用いて,one-hotベクトルとしてクラスを表現します。

図中の例では,
(0, 1):スパムコメント
(1, 0):通常のコメント
というクラス表現となっています。

Spam Detector の処理の流れ

①YouTubeSpam データセットとスパム検出を行いたいコメント群を準備
②Word Mover's Distance を計算
③QUBO式を定義
④Amplifyを用いてCMOSアニーリングマシンを実行
⑤結果を出力

3. Spam Detector のQUBO式

本アプリは,QUBO式中の相互作用の値に Word Mover's Distance を用いています。
この値は文章間の距離を表すもので,似た文章同士では値が小さくなります。

クラスタリングを行うように定義された QUBO式においては,相互作用の値が小さいと接続された2つの量子ビットのスピンは同じになるように収束し,相互作用の値が大きいと接続された2つの量子ビットのスピンは違うものになるように収束します。

すなわち,スパムコメント同士,通常のコメント同士でそれぞれスピンが揃うように動作します。

4. 実行結果

実行結果を以下に示します。


入力1

1: nice song !!!!
2: I love this music :)

出力1

スパムコメントは検出されませんでした

入力2

1: wGzVyTLglJnRSAP
2: How to Double Your BITCOIN in 24 Hours or Less? ANY QUESTIONS? Click Here : https://doublebtc.net
3: Great site. Chic design. I found a lot of interesting things here. Visit this beautiful site –and rate it http://xxxbukake.xyz
4: リジェクトは,辛い.
5: 一日中えぺやろうか

出力2

1: wGzVyTLglJnRSAP
4: リジェクトは,辛い.
5: 一日中えぺやろうか

入力1のようなポジティブなコメントについてはスパム判定されず,うまく実行ができました。
入力2でも,コメント1のような無意味な文字列をスパム判定することが出来ました。

しかし,用いたデータセット(YouTubeSpam データセット)が英語のデータセットであったため,日本語のコメント2つともがスパム判定されてしまっています。

今後の課題

今後の課題としては以下のようなものが挙げられます。

  • 日本語に対応させる
  • 入力データセットに実際のブログのコメントを使用する
  • QUBO式の重みの調整を行う

以上です!
最後まで読んで頂きありがとうございます。

大学院で量子アニーリング関連の研究してます。

このコンテンツにコメントはありません。

empty
ユーザーのみコメントを投稿できます。