ANTAS

メニュー

Technology Blog

ANTAS_AI 自然言語処理 1/2

2018.11.16

Chapter1:自然言語処理とは

エンジニア紹介

竹中さん
計算処理を得意とする、アンタスAI開発の中心的エンジニア。
アンタスで取り組んでいるAI開発についてお話していただきました。

▼アンタスでは今年(2018年)7月にリリースされた、AI技術を取り入れたTwitter広告におけるキーワード自動生成ツール「ONE TAP TARGE(ワンタップターゲ)」を共同開発していますが、キーワード生成するために使われている自然言語処理とは、どのような処理なのでしょうか?

機械に何かを命令を与えるとき、これまでは「何をどうするか」を正確に伝える必要がありました。少しでも曖昧な表現では機械が理解できません。でも、人は曖昧な表現でも意味を汲み取ってきちんと理解します。こういった処理のことを自然言語処理といいます。

たとえば、機械へ「電気を消す」と命令を出したときは、言葉の意味を認識できますが、「電気を消して」と命令を出すと、「電気+消して」という言葉に分離して、違う内容として認識してしまいます。人は、「電気を消す」も「電気を消して」も、同じと理解しますが、「消す」を「消して」と語尾の表現を変えたり、言葉の間が空いたりすると機械は認識できなくなります。このような状態が、自然言語処理(AI)が登場する前の認識レベルでした。

▼AI技術を取り入れることで、語尾や会話の間までも理解するようになったのでしょうか?

はい。一文字ずつ言葉を分析するのではなく、文章全体の中でキーになる言葉が何かを判断し、言葉の並び方を分析して意図する内容を予測する開発技術が進化してきました。ですから、言葉の間や語尾の表現が変わっても、機械が認識できるようになってきました。
Googleの翻訳機能を使ったことがある方もいらっしゃると思いますが、この中にも自然言語処理が採用されています。最近話題になっているスマートスピーカー(AIスピーカー)も同じです。スピーカーへ話しかけると、言葉を解析して、何をすればいいのかを判断して実行します。このように、様々な企業や個人が自然言語処理を導入した独自アプリケーションの開発が進んでいます。

▼そのようなAI技術は何らかの方法で、一般のエンジニアにも情報公開されているのでしょうか?

Googleやマイクロソフト、Facebookなど大手企業の研究所などが、ライブラリを作って一般公開しています。基本的なライブラリは公開されていいるのですが、何十もあるパラメータの設定の組合せで細かな処理内容が変わります。開発する商品やサービスに合わせて、いかにチューンナップするのかが各企業の開発エンジニアの技量が問われる部分だと思います。

AI関係のライブラリは常に発展・進化しています。更新情報をチェックしていると、改善点や新たにできることがわかるので、リサーチは欠かせませんね。

▼他にAI関連の開発時に参考にしている情報はありますか?

技術的には、インターネットで公開されているAI関連の論文も参考にしています。プログラム開発の参考としては、GitHub(ギットハブ)も活用しています。

※GitHub:ソフトウェア開発用に公開されているソースコード管理サービス

スマートスピーカーなどの開発をするケースでは、経由で音声を使ってネットショップなどへ商品を注文する機能もあるため、言い間違いによる誤注文を防ぐための方針(経済産業省「電子商取引及び情報財取引等に関する準則)の改訂についても、政府で議論されています(2018年6月現在)。開発技術以外の取り決めもありますので、そちらの情報も把握しておく必要がありますね。

Chapter2:サービス開発 ONE TAP TARGE

▼「ONE TAP TARGE」の開発のきっかけは何だったのでしょうか?

最初は、広告の分野でAIを取り入れられないか?と、社内でアイディアが出てきたことがきっかけでした。広告サービス事業を展開している当社のグループ会社の協力をいただきリサーチからスタートしました。

▼「ONE TAP TARGE」の特徴はどんなところですか?

このツールは、打ち出したい広告のターゲットに合わせたキーワードとハンドルを機械学習と独自のロジックでスコア化し、そのスコアの上位のフォロワーを抽出しています。広告を打ち出すためのキーワードと、それを配信する対象となるユーザーとフォロワーが自動生成されるため、より効果的な広告配信が可能となります。キーワード選定だけでなく、影響力を持っている人を探し出せれば、大きな成果に結びつくことが期待できます。

開発前の企画検討の段階で、Twitterを媒体として広告展開するとき、広告を出したい商品やサービスに合わせて、キーワードを選定するのは人の力で行っていることに着目しました。担当者の知識レベルによって、選定するキーワードにばらつきがあったからです。その商品の分野に詳しい人物がキーワード選定すると、さまざまなキーワードを選べますが、その分野のことを知らない人物が担当になったケースでは選ぶキーワードの数が少なかったり、キーワードがマッチングしなかったりすることが見えてきました。
担当者によるばらつきがある選定基準を均一化したり、有効なキーワードを選ぶ時間や手間を省力化するなど改善することで、広告効果を高めることができるのではないかと考え、自然言語処理を活用して、アルゴリズムを組み立てていきました。

▼開発時に苦労した点はどんなところですか?

AIの機械学習ライブラリの部分は一般公開されていますが、扱うデータの数が足りなくて学習ができなかったり、データの形にばらつきがあるときは、補整する必要も生じます。学習精度を求めると、データが大きくなってしまうため、キーワード生成に要する時間がかかってしまいます。学習結果を踏まえて行う調整や、精度を保ちつつ処理スピードを高速化するチューニングにかなり時間がかかりました。
基本的な部分の開発期間は半年間ぐらいでしたが、効果の検証やチューニングをこつこつと1年弱ほど繰り返してリリースになったので、その部分が苦労した点です。

▼自然言語処理の次の展開はどう考えていますか?

改良案として出ているのは多言語化ですね。今は日本語限定ですので、使われるシーンが限られてます。英語や中国語に対応すれば、さらに用途が広がります。更にはデータ分析からの絞り込みや、予測学習機能を追加するなどのを検討していきたいと考えています。

※次回は「Chapter3:AI開発エンジニアとは」についてご紹介いたします。