Snips NLUとは?

はじめに

Snips NLUはプライバシーを保護し、Dialogflow、Amazon Lex、その他のNLUクラウドサービスに代わるオープンソースソフトウエアです。

音声プラットフォームやチャットボットのインターフェースを統合するには従来、自然言語理解(NLU)のクラウドサービスを介することが必要でした。

そこで、プライバシー保護のコンセプトである「プライバシー・バイ・デザイン」やGDPR(General Data Protection Regulation :EUデータ保護規制)に準拠する、Snip NLUがオープンソース化されました。

エッジサーバー上で稼働し、最小限の構成でありながら、クラウドソリューションと同等かそれ以上のパフォーマンスを発揮します。

自然言語理解:NLU

今日では数千万人のユーザーがAlexaやGoogleのデバイスに話しかける時代となり、音声テクノロジーは人とマシンとの1つの交流方法となりました。

Amazon Alexaスキルストアには90分に1つ新しいスキルが加えられ、音声アシスタントはスマホのアプリストアが成長した時よりもさらに速く成長しています。

そして、全てのチャットボットと音声アシスタントには共通のテクノロジー、自然言語理解(NLU)が使われています。

ユーザーが自然言語を用いたAIと交流するとき、彼らの言葉は機械が可読な定義に書き換えられます。

音声アシスタントに関しては、NLU処理の前にユーザーの音声をテキスト化する、もう一つのステップが必要です。

NLUエンジンはまず最初にユーザーの意図(インテント)を検出し、そして問合せのパラメーター(スロット)を抽出します。プログラマーは適切なアクションやレスポンスを決めるためにこれを使用します。

殆どのチャットボットと音声アシスタントはクラウドサービスを介してNLU処理を行います。

例えば、Dialogflow(Googleの旧API.ai)Amazon Lex, Amazon Alexa、Luis.ai(Microsoft)、Wit.ai(Facebook)、IBM Watson等が一般的によく利用されています。

これらのソリューションの共通点はプロバイダーのサービス上で稼働し、完全に集中管理されている事です。

つまりプロバイダーはユーザーが送信したデータに自由にアクセスし、それを再利用する事ができます。

サービス規約にそれが明示されているので、下記のAmazon Lexの例を見てみましょう。

データとセキュリティ

Q:音声とテキスト入力はAmzaon Lexに保存されますか?またAWSはそれをどの様に利用しますか?

Amazon Lexはサービスによって処理された音声とテキスト入力を、Amazon Lexと他のAmazonのマシンラーニング、人工知能技術の品質向上や開発のためのみに保存する事があります。

あなたのコンテンツを使用することは関連技術の開発やトレーニングなど、Amazon Lexのユーザーのエクスペリエンスの向上のために必要です……

少し考えてみましょう。ソフトウエア業界は従来、製品の持続的な向上のために分析と、クラッシュ報告を収集する事を一般的に良い慣行としてきました。

AIにおいてシステマティックで恒久的なデータ収集が基準になったのは新しい事です。これらコンテンツの収集と保存は全てのAI技術のために必要な事だと見なされています。

しかし、Snipsにおいて最も特筆すべきことは、エッジで稼働しデバイスがユーザーの音声を直接処理することです。

ユーザーデータを収集したり処理したりしません。これまでの音声アシスタントの代わりとなる、初のプライバシー保護に準じたプラットフォームです。

透明性とプライバシーを尊重しながら、Snips NLUがオープンソース化されました。

Snips NLUはモデルを簡単にトレーニングでき、トレーニングされたモデルが新しい質問の回答を予測することができるPythonライブラリです。

加えて予測(推論)部分に焦点をあてRustに組み込んだSnips NLU-rsがオープンソース化されました。

このライブラリは現在の殆どのアーキテクチャ‐小さなデバイス、モバイル、デスクトップ、サーバーなど‐に使えます。

現在、5言語(英語、フランス語、ドイツ語、スペイン語 韓国語)に対応していますが定期的にさらに増える予定です。

処理時間

マシンラーニングのクラウドサービスを使う典型的な理由はインフラのコストです。これこそクラウドを使う理由です。

プログラマーは煩雑で費用のかかる作業から解放され、最も得意な仕事に集中することができます。

また、Snips NLU-rsインファレンスエンジンをRasberry Pi ZeroからAWS EC2 free-tierインスタンスまで対応できるようになりました。

下記はアシスタントが質問の処理にかかる平均時間です。

2015Macbook Pro 2.5GHz Core i7で質問を解析するのに平均2ミリ秒以下です。なぜならこのプラットフォームはパフォーマンスのために最適化され、ネットへの接続も不要なので、クラウドサービスを使用した場合と比べ、桁違いに時間が短縮されます。

メモリーも最適化されています、普通の処理向けの数百KBのRAMから最も複雑な処理向けに数MBまであります。

そのためRasberry Pi、スマートフォンアプリ、Amazon Free Tierにも対応できます。

また、パワフルなサーバーではNLUエンジンの数百件のパラレルインスタンスを処理出来ます。

このレベルのパフォーマンスに到達するには、エンジニアリングとマシンラーニングの両方において、NLUエンジン設計の方法を完全に考え直すことが必要でした。

例えば、まだ低水準言語に書かれていないものを全てRustに組み入れました。もしあなたがRustについてよく知らなかったら、これはC++の速度のパフォーマンスを持ちながらメモリ安全性を保証する素晴らしい言語プログラムです。

マシンラーニングについては、私たちはCNNsからBbi-LSTMsまで幾つもの違うモデルを試しましたがLinear chain のConditional Random Field(CRF)というトラディショナルなフラットモデルに落ち着きました。

また、重い単語埋め込みを、文章から意味と構造のシグナルを捕える方法に置き換えました。

自然言語理解の処理に関してはディープラーニング対CRFsで特に変わりはありませんでした。しかし、これはディープラーニングが高い精度に達するASRにはあてはまりません。

精度

SnipsNLUエンジンが正常に稼働していることを証明するために、API.ai(GoogleのDialogFlow)、Wit.ai(Facebook)、Luis.ai(Microsoft)、 Amazon Alexaなどのクラウドサービスでベンチマークテストしました。

全てのソリューションは同じデータセットでトレーニングし、同じアウトサンプルでテストし、その結果、NLUはスロット抽出処理において、訓練データをどれだけ使うかにかかわらず、精度においてクラウドソリューションと同等か優れているとの結果が出ました。

また昨年の夏に公開したAcademic benchmarkを更新した記事で、API.ai、Luis.ai、IBM Watson、Rasa NLUのパフォーマンスをテストしました。公平にするため最新バージョンのRasa NLUを、最新バージョンのSnips NLUと比較評価しました。(ダークブルーのグラフ)

全てのベンチマークにおいて、Snips NLUは他のソリューションよりも速く軽いのにもかかわらず、最高か2番目のパフォーマンスでした。この結果は、プライバシーとデータ管理を犠牲にしてクラウドのNLUソリューションを使うことは必要でなくなったことを示しています。デバイスとサーバー両方において、Snips NLUは既存のクラウドに代わるパワフルなソリューションです。

成熟度とエコシステム

Snips NLUエンジンは長年の研究とエンジニアリングの成果であり、綿密なテストを経ています。

これは顧客のデバイスの中で稼働しているコマーシャル向けのコードと同じものを使用しています。

さらに、音声プラットフォームを商業向け以外のユーザーに無料で提供します。そしてプログラマーが各自のアシスタントを作れるウェブインターフェースを発表しました。昨年夏に発表して以来、9,000人以上のプログラマーがサインアップし19,000の音声アシスタントが作成されました。

また、数個のサンプルから数千個の合成サンプルを生成する対話式のインターフェースを誰でも作れる、ユニークなデータ生成サービスを発表しました。

Snips NLUは速く、軽く、正確でマチュアな、クラウドベースの自然言語理解ソリューションに取って代わるものです。

コードをオープンソース化したことでテクノロジーの向上を助け、プライバシー保護の促進をしながら、AIをエッジで使えるようにします。

更に知りたい場合は、Githubリポジトリーをチェックし、Snips consoleであなたのアシスタントを作りましょう。

原文

https://chatbotslife.com/snips-nlu-is-an-open-source-private-by-design-alternative-to-dialogflow-amazon-lex-and-other-nlu-76953ce6959d

チャットボットライフとの提携により、翻訳し掲載しています。
チャットボットライフとは、最新のボット、AI、NLP、ツール等を扱うメディアです。