最近のAndroidブログ記事で、GoogleはML Kit向けの2つの新しい自然言語処理(NLP)APIのリリースを発表した。これは、言語識別とスマートリプライを含む、iOSとAndroidデバイスにGoogle Machine Learning機能を提供するモバイルSDKである。どちらも、Googleは、開発者がテキスト、会話、その他の種類の自然言語テキストを分析および生成するのに役立つ、ドメインに依存しないAPIを提供している。これらのAPIは両方とも、iOS(9.0以上)およびAndroid(4.1以上)上で最新バージョンのML Kit SDKで使用できる。
Language Identification APIは110の異なる言語をサポートし、開発者がAPIに渡されるテキストの言語を識別するアプリケーションを構築できるようになる。GoogleのプロダクトマネージャであるChristiaan Prinsは、Language Identification APIのユースケースについて説明している。
与えられたテキスト文字列の言語は微妙であるが役に立つ情報です。多くのアプリには言語に依存する機能があります。スペルチェック、テキスト翻訳、スマートリプライなどの機能があります。ユーザに使用する言語を尋ねるのではなく、新しいLanguage Identification APIを使用するのです。
画像ソース: https://android-developers.googleblog.com/2019/04/ml-kit-expands-into-nlp-with-language.html
テキストの言語を識別するには、identifyLanguage関数を呼び出す。関数の戻り値はBCP-47言語コードである。言語が検出されない場合は、未確定コードのundが返される。
画像ソース: https://android-developers.googleblog.com/2019/04/ml-kit-expands-into-nlp-with-language.html
スマートリプライを使用すると、状況に応じたメッセージ応答の提案をチャットベースのアプリケーション内で返すことができる。この機能を使用すると、チャットセッションですばやく正確に応答することができる。Gmailユーザは、モバイル版とデスクトップ版のサービスで、スマートリプライ機能を2年間使用している。開発者は自身のアプリケーションにスマートリプライ機能を含めることができるようになった。Prinsは、スマートリプライ機能がどのように機能するかについていくつかの洞察を述べている。
新しいSmart Reply APIを使用すると、自分のアプリですばやく(Gmailと)同じことを実現できます。APIは、会話の最後の10個のメッセージに基づいて提案を行っているが、1つ前のメッセージだけでも機能します。これは、デバイス上で全て実行されるステートレスAPIである。そのため、メッセージ履歴をメモリに残したり、サーバに送信したりしません。
画像ソース: (スクリーンショット) https://www.youtube.com/watch?v=HYYaHN7tQJU
Language Identification APIと同じように、スマートリプライは単一の関数を呼び出すことで実行される。この場合、関数名はsuggestRepliesと呼ばれ、応答には提案のリストが含まれる。
Image source: https://android-developers.googleblog.com/2019/04/ml-kit-expands-into-nlp-with-language.html
スマートリプライはTensorFlow Liteを使用して実行される機械学習モデルを使用する。ただし、次のようないくつかの修正が加えられた。
私たちは、冒とくや個人的な悲劇や苦難があった場合に提案をしないように、センシティブなトピックを検出するためのモデルを追加した。
どちらのAPIも現在ML Kitで利用できる。開発者はFirebase Talk Google Groupに参加することをお勧めする。