見出し画像

「ユーザーが声で自然にiPhoneを操作できるようになる」Apple論文ReALMを易しく解説

「ユーザーが声で自然にiPhoneを操作できるようになる」Apple論文の推敲
ReALM: Reference Resolution As Language Modeling

この論文では、言語モデルを使って参照解決(特に画面上のエンティティに関するもの)を行う新しい手法が提案されています。論文は分かりにくいと思うので、パラグラフ3と4の内容をわかりやすくまとめ直しました。

画面上のエンティティ(On-screen Entities)とは、ユーザーのデバイスの画面に現在表示されている要素のことを指します。これらのエンティティは、ユーザーが直接目にしているものであり、操作や参照の対象となります。画面上のエンティティには、以下のようなものが含まれます:

  • アプリのアイコン:ホーム画面やアプリランチャーに表示されているアプリケーションのアイコン。

  • テキスト情報:画面上に表示されているテキスト、例えばニュース記事のタイトル、メッセージの本文、設定メニューのオプション名など。

  • ボタンやリンク:画面上でユーザーがタップやクリック可能な要素。例えば「送信」ボタンやWebページのリンクなど。

  • リスト項目:連絡先のリスト、設定の一覧、電子メールのメールボックス内のメッセージ一覧など、項目が並んでいるリスト。

例えば、ユーザーがSiriやGoogleアシスタントに「画面上の地図アプリを開いて」と話しかけた場合、その要求を理解し処理するためには、アシスタントが現在ユーザーの画面上に表示されているエンティティ(この場合は地図アプリのアイコン)を認識する必要があります。

この研究で提案されているシステムは、言語モデルを用いてこのような画面上のエンティティへの参照を理解し、適切に処理することができるように設計されています。これにより、ユーザーが声で自然にデバイスを操作できるようになることを目指しています。

具体的には、ユーザーの画面上に表示されているエンティティや、会話中に言及されたエンティティなど、異なる種類の参照を解決することを目的としています。

3. Task(課題)

この研究では、ユーザーが行いたいタスクに関連するエンティティを特定し、抽出する課題を解決しようとしています。関連するエンティティは、以下の3つのタイプに分類されます:

  1. 画面上のエンティティ(On-screen Entities):ユーザーの画面上に現在表示されているエンティティです。

  2. 会話エンティティ(Conversational Entities):会話に関連するエンティティで、以前のユーザーの発言から来るものや、仮想アシスタントがユーザーに提供したリストなどから来るものです。

  3. バックグラウンドエンティティ(Background Entities):ユーザーの画面上に直接表示されていないが、バックグラウンドプロセスから来るエンティティです。例えば、鳴っているアラームや背景で再生されている音楽などがこれに該当します。

4. Datasets(データセット)

この研究で使用されたデータセットは、人工的に作成されたものや、アノテーターの手によって作成されたものを含んでいます。各データポイントにはユーザーのクエリと、エンティティのリストが含まれており、それらに関連する正解のエンティティ(またはエンティティのセット)が示されています。エンティティには、そのタイプや名前などの他のテキスト情報が含まれています。

iPhoneの操作を例にした説明

例えば、iPhoneの操作で「Siriに『最近使ったアプリを開いて』と言った場合」を考えてみましょう:

  • 画面上のエンティティ:ユーザーの画面上に表示されているアプリのアイコンや名前などが該当します。

  • 会話エンティティ:ユーザーが以前に「メッセージアプリを開いて」と言ったときの「メッセージアプリ」が該当します。

  • バックグラウンドエンティティ:音楽アプリが背景で再生中である状態が該当します。

この研究で開発されたシステムは、これらの情報を活用して、ユーザーが何を意図しているかを理解し、適切なアクションを実行するために必要なエンティティを正確に抽出することができます。

以下はパラグラフ3と4の和訳です。
3 課題
タスクを次のように定式化する: 関連エンティティとユーザが実行したいタスクが与えられたとき、現在のユーザクエリに関連するエンティティを抽出する。関連エンティティは3つの異なるタイプがある:

  1. 画面上のエンティティ: ユーザーの画面に現在表示されているエンティティ。

  2. 会話エンティティ: これらは会話に関連するエンティティである。これらのエンティティは、ユーザの以前のターン(例えば、ユーザが "Call Mom "と言ったとき、"Mom "のコンタクトが関連するエンティティになる)、またはバーチャルアシスタント(例えば、エージェントがユーザに選択する場所やアラームのリストを提供するとき)から来るかもしれない。

  3. バックグラウンドエンティティ: 例えば、鳴り始めるアラームやバックグラウンドで流れる音楽などです。
    我々は、LLMのための複数選択タスクとして、参照解決のタスクを提起する。ここで、意図された出力は、ユーザの画面に表示されたエンティティからの単一の選択肢(または複数の選択肢)である。場合によっては、答えは「どれでもない」となることもある。
    このタスクを評価するために、モデルが関連するエンティティを任意の順序で出力することを許可します。つまり、Ground Truthがエンティティ8、7、4である場合、モデルの性能を評価しながら、これら3つの正しいエンティティの任意の並べ替えを受け入れます。
    4 データセット
    データセットは、合成的に作成されたデータ、またはアノテータの助けを借りて作成されたデータで構成される。各データ・ポイントには、ユーザ・クエリ、エンティティのリスト、および対応するユーザ・クエリに関連するグ ラウンド・トゥルース・エンティティ(またはエンティティのセット)が含まれる。各エンティティは順に、そのタイプに関する情報と、名前およびエンティティに関連するその他のテキスト詳細(たとえば、アラームのラベルと時刻)などのその他のプロパティを含む。関連する画面上のコンテキストが存在するデータ・ポイントの場合、このコンテキストは、エンティティのバウンディング・ボックス、エンティティの周囲にあるオブジェクトのリスト、およびこれらの周囲にあるオブジェクトのタイプ、テキスト・コンテンツ、位置などのプロパティの形で利用できます。
    表2: データセットサイズ(Train SetとTest Set) データセット Train Test
    会話 2.3k 1.2k 合成 3.9k 1.1k 画面上 10.1k 1.9k
    4.1 会話データ
    この場合、ユーザとエージェントの対話に関連するエンティティのデータが収集される。これを行うために、採点者は、エンティティの合成リストが提供されたスクリーンショットを見せられ、提供された合成リストで明確に選ばれたエンティティを参照するクエリを提供するように求められる。

例えば、採点者は合成されたビジネスのリストを見せられ、提供されたリストの中の特定のものを参照するかもしれない。
例えば、「下から2番目のところに連れてって」とか、「メインストリートのところに電話して」とか。

4.2 合成データ
データを取得するもう1つのアプローチは、テンプレートからの合成データに頼ることである。このアプローチは、特にタイプベースの参照に有用である。この場合、参照 を再解決するには、ユーザクエリとエンティティタイプで十分であり、記述は当てにならない。このデータセットの合成的な性質は、複数のエンティティが所定の参照に解決できるデー タポイントを含むことを妨げないことに注意。
「music "と "video "のすべてのエンティティに解決できる。
同期データを生成するテンプレートは2つある。
最初の "base "テンプレートは、メンション、エンティ ティ、必要に応じて可能なスロット値を含む。2番目の「言語」テンプレートは、ベーステンプレートをインポートし、ベーステンプレートで定義された参照で、対象となるケースに使用できるクエリのさまざまなバリエーションを追加する。
データ生成スクリプトは、ベーステンプレートと言語テンプレートを取り込み、ベーステンプレートで定義された言及とスロット値で参照を置換することで、言語テンプレートで指定された可能なクエリを生成します。サポートされるすべてのエンティティをループします。テンプレート内のエンティ ティと一致するものについては、言及とエンティティを接続し、そうでない場合は、メンションへの参照 を持たないエンティティタイプのみを追加する。
4.3 画面データ
画面データは、電話番号、電子メール、および/または物理的な広告情報が存在するさまざまなウェブページから収集された。スクリーン・データについては、2つのフェーズでアノテーションを行った。第1段階は、画面に基づいてクエリを抽出することであり、第2段階は、与えられたクエリに対するエンティティと言及を特定することであった。最初の採点プロジェクトでは、採点者は、緑と赤のボックスが付いたスクリーンショット(図1a)と、緑のボックスの情報を与えられ、緑のボックスのデータを電話番号、電子メールアドレスなどのエンティティのいずれかに分類するよう求められた。次に、採点者は、緑枠のデータに対して3つのユニークなクエリを提供するよう求められた。
(a) 最初のアノテーション・プロジェクトで使われたスクリーンショットの例
(b) 2回目のアノテーションプロジェクトで使用したスクリーンショット例
図1:アノテーションで使用したスクリーンショットの例
第2回目のアノテーション・プロジェクト(図1b)では、第1ステップで収集したクエリを、対応するスクリーンショット(バウンド・ボックスなし)およびすべてのスクリーン・エンティティをリストとして採点者に1つずつ示した。採点者は、クエリが指定された視覚エンティティのいずれかに言及しているかどうか、クエリが自然に聞こえるかどうかを尋ねられた。また、与えられたクエリで参照されているエンティティをリストから提供し、そのエンティティを参照しているクエリの部分にタグを付けるよう求められた。

この記事が気に入ったらサポートをしてみませんか?