(57)【要約】  ユーザによって書かれたメッセージを受信し、第１の分類器を使用して、肯定的または否定的な感情を表す第１の単語をメッセージが少なくとも含むと判断し、判断することに基づいて、肯定的または否定的な感情を有すると各々がラベル付けされた訓練用メッセージのセットを用いて訓練済みである第１の特徴量抽出器を使用して、メッセージに含まれる単語または句と、肯定的または否定的な感情の度合いを表す重みとを各々が含む、メッセージの１つ以上の特徴量を抽出し、抽出された特徴量を入力として使用する第２の分類器を使用して、メッセージの肯定的または否定的な感情の度合いを表すスコアを決定するためのコンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む方法、システム、および装置。
2019507423.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のコンピュータによって実行される、
ユーザによって書かれたメッセージを受信するステップと、
第１の分類器を使用して、肯定的または否定的な感情を表す第１の単語を前記メッセージが少なくとも含むと判断するステップと、前記判断するステップに基づいて、
肯定的または否定的な感情を有すると各々がラベル付けされた訓練用メッセージのセットを用いて訓練済みである第１の特徴量抽出器を使用して、前記メッセージに含まれる単語または句と、肯定的または否定的な感情の度合いを表す重みとを各々が含む、前記メッセージの１つ以上の特徴量を抽出するステップと、
前記抽出された特徴量を入力として使用する第２の分類器を使用して、前記メッセージの肯定的または否定的な感情の度合いを表すスコアを決定するステップとを実行するステップを含む、方法。
【請求項２】
前記第２の分類器は、前記訓練用メッセージのセットから前記第１の特徴量抽出器によって抽出された特徴量を用いて訓練済みである、請求項１に記載の方法。
【請求項３】
前記第１の単語は、顔文字、絵文字、１回以上連続して繰り返される特定の文字を有する正しい綴りの単語、略語化もしくは短縮された単語、または２つ以上の連続した記号を有するテキスト文字列である、請求項１に記載の方法。
【請求項４】
前記第１の特徴量抽出器は、人工ニューラルネットワーク特徴量抽出器である、請求項１に記載の方法。
【請求項５】
前記第２の分類器は、ナイーブベイズ分類器、ランダムフォレスト分類器、またはサポートベクターマシン分類器である、請求項１に記載の方法。
【請求項６】
前記メッセージの１つ以上の特徴量を抽出するステップは、
第２の特徴量抽出器を使用して、前記メッセージの１つ以上の特徴量を抽出するステップをさらに含み、前記抽出された特徴量の各々は、
（ｉ）肯定的または否定的な感情を表す２つ以上の連続した単語、
（ｉｉ）単語、記号、バイアスがかかった単語、絵文字、または顔文字の数、
（ｉｉｉ）１回以上連続して繰り返される特定の文字を有する正しい綴りの単語、または、
（ｉｖ）仮定を表す単語と、肯定的または否定的な感情を表す第２の単語との距離を含む、請求項１に記載の方法。
【請求項７】
ユーザによって書かれたメッセージを受信する動作と、
第１の分類器を使用して、肯定的または否定的な感情を表す第１の単語を前記メッセージが少なくとも含むと判断する動作と、前記判断する動作に基づいて、
肯定的または否定的な感情を有すると各々がラベル付けされた訓練用メッセージのセットを用いて訓練済みである第１の特徴量抽出器を使用して、前記メッセージに含まれる単語または句と、肯定的または否定的な感情の度合いを表す重みとを各々が含む、前記メッセージの１つ以上の特徴量を抽出する動作と、
前記抽出された特徴量を入力として使用する第２の分類器を使用して、前記メッセージの肯定的または否定的な感情の度合いを表すスコアを決定する動作とを含む動作を実行するようにプログラムされた１つ以上のコンピュータを備える、システム。
【請求項８】
前記第２の分類器は、前記訓練用メッセージのセットから前記第１の特徴量抽出器によって抽出された特徴量を用いて訓練済みである、請求項７に記載のシステム。
【請求項９】
前記第１の単語は、顔文字、絵文字、１回以上連続して繰り返される特定の文字を有する正しい綴りの単語、略語化もしくは短縮された単語、または２つ以上の連続した記号を有するテキスト文字列である、請求項７に記載のシステム。
【請求項１０】
前記第１の特徴量抽出器は、人工ニューラルネットワーク特徴量抽出器である、請求項７に記載のシステム。
【請求項１１】
前記第２の分類器は、ナイーブベイズ分類器、ランダムフォレスト分類器、またはサポートベクターマシン分類器である、請求項７に記載のシステム。
【請求項１２】
前記メッセージの１つ以上の特徴量を抽出する動作は、
第２の特徴量抽出器を使用して、前記メッセージの１つ以上の特徴量を抽出する動作をさらに含み、前記抽出された特徴量の各々は、
（ｉ）肯定的または否定的な感情を表す２つ以上の連続した単語と、
（ｉｉ）単語、記号、バイアスがかかった単語、絵文字、または顔文字の数と、
（ｉｉｉ）１回以上連続して繰り返される特定の文字を有する正しい綴りの単語と、
（ｉｖ）仮定を表す単語と、肯定的または否定的な感情を表す第２の単語との距離とを含む、請求項７に記載のシステム。
【請求項１３】
命令を格納する記憶装置であって、前記命令は、１つ以上のコンピュータによって実行されると、
ユーザによって書かれたメッセージを受信する動作と、
第１の分類器を使用して、肯定的または否定的な感情を表す第１の単語を前記メッセージが少なくとも含むと判断する動作と、前記判断する動作に基づいて、
肯定的または否定的な感情を有すると各々がラベル付けされた訓練用メッセージのセットを用いて訓練済みである第１の特徴量抽出器を使用して、前記メッセージに含まれる単語または句と、肯定的または否定的な感情の度合いを表す重みとを各々が含む、前記メッセージの１つ以上の特徴量を抽出する動作と、
前記抽出された特徴量を入力として使用する第２の分類器を使用して、前記メッセージの肯定的または否定的な感情の度合いを表すスコアを決定する動作とを含む動作を実行する、記憶装置。
【請求項１４】
前記第２の分類器は、前記訓練用メッセージのセットから前記第１の特徴量抽出器によって抽出された特徴量を用いて訓練済みである、請求項１３に記載の記憶装置。
【請求項１５】
前記第１の単語は、顔文字、絵文字、１回以上連続して繰り返される特定の文字を有する正しい綴りの単語、略語化もしくは短縮された単語、または２つ以上の連続した記号を有するテキスト文字列である、請求項１３に記載の記憶装置。
【請求項１６】
前記第１の特徴量抽出器は、人工ニューラルネットワーク特徴量抽出器である、請求項１３に記載の記憶装置。
【請求項１７】
前記第２の分類器は、ナイーブベイズ分類器、ランダムフォレスト分類器、またはサポートベクターマシン分類器である、請求項１３に記載の記憶装置。
【請求項１８】
前記メッセージの１つ以上の特徴量を抽出する動作は、
第２の特徴量抽出器を使用して、前記メッセージの１つ以上の特徴量を抽出する動作をさらに含み、前記抽出された特徴量の各々は、
（ｉ）肯定的または否定的な感情を表す２つ以上の連続した単語と、
（ｉｉ）単語、記号、バイアスがかかった単語、絵文字、または顔文字の数と、
（ｉｉｉ）１回以上連続して繰り返される特定の文字を有する正しい綴りの単語と、
（ｉｖ）仮定を表す単語と、肯定的または否定的な感情を表す第２の単語との距離とを含む、請求項１３に記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１６年１月２７日に出願された米国特許出願第１５／００７，６３９号に基づく優先権を主張し、当該出願のすべての記載内容を、引用により本明細書に援用する。
【背景技術】
【０００２】
背景
本明細書は、自然言語処理に関し、特に、チャットメッセージにおけるユーザの感情を判断することに関する。
【０００３】
一般的に言えば、オンラインチャットとは、インターネットを通じて送信されたメッセージをやり取りする参加者間の会話である。参加者は、クライアント・ソフトウェア・アプリケーション（たとえば、ウェブブラウザ、メッセージングアプリケーション）のユーザインターフェースからチャットセッションに参加し、チャットセッションにおいて、他の参加者とメッセージを送受信できる。
【０００４】
チャットメッセージなどの文は、文を書いた人が表す感情を含み得る。文の感情は、書き手の肯定的もしくは否定的な見解、態度、または意見であり得る。たとえば、「Ｉ’ｍ  ｈａｐｐｙ！」、「Ｔｈｉｓ  ｉｓ  ｇｒｅａｔ」、および「Ｔｈａｎｋ  ａ  ｌｏｔ！」は、肯定的な感情を示し得る。「Ｔｈｉｓ  ｉｓ  ａｗｆｕｌ」、「Ｎｏｔ  ｆｅｅｌｉｎｇ  ｇｏｏｄ」、および「＊ｓｉｇｈ＊」は、否定的な感情を示し得る。文は、感情を含まない場合がある。たとえば、「Ｉｔ’ｓ  ｅｌｅｖｅｎ  ｏ’ｃｌｏｃｋ」は、感情の存在を示さないだろう。
【発明の概要】
【課題を解決するための手段】
【０００５】
概要
一般に、本明細書に記載の主題の一態様は、１つ以上のコンピュータによって実行される、ユーザによって書かれたメッセージを受信するアクションと、第１の分類器を使用して、肯定的または否定的な感情を表す第１の単語をメッセージが少なくとも含むと判断するアクションと、判断するアクションに基づいて、肯定的または否定的な感情を有すると各々がラベル付けされた訓練用メッセージのセットを用いて訓練済みである第１の特徴量抽出器を使用して、メッセージに含まれる各々の単語または句と、肯定的または否定的な感情の度合いを表す重みとを各々が含み得る、メッセージの１つ以上の特徴量を抽出するアクションと、抽出された特徴量を入力として使用する第２の分類器を使用できる、メッセージの肯定的または否定的な感情の度合いを表すスコアを決定するアクションとを含む、方法で具体化され得る。本態様のその他の実施形態は、対応するシステム、装置、およびコンピュータプログラムを含む。
【０００６】
これらのおよびその他の態様は、必要に応じて、以下の特徴量のうちの１つ以上を含み得る。第２の分類器は、訓練用メッセージのセットから第１の特徴量抽出器によって抽出された特徴量を用いて訓練済みである。第１の単語は、顔文字、絵文字、１回以上連続して繰り返される特定の文字を有する正しい綴りの単語、略語化もしくは短縮された単語、または２つ以上の連続した記号を有するテキスト文字列であり得る。第１の特徴量抽出器は、人工ニューラルネットワーク特徴量抽出器であり得る。第２の分類器は、ナイーブベイズ分類器、ランダムフォレスト分類器、またはサポートベクターマシン分類器であり得る。メッセージの１つ以上の特徴量を抽出するアクションは、さらに、第２の特徴量抽出器を使用して、メッセージの１つ以上の特徴量を抽出するアクションを含み得、抽出された特徴量の各々は、（ｉ）肯定的または否定的な感情を表す２つ以上の連続した単語、（ｉｉ）単語、記号、バイアスがかかった単語、絵文字、または顔文字の数、（ｉｉｉ）１回以上連続して繰り返される特定の文字を有する正しい綴りの単語、または、（ｉｖ）仮定を表す単語と、肯定的または否定的な感情を表す第２の単語との距離を含み得る。
【０００７】
本明細書に記載の本発明の主題の特定の実装形態は、以下の利点のうちの１つ以上を実現するために実施され得る。本明細書に記載のシステムは、ユーザによって書かれたメッセージを受信し、メッセージの感情を判断する。システムは、まず、メッセージにおける肯定的または否定的な感情を表す単語を判断することによって、メッセージが感情を含むかどうかを識別する。次に、システムは、肯定的または否定的な感情を有するとラベル付けされたチャットメッセージなどの訓練用メッセージによって訓練された機械学習モデルを使用して、メッセージから特徴量を抽出する。より具体的には、各抽出された特徴量は、メッセージに含まれる単語と、その単語の、訓練用メッセージに含まれる単語との類似性とを含む。次に、システムは、メッセージの抽出された特徴量に基づいて、肯定的または否定的な感情を有するとメッセージを分類する。システムは、訓練用メッセージから抽出された特徴量によって訓練された別の機械学習モデルを使用することによって、メッセージを分類する。
【０００８】
本明細書に記載の本発明の主題の１つ以上の実装形態の詳細は、添付の図面および以下の説明に記載される。本発明の主題のその他の特徴、態様、および利点は、説明、図面、および請求の範囲から明らかになるだろう。
【図面の簡単な説明】
【０００９】
【図１】メッセージ翻訳のための例示的なシステムを示す図である。
【図２】メッセージにおける感情を判断するための例示的な方法のフローチャートである。
【図３】メッセージにおける感情を判断するための別の例示的な方法のフローチャートである。
【００１０】
さまざまな図面における同じ参照番号および名称は、同じ要素を示す。
【発明を実施するための形態】
【００１１】
詳細な説明
図１は、メッセージ翻訳のための例示的なシステム１００を示す図である。図１において、サーバシステム１２２は、メッセージ翻訳のための機能を提供する。一般的に言えば、メッセージとは、一連の文字、および／または画像、音声、映像などのメディアコンテンツである。たとえば、メッセージは、単語または句であり得る。メッセージは、数字、記号、Ｕｎｉｃｏｄｅ顔文字、絵文字、画像、音声、映像などを含み得る。たとえば、サーバシステム１２２は、１つ以上の地理的位置における１つ以上のデータセンター１２１でデプロイできるソフトウェアコンポーネントおよびデータベースを備える。サーバシステム１２２のソフトウェアコンポーネントは、オンラインサービスサーバ１３２と、チャットホスト１３４と、感情識別器１３５と、類似性特徴量抽出器１３６と、感情特徴量抽出器１３８と、感情分類器１４０とを含む。サーバシステム１２２のデータベースは、オンラインサービスデータ・データベース１５１と、ユーザデータ・データベース１５２と、チャットデータ・データベース１５４と、訓練データ・データベース１５６とを含む。データベースは、１つ以上の物理的な格納システムに存在し得る。ソフトウェアコンポーネントおよびデータベースについては、以下でさらに説明する。
【００１２】
図１において、オンラインサービスサーバ１３２は、ウェブサイト、電子メールサービス、ソーシャルネットワーク、またはオンラインゲームなど、１つ以上のオンラインサービスをホストするサーバシステムである。オンラインサービスサーバ１３２は、オンラインサービス（たとえば、ウェブページ、電子メール、ユーザ投稿、またはオンラインゲームのゲームの状態およびプレーヤ）のデータをオンラインサービスデータ・データベース１５１に格納できる。また、オンラインサービスサーバ１３２は、識別子および言語設定など、オンラインサービスのユーザのデータをユーザデータ・データベース１５２に格納することもできる。
【００１３】
図１において、ユーザ（たとえば、１０２ａ、１０２ｂなど）のクライアントデバイス（たとえば、１０４ａ、１０４ｂなど）は、たとえば、インターネットなど、１つ以上のデータ通信ネットワーク１１３を通じてサーバシステム１２２に接続できる。クライアントデバイスは、本明細書において使用するとき、スマートフォン、スマートウォッチ、タブレットコンピュータ、パーソナルコンピュータ、ゲーム機、または車載メディアシステムであり得る。クライアントデバイスの他の例も可能である。各ユーザは、ユーザのクライアントデバイス上で実行中のクライアント・ソフトウェア・アプリケーション（たとえば、１０５ａ、１０５ｂなど）のグラフィカルユーザインターフェース（たとえば、１０６ａ、１０６ｂなど）を通じて、他のユーザにメッセージを送ることができる。クライアント・ソフトウェア・アプリケーションは、ウェブブラウザ、または、ゲームもしくはメッセージングアプリケーションなどの専用ソフトウェアアプリケーションであり得る。オンラインサービスサーバ１３２がホストするオンラインサービスにアクセスするための他の種類のクライアント・ソフトウェア・アプリケーションも可能である。グラフィカルユーザインターフェース（たとえば、１０６ａ、１０６ｂなど）は、チャットユーザインターフェース（たとえば、１０８ａ、１０８ｂなど）を備え得る。例示として、ユーザ（たとえば、１０２ａ）は、オンラインサービスサーバ１３２がホストするオンラインゲームのチャットセッションに参加して、ゲームのユーザインターフェース（たとえば、１０６ａ）に含まれるチャットユーザインターフェース（たとえば、１０８ａ）においてメッセージを送受信することによって、ゲームをしながらオンラインゲームの他のユーザ（たとえば、１０２ｂ、１０２ｄ）とやり取りする（「チャットする」）ことができる。
【００１４】
チャットホスト１３４は、オンラインサービスサーバ１３２がホストするオンラインサービスのユーザ間のチャットセッションを確立および維持するソフトウェアコンポーネントである。チャットホスト１３４は、ユーザ（たとえば、１０２ｄ）から送られたメッセージを受信し、このメッセージを１人以上の受信者（たとえば、１０２ａ、１０２ｃ）に送り、チャットデータ・データベース１５４に格納することができる。チャットホスト１３４は、メッセージ翻訳機能を提供できる。たとえば、メッセージの送信者および受信者が異なるメッセージ設定（たとえば、ユーザデータ・データベース１５２に格納される）である場合、チャットホスト１３４は、まず、メッセージを送信者の言語から受信者の言語に翻訳してから、翻訳されたメッセージを受信者に送ることができる。チャットホスト１３４は、たとえば、アプリケーション・プログラミング・インターフェースまたはＡＰＩを介して翻訳ソフトウェアプログラムにアクセスすることによって、１つ以上の翻訳方法を用いてメッセージをある言語から別の言語に翻訳できる。機械翻訳方法には、規則（たとえば、言語規則）ならびに辞書ベースの機械翻訳、および統計的機械翻訳などがある。統計的機械翻訳は、ある言語（「ターゲット」）のテキスト文字列が別の言語（「ソース」）の別のテキスト文字列からの翻訳である確率を予測する統計的モデルに基づき得る。
【００１５】
たとえば、マーケティングまたは顧客サービスの目的のために、チャットメッセージの感情（または、その欠如）を判断することが望ましいだろう。しかしながら、チャットメッセージは短くて十分な文脈が乏しい場合が多いため、チャットメッセージの感情を判断することは難しいだろう。チャットメッセージは、しばしば、スペルミス、または特定の環境（たとえば、テキストメッセージング、または特定のオンラインサービス）に固有のチャット語の単語（たとえば、俗語、略語、またはアルファベットの組み合わせ、数字、記号、または絵文字）を含み得る。
【００１６】
本明細書に記載の特定の実装形態は、チャットメッセージなどのメッセージにおける感情を判断するための方法を説明する。メッセージについて、さまざまな実装形態は、まず、メッセージが感情を含むかどうかを判断する。メッセージが感情を含む場合、特徴量抽出器を使用してメッセージから特徴量が抽出される。各特徴量は、メッセージに含まれる単語または句と、肯定的または否定的な感情の度合いを示す重みとを含む。より具体的には、特徴量抽出器は、肯定的または否定的な感情を有すると各々がラベル付けされた訓練用メッセージを用いて訓練される。次に、さらに後述するが、感情分類器が、抽出された特徴量を入力として使用し、メッセージの肯定的または否定的な感情の度合いを表すスコアを決定する。
【００１７】
図１において、感情識別器１３５は、メッセージが感情を含むかどうかを分類するソフトウェアコンポーネントである。メッセージは、たとえば、１つ以上の単語から構成され得る。メッセージに含まれる各単語は、メッセージにおいてスペースまたは他の区切り文字（たとえば、句読点）によって分けられた文字列（たとえば、文字、数字、記号、Ｕｎｉｃｏｄｅ顔文字、または絵文字を含む）であり得る。単語および区切り文字に加えて、メッセージは、画像、音声、映像などのメディアも含み得る。メディアは、所々に単語が入れられるまたは単語とは別のメッセージに添付され得る。感情識別器１３５は、肯定的または否定的な感情を示す少なくとも１つの単語をメッセージが含むと判断した場合、このメッセージが感情を含むと識別する。たとえば、肯定的な感情を表す単語は、ｈａｐｐｙ、ａｍａｚｉｎｇ、ｇｒｅａｔ、ｐｅａｃｅ、ｗｏｗ、およびｔｈａｎｋを含み得る。否定的な感情を表す単語は、ｓａｄ、ｓｉｇｈ、ｃｒａｚｙ、ｌｏｗ、ｓｏｒｅ、およびｗｅａｋを含み得る。肯定的または否定的な感情を表す単語の他の例も可能である。たとえば、肯定的または否定的な感情を表す単語は、Ｕｎｉｃｏｄｅ顔文字または絵文字であり得る。別の例として、肯定的または否定的な感情を表す単語は、「ｐｌｅｅｅｅａｓｅ」（「ｐｌｅａｓｅ」を誇張した形）など、正しい綴りからの２回以上繰り返される文字を含み得る。肯定的または否定的な感情を表す単語は、この単語を略語化もしくは短縮した単語であり得る。（たとえば、「ｋｉｃｋｉｎｇ」に対して、「ｋｉｃｋｎ」または「ｋｉｃｋｉｎ」）肯定的または否定的な感情を表す単語は、「！！」、「？？？」、および「！＠＃＄」など、２つ以上の連続した記号または句読点を含むテキスト文字列であり得る。肯定的または否定的な感情を表す単語は、チャット語の単語であり得る（たとえば、俗語、略語化もしくは短縮された単語、またはアルファベットの組み合わせ、数字、記号、または絵文字）。
【００１８】
類似性特徴量抽出器１３６は、メッセージが感情を含む、と感情識別器１３５が分類した後に、このメッセージから特徴量を抽出するソフトウェアコンポーネントである。各特徴量は、メッセージに含まれる単語と、単語の感情の程度を表す重みとを含む。また、特徴量は、メッセージに含まれる句（たとえば、２つ以上の連続した単語）と、句の感情の度合いを表す重みとを含み得る。感情の程度は、たとえば、＋１と−１との間の実数であり得る。正数（たとえば、０．７）は、肯定的な感情を示し得、負数（たとえば、−０．４）は、否定的な感情を示し得る。より大きな正数（しかし、＋１以下）は、より大きな度合いの肯定的な感情を示す。より大きな負数（しかし、−１以上）は、より大きな度合いの否定的な感情を示す。たとえば、（メッセージの）特徴量は、単語「ｇｏｏｄ」（または、句「ｎｉｃｅ  ａｎｄ  ｅａｓｙ」）で有り得、その感情の度合いは０．５であり、肯定的な感情を示す。特徴量は、単語「ｅｘｃｅｌｌｅｎｔ」（または、句「ｏｕｔｓｔａｎｄｉｎｇ  ｅｆｆｏｒｔ」）で有り得、その感情の度合いは０．８であり、単語「ｇｏｏｄ」（または、句「ｎｉｃｅ  ａｎｄ  ｅａｓｙ」）の肯定的な感情よりも高い度合いの肯定的な感情を示す。特徴量は、単語「ｎａｈ」（または、句「ｓｏ  ｓｏ」）で有り得、その感情の度合いは−０．２であり、否定的な感情を示す。特徴量は、単語「ｓａｄ」（または、句「ｄｏｗｎ  ｉｎ  ｄｕｍｐｓ」）で有り得、その感情の度合いは−０．７であり、単語「ｎａｈ」（または、句「ｓｏ  ｓｏ」）の否定的な感情よりも高い度合いの否定的な感情を示す。
【００１９】
類似性特徴量抽出器１３６は、メッセージから特徴量を抽出するために、機械学習モデルを使用できる。機械学習モデルは、たとえば、訓練用メッセージのセットを用いて訓練され得る。訓練用メッセージのセットは、たとえば、肯定的または否定的な感情を有すると各々が（たとえば、フラグを用いて）ラベル付けされたチャットメッセージのセット（たとえば、チャットデータ・データベース１５４からの１０，０００通のチャットメッセージ）であり得る。たとえば、「Ｉｔ’ｓ  ａ  ｓｕｎｎｙ  ｄａｙ」、「ｌｅｔ’ｓ  ｇｏ」、または「ｃｏｏｌ、ｄｕｄｅ」などの訓練用メッセージは、肯定的な感情を有するとラベル付けされ得る。「ｎｏ  ｇｏｏｄ」、「ｉｔ’ｓ  ｇｌｏｏｍｙ  ｏｕｔｓｉｄｅ」、または「：−（」などの訓練用メッセージは、否定的な感情を有するとラベル付けされ得る。訓練用メッセージは、感情を有さないとラベル付けされ得る。たとえば、「Ｉｔ’ｓ  ｔｅｎ  ａｆｔｅｒ  ｎｉｎｅ」または「ｔｕｒｎ  ｒｉｇｈｔ  ａｆｔｅｒ  ｙｏｕ  ｐａｓｓ  ｔｈｅ  ｇａｓ  ｓｔａｔｉｏｎ」などの訓練用メッセージは、感情を有さないとラベル付けされ得る。訓練用メッセージのセットは、たとえば、訓練データ・データベース１５６に格納され得る。さまざまな実装形態において、肯定的な感情を有する、否定的な感情を有する、または感情を有さないと訓練用メッセージをラベル付けするために、数値を使用できる。たとえば、＋１、０、および−１を使用して、肯定的な感情を有する、感情を有さない、否定的な感情を有する、と訓練用メッセージをそれぞれラベル付けできる。別の例として、＋２、＋１、０、−１、−２を使用して、極めて肯定的な感情を有する、肯定的な感情を有する、感情を有さない、否定的な感情を有する、極めて否定的な感情を有する、と訓練用メッセージをそれぞれラベル付けできる。
【００２０】
このように、類似性特徴量抽出器１３６は、訓練用メッセージからの学習に基づいて、メッセージに含まれる特定の単語または句に関連する特定の特徴量、および感情の度合いをメッセージから抽出できる。より具体的には、感情の度合いは、メッセージに含まれる特定の単語が、肯定的または否定的な感情を有すると各々がラベル付けされた訓練用メッセージに含まれる単語にどのくらい類似しているかを表し得る。
【００２１】
例示として、ベクトルが、単語、句、メッセージ（文）、または文書の数値表現であり得ると想定する。たとえば、メッセージｍ１「Ｃａｎ  ｏｎｅ  ｄｅｓｉｒｅ  ｔｏｏ  ｍｕｃｈ  ａ  ｇｏｏｄ  ｔｈｉｎｇ？」およびｍ２「Ｇｏｏｄ  ｎｉｇｈｔ、ｇｏｏｄ  ｎｉｇｈｔ！  Ｐａｒｔｉｎｇ  ｃａｎ  ｂｅ  ｓｕｃｈ  ａ  ｓｗｅｅｔ  ｔｈｉｎｇ」は、以下のように、特徴量空間の行列に配置され得る（ｃａｎ、ｏｎｅ、ｄｅｓｉｒｅ、ｔｏｏ、ｍｕｃｈ、ａ、ｇｏｏｄ、ｔｈｉｎｇ、ｎｉｇｈｔ、ｐａｒｔｉｎｇ、ｂｅ、ｓｕｃｈ、ｓｗｅｅｔ）。
【００２２】
【表１】
2019507423.tif 000003
【００２３】
この例において、上記ベクトルにおける特定の単語の大きさは、メッセージおける特定の単語の出現数に対応し得る。たとえば、メッセージｍ１に含まれる単語「ｇｏｏｄ」は、ベクトル［００００００１００００００］によって表され得る。メッセージｍ２に含まれる単語「ｇｏｏｄ」は、ベクトル［００００００２００００００］によって表され得る。メッセージｍ１に含まれる単語「ｎｉｇｈｔ」は、ベクトル［０００００００００００００］によって表され得る。メッセージｍ２に含まれる単語「ｎｉｇｈｔ」は、ベクトル［００００００００２００００］によって表され得る。メッセージｍ１は、ベクトル［１１１１１１１１０００００］によって表され得る。メッセージｍ２は、ベクトル［１００００１２１２１１１１］によって表され得る。単語ベクトルを使用したメッセージ（または、文書）の他の表現も可能である。たとえば、メッセージは、このメッセージに含まれるすべての単語の和ではなく、メッセージに含まれるすべての単語のベクトルの平均（「平均表現ベクトル」）によって表され得る。
【００２４】
類似性特徴量抽出器１３６によって抽出された感情の度合いは、特定の単語を表すベクトルＡと、肯定的または否定的な感情を有するとラベル付けされた訓練用メッセージに含まれる単語を表す別のベクトルＢとの間のコサイン距離またはコサイン類似度に対応し得る。
【００２５】
【数１】
2019507423.tif 000004
【００２６】
コサイン類似度とは、ベクトルＡとＢとのドット積を、ベクトルＡおよびＢのそれぞれの大きさによって除算したものである。つまり、コサイン類似度とは、Ａの単位ベクトル（Ａ／‖Ａ‖）とＢの単位ベクトル（Ｂ／‖Ｂ‖）とのドット積である。ベクトルＡおよびＢは、特徴量空間におけるベクトルである。特徴量空間では、各次元は、訓練用メッセージに含まれる単語に対応する。たとえば、肯定的な感情を有するとラベル付けされた訓練用メッセージにある単語のクラスタをベクトルＢが表すと想定する。＋１に近い正のコサイン類似度の値は、特定の単語が、肯定的な感情を有するとラベル付けされた訓練用メッセージに含まれる単語に（特徴量空間において）非常に類似しているという点で、より高い程度の肯定的な感情を有することを示す。正であるが０に近い値は、特定の単語が、肯定的な感情を有するとラベル付けされた訓練用メッセージに含まれる単語に（特徴量空間において）あまり類似していないという点で、より低い程度の肯定的な感情を有することを示す。同じように、否定的な感情を有するとラベル付けされた訓練用メッセージにある単語のクラスタをベクトルＢが表すと想定する。＋１に近い正のコサイン類似度の値は、特定の単語が、否定的な感情を有するとラベル付けされた訓練用メッセージに含まれる単語に非常に（特徴量空間において）類似しているという点で、より高い程度の否定的な感情を有することを示す。正であるが０に近い値は、特定の単語が、否定的な感情を有するとラベル付けされた訓練用メッセージに含まれる単語に（特徴量空間において）あまり類似していないという点で、より低い程度の否定的な感情を有することを示す。メッセージに含まれる特定の単語または句と訓練用メッセージに含まれる単語との類似性の他の表現も可能である。
【００２７】
類似性特徴量抽出器１３６は、たとえば、人工ニューラルネットワークモデルを機械学習モデルとして使用して、訓練用メッセージのセットを用いて人工ニューラルネットワークモデルを訓練できる。メッセージから特徴量を抽出するための他の機械学習モデルも可能である。人工ニューラルネットワークモデルは、たとえば、相互接続するノードのネットワークを含む。各ノードは、１つ以上の入力と、１つの出力とを含み得る。各入力には、入力の影響を調整する（たとえば、増幅または減衰させる）重みが割り当てられ得る。ノードは、入力に基づいて、出力を演算できる（たとえば、出力を、すべての入力の重み付き和として計算する）。人工ニューラルネットワークモデルは、ノードからなるいくつかの層を含み得る。ノードからなる第１層が、メッセージからの入力を受け取り、ノードからなる第２層への入力として出力を行い、次に、第２層が、ノードからなる次の層に出力を行い、以下同様である。ノードからなる最後の層は、前述したように、メッセージからの単語および感情の度合いに関連する特徴量という形で、人工ニューラルネットワークモデルの出力を行う。類似性特徴量抽出器１３６は、訓練用メッセージ（各々は、特徴量空間のベクトルとして表され、アルゴリズムへの入力として、肯定的または否定的な感情を有するとラベル付けされ得る）のセットを用いて人工ニューラルネットワークモデルを実装するアルゴリズムを実行（たとえば、アルゴリズムの動作を実行）できる。類似性特徴量抽出器１３６は、人工ニューラルネットワークモデルにおけるノードの重みが判断されるまで、たとえば、平均二乗誤差関数などのコスト関数を最小化する反復の後、各重みの値が所定の閾値に収束するまで、アルゴリズムを実行（つまり、訓練）できる。たとえば、平均二乗誤差関数は、重みの推定誤差のそれぞれの二乗の和の平均であり得る。
【００２８】
感情分類器１４０は、類似性特徴量抽出器１３６によってメッセージから抽出された特徴量を入力として使用し、メッセージの肯定的または否定的な感情の度合いのスコアを決定するソフトウェアコンポーネントである。感情の度合いのスコア（たとえば、浮動小数点数）は、たとえば、−１と１との間であり得、正のスコアは、肯定的な感情を有するメッセージを示し、負のスコアは、否定的な感情を有するメッセージを示す。たとえば、感情分類器１４０は、テキスト文字列「ｔｈｉｓ  ｉｓ  ｎｏｔ  ｇｏｏｄ」については、−０．６というスコアを決定し、別のテキスト文字列「ｅｘｃｅｌｌｅｎｔ！！！」については、＋０．９というスコアを決定することができる。さまざまな実装形態において、メッセージの肯定的または否定的な感情の度合いは、肯定的または否定的な感情のクラスまたはカテゴリとして表現され得る。たとえば、感情のカテゴリは、「非常に肯定的」、「肯定的」、「なし」、「否定的」、および「非常に否定的」であり得る。各カテゴリは、たとえば、感情分類器１４０によって決定されたスコアの範囲に対応し得る。
【００２９】
より具体的には、感情分類器１４０は、類似性特徴量抽出器１３６を訓練するために使用された訓練用メッセージの同じセットから類似性特徴量抽出器１３６によって抽出された特徴量を用いて訓練される機械学習モデルであり得る。感情分類器１４０の機械学習モデルは、ランダムフォレストモデル、ナイーブベイズ（ｎａｉｖｅ  Ｂａｙｅｓ）モデル、またはサポートベクターマシンモデルであり得る。感情分類器１４０の他の機械学習モデルも可能である。
【００３０】
ランダムフォレストモデルは、決定木のセット（「アンサンブル」）を含む。各決定木は、根ノードから広がるノードを有する木グラフ構造であり得る。各ノードは、特定の属性を有するターゲット値を決定（予測）できる。属性（ノードによって決定された）は、単語パターン（たとえば、すべて大文字、すべて数字および記号の単語、または文字と数字を合わせたもの）、単語タイプ（たとえば、否定を表す単語、感嘆詞である単語）、Ｕｎｉｃｏｄｅ顔文字もしくは絵文字、チャット語の単語、長く伸ばされた単語（たとえば、「ｐｌｅｅｅｅａｓｅ」）、またはｎ個の項目の連続するシーケンス（ｎ−ｇｒａｍ）であり得る。他の属性も可能である。決定木セットの各決定木によって判断された属性は、ランダムに分散している。感情分類器１４０は、アルゴリズムへの入力として訓練用の特徴量を用いてランダムフォレストモデルを実装するアルゴリズムを実行できる。前述のとおり、訓練用の特徴量は、類似性特徴量抽出器１３６を訓練するために使用された訓練用メッセージの同じセットから類似性特徴量抽出器１３６によって抽出済みである。感情分類器１４０は、貪欲法などの発見的方法を使用してモデルの決定木構造を判断するために、このアルゴリズムを実行（つまり、訓練）できる。
【００３１】
ナイーブベイズモデルは、以下のように、複数（ｄ）の特徴量（ｘｉ）の関数ｐとして、特定のラベルまたはカテゴリｙの確率を計算する。
【００３２】
【数２】
2019507423.tif 000005
【００３３】
ここで、ラベルｙは、「肯定的な感情」または「否定的な感情」など、感情のカテゴリであり得る。ｘｊは、前述したように類似性特徴量抽出器１３６によって抽出された特徴量であり得る。ｑ（ｙ）は、ラベルｙを見るパラメータまたは確率である。ｑｊ（ｘｊ｜ｙ）は、ラベルｙが与えられた場合のｘｊのパラメータまたは条件付き確率である。感情分類器１４０は、訓練用の特徴量を用いてナイーブベイズモデルを実装するためのアルゴリズムを実行できる。前述のとおり、訓練用の特徴量は、類似性特徴量抽出器１３６を訓練するために使用された訓練用メッセージの同じセットから類似性特徴量抽出器１３６によって抽出済みである。感情分類器１４０は、たとえば、このモデルに含まれるこれらのパラメータの各々値が所定の閾値に収束するまで反復することによってパラメータを判断するために、このアルゴリズムを実行（つまり、訓練）できる。
【００３４】
サポートベクターマシンモデルは、以下のように、最適化問題を解決する。
【００３５】
【数３】
2019507423.tif 000006
【００３６】
ここで、ｙｉは、「肯定的な感情」または「否定的な感情」などのラベルまたはカテゴリであり、ｘｊは、前述の類似性特徴量抽出器１３６によって抽出された特徴量である。Ｗは、異なるラベルの特徴量を分ける超平面を表し得る重みベクトル（たとえば、法線ベクトル）のセットである。感情分類器１４０は、訓練用の特徴量を用いてサポートベクターマシンモデルを実装するアルゴリズムを実行できる。前述のとおり、訓練用の特徴量は、類似性特徴量抽出器１３６を訓練するために使用された訓練用メッセージの同じセットから類似性特徴量抽出器１３６によって抽出済みである。感情分類器１４０は、たとえば、勾配降下法を使用して最適化問題（たとえば、超平面を判断する）を解決するために、このアルゴリズムを実行（つまり、訓練）できる。
【００３７】
類似性特徴量抽出器１３６によって抽出されたメッセージの特徴量をメッセージの感情を判断する際に入力として使用することに加えて、感情分類器１４０は、メッセージの感情を判断するために、メッセージから抽出された他の特徴量を使用できる。感情特徴量抽出器１３８は、メッセージの感情特徴量を抽出するソフトウェアコンポーネントである。感情特徴量抽出器１３８は、たとえば、メッセージに含まれる単語、記号、バイアスがかかった単語（たとえば、否定的な単語）、Ｕｎｉｃｏｄｅ顔文字、または絵文字の数に基づいて、メッセージの特徴量を抽出できる。他の特徴量も可能である。たとえば、感情特徴量抽出器１３８は、メッセージにおける、仮定を表す単語（たとえば、ｓｈｏｕｌｄ、ｍａｙ、ｗｏｕｌｄ）または強意語（たとえば、ｖｅｒｙ、ｆｕｌｌｙ、ｓｏ）と、肯定的または否定的な感情を表す別の単語（たとえば、ｇｏｏｄ、ｈａｐｐｙ、ｓａｄ、ｌｏｕｓｙ）との距離（たとえば、単語数）に基づいて、メッセージの特徴量を抽出できる。感情特徴量抽出器１３８は、メッセージに含まれる、肯定的または否定的な感情（たとえば、「ｎｏｔ  ｇｏｏｄ」、「ｈｏｌｙ  ｃｏｗ」、または「ｉｎ  ｎｏ  ｗａｙ」）を表す連続する単語（たとえば、ｍ個の連続した単語またはｍ−ｇｒａｍ）に基づいて、メッセージの特徴量を抽出できる。感情特徴量抽出器１３８は、メッセージに含まれる、正しい綴りからの２回以上繰り返される文字（たとえば、「ｇｒｅａｔ」を誇張した形の「ｇｒｅｅｅｅａｔ」）を含む単語に基づいて、このメッセージの特徴量を抽出できる。さまざまな実装形態において、感情特徴量抽出器１３８によって抽出された特徴量は、単語または句と、感情の度合いを示す重み（数字）とを含み得る。
【００３８】
サーバシステム１２２は、上述の特徴量抽出器および感情分類器を使用して、チャットメッセージなどのメッセージにおける感情を判断できる。図２は、メッセージにおける感情を判断するための例示的な方法のフローチャートである。たとえば、チャットホスト１３４は、メッセージを受信できる（ステップ２０２）。感情識別器１３５は、メッセージが感情を含むかどうかを判断する（ステップ２０４）。前述のとおり、肯定的または否定的な感情を表す単語をメッセージが少なくとも含む場合、感情識別器１３５は、このメッセージが感情を含むと判断できる。肯定的または否定的な感情がメッセージに見つかると、類似性特徴量抽出器１３６および感情特徴量抽出器１３８は、メッセージから１つ以上の特徴量を抽出できる（ステップ２０６）。次に、感情分類器１４０は、類似性特徴量抽出器１３６および感情特徴量抽出器１３８によって抽出された特徴量に基づいて、肯定的または否定的な感情の度合いのスコアを決定する（ステップ２０８）。次に、感情分類器１４０は、スコアをサーバシステム１２２に提供する（ステップ２１２）。たとえば、感情分類器１４０は、サーバシステム１２２の調査ソフトウェアコンポーネントにスコアを提供できる。スコアが閾値を超える場合（たとえば、０．８よりも大きい、または−０．８未満）、調査ソフトウェアコンポーネントは、調査の質問をメッセージの書き手に対して投稿できる。メッセージが感情を含んでいないと感情識別器１３５が判断した場合、感情識別器１３５は、このメッセージには感情がないことを示すスコア（たとえば、０）に決定できる（２１０）。感情識別器１３５は、たとえば、調査ソフトウェアコンポーネントにスコアを提供できる。
【００３９】
図３は、メッセージにおける感情を判断するための別の例示的な方法のフローチャートである。方法は、たとえば、サーバシステム１２２のソフトウェアコンポーネントを使用して実現され得る。方法は、ユーザによって書かれたメッセージを受信するステップによって開始する（ステップ３０２；たとえば、チャットホスト１３４）。方法は、第１の分類器（たとえば、感情識別器１３５）を使用して、肯定的または否定的な感情を表す第１の単語をメッセージが少なくとも含むと判断する（ステップ３０４）。メッセージが肯定的または否定的な感情を表す単語を含む場合、方法は、第１の特徴量抽出器（たとえば、類似性特徴量抽出器１３６）を使用して、メッセージの１つ以上の特徴量を抽出する（ステップ３０６）。各抽出された特徴量は、メッセージに含まれる単語と、肯定的または否定的な感情の度合いを表す重みとを含む。方法は、抽出された特徴量を入力として使用する第２の分類器（たとえば、感情分類器１４０）を使用して、テキスト文字列の肯定的または否定的な感情の度合いを表すスコアを決定する（ステップ３０８）。なお、第１の特徴量抽出器は、肯定的または否定的な感情を有すると各々がラベル付けされた訓練用メッセージのセットを用いて訓練済みである。
【００４０】
本明細書に記載の発明の主題および機能的動作の実装形態は、本明細書に開示の構造およびそれらの構造的均等物を含む、デジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェア、またはそれらのうちの１つ以上の組み合わせで実現され得る。本明細書に記載の発明の主題の実装形態は、１つ以上のコンピュータプログラムとして実現され得る。つまり、データ処理装置によって実行するためにコンピュータ記憶媒体上に符号化されたまたはデータ処理装置の動作を制御するためのコンピュータプログラム命令の１つ以上のモジュールとして実現され得る。これに代えて、またはこれに加えて、プログラム命令は、データ処理装置によって実行するのに適した受信装置に送信するための情報を符号化するために生成された人為的に生成された伝播信号、たとえば、機械生成される電気信号、光信号、または電磁信号上に符号化され得る。コンピュータ記憶媒体は、コンピュータ読み取り可能な記憶装置、コンピュータ読み取り可能な記憶基板、ランダムもしくはシリアルアクセスメモリアレイまたはメモリ素子、またはそれらのうちの１つ以上の組み合わせであり得る、またはそれらに含まれ得る。また、コンピュータ記憶媒体は、伝播信号ではないが、コンピュータ記憶媒体は、人為的に生成された伝播信号に符号化されたコンピュータプログラム命令の送信元または宛先であり得る。コンピュータ記憶媒体は、１つ以上の別々の物理コンポーネントまたは媒体（たとえば、複数のＣＤ、ディスク、またはその他の記憶装置）であり得るまたはそれに含まれ得る。
【００４１】
本明細書に記載の動作は、１つ以上のコンピュータ読み取り可能な記憶装置上に格納されたまたはその他の送信元から受信されたデータに対してデータ処理装置が行う動作として実現され得る。
【００４２】
用語「データ処理装置」は、一例として、プログラマブルプロセッサ、コンピュータ、ＳｏＣ（ｓｙｓｔｅｍ  ｏｎ  ａ  ｃｈｉｐ）、または前述のうちの複数もしくは組み合わせを含む、データを処理するためのあらゆる種類の装置、機器、および機械を包含する。装置は、専用の論理回路、たとえば、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）またはＡＳＩＣ（特定用途向け集積回路）を含めることができる。また、装置は、ハードウェアに加えて、当該コンピュータプログラムの実行環境を作るコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時環境、仮想マシン、またはそれらのうちの１つ以上の組み合わせを構成するコードを含めることができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッド・コンピューティングインフラストラクチャなど、さまざまな異なるコンピューティングモデル・インフラストラクチャを実現できる。
【００４３】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる）は、コンパイラ言語もしくはインタプリタ言語、宣言型言語もしくは手続き型言語など、任意の形式のプログラミング言語で書かれ得、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境で使用するのに適したその他の構成単位としてなど、任意の形態にデプロイされ得る。コンピュータプログラムは、ファイルシステムにおけるファイルに相当し得るが、そうである必要はない。プログラムは、その他のプログラムまたはデータ（たとえば、マークアップ言語のリソースに格納された１つ以上のスクリプト）を保持するファイルの一部、当該プログラムに専用の１つのファイル、または複数の連携ファイル（たとえば、１つ以上のモジュール、サブプログラム、またはコードの部分を格納するファイル）に格納され得る。コンピュータプログラムは、１つコンピュータ上、または１つのサイトもしくは複数のサイトにまたがって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるようにデブロイされ得る。
【００４４】
本明細書に記載のプロセスおよび論理フローは、入力データを操作するおよび出力を生成することによってアクションを行うために、１つ以上のコンピュータプログラムを１つ以上のプログラム可能なプロセッサが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）またはＡＳＩＣ（特定用途向け集積回路）によって実行され得、装置は、このような専用の論理回路として実現され得る。
【００４５】
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用および特定用途向けマイクロプロセッサの両方、および任意の種類のデジタルコンピュータの１つ以上のプロセッサを含む。一般に、プロセッサは、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、またはその両方から命令およびデータを受け取る。コンピュータの必須の構成要素は、命令に応じてアクションを行うためのプロセッサと、命令およびデータを格納するための１つ以上のメモリ素子である。一般に、コンピュータは、データを格納するための１つ以上の大容量記憶装置、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを備える、または、このような１つ以上の大容量記憶装置との間でデータの受信、送信、もしくはその両方を行うために操作可能に接続される。しかしながら、コンピュータは、このような機器を有する必要はない。また、コンピュータは、別の機器、たとえば、一例を挙げると、スマートフォン、スマートウォッチ、携帯オーディオもしくはビデオプレーヤ、ゲーム機、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信機、またはポータブル記憶装置（たとえば、ＵＳＢ（ユニバーサルシリアルバス）フラッシュドライブ）に組み込まれ得る。コンピュータプログラム命令およびデータを格納するのに適したデバイスは、全ての形態の不揮発性メモリ、媒体、およびメモリ素子を含み、一例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ素子などの半導体メモリ素子、内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクなどが挙げられる。プロセッサおよびメモリは、専用の論理回路によって補われ得るまたはこれに内蔵され得る。
【００４６】
ユーザとのやり取りを行うために、本明細書に記載の本発明の主題の実装形態は、ブラウン管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）モニタなど、ユーザに情報を表示するためのディスプレイ装置と、マウスまたはトラックボールなど、ユーザがコンピュータに入力を行えるキーボードおよびポインティングデバイスとを有するコンピュータ上に実現され得る。ユーザとのやり取りを行うために、その他の種類のデバイスを使用することもできる。たとえば、ユーザに返されるフィードバックは、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形式の感覚フィードバックで有り得、ユーザからの入力は、音響入力、音声入力、触覚入力を含む、任意の形式で受信され得る。これに加えて、コンピュータは、ユーザが使用する機器とリソースを送受信することによって、たとえば、ユーザのクライアント装置上のウェブブラウザから受信した要求に応答してこのウェブブラウザにウェブページを送信することによって、ユーザとやり取りすることができる。
【００４７】
本明細書に記載の本発明の主題の実装形態は、データサーバなど、バックエンド・コンポーネントを備えるコンピュータシステム、アプリケーションサーバなど、ミドルウェア・コンポーネントを備えるコンピュータシステム、本明細書に記載の本発明の主題の実施形態とユーザがやり取りできるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータなど、フロントエンド・コンポーネントを備えるコンピュータシステム、または、１つ以上のこのようなバックエンド・コンポーネント、ミドルウェア・コンポーネント、フロントエンド・コンポーネントの任意の組み合わせを備えるコンピュータシステムで実現され得る。システムの構成要素は、通信ネットワークなど、デジタルデータ通信の任意の形態または媒体によって相互接続され得る。通信ネットワークは、ローカルエリアネットワーク（「ＬＡＮ」）およびワイドエリアネットワーク（「ＷＡＮ」）、インターネットワーク（たとえば、インターネット）、ならびにピアツーピアネットワーク（たとえば、アドホック・ピアツーピアネットワーク）などがある。
【００４８】
コンピュータシステムは、クライアントとサーバとを含めることができる。クライアントおよびサーバは、一般に、互いから離れており、通常、通信ネットワークを通じてやり取りを行う。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、互いにクライアントとサーバとの関係を有するコンピュータプログラムによって成り立つ。いくつかの実装形態において、サーバは、クライアントデバイスにデータ（たとえば、ＨＴＭＬページ）を送信する（たとえば、クライアントデバイスとやり取りしているユーザにデータを表示する、またはこのユーザからのユーザ入力を受信する目的のために）。クライアントデバイスにおいて生成されたデータ（たとえば、ユーザインタラクションの結果）は、サーバにおいて、クライアントデバイスから受信され得る。
【００４９】
１つ以上のコンピュータからなるシステムは、システムに特定の動作またはアクションを動作中に行わせるソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせをシステム上にインストールさせることによって、アクションを行うように構成され得る。１つ以上のコンピュータプログラムは、命令を含むことによって、特定の動作またはアクションを行うように構成され得、当該命令は、データ処理装置によって実行されると、装置にアクションを行わせる。
【００５０】
本明細書は、多くの具体的な実装形態の詳細を含むが、これらは、発明または請求の範囲の限定として解釈されるべきではなく、むしろ、特定の発明の特定の実装形態に特有の特徴の説明であると解釈されるべきである。別々の実装形態の枠内で本明細書に記載されたいくつかの特徴も、１つの実装形態に組み合わせて実現され得る。その逆に、１つの実装形態の枠内で記載されたさまざまな特徴は、別々の複数の実装形態または任意の適した部分的な組み合わせで実現され得る。また、特徴は、いくつかの組み合わせで動作するものとして上述され、そのように初めに特許請求され得たが、特許請求された組み合わせからの１つ以上の特徴は、場合によっては、組み合わせから削除され得、特許請求された組み合わせは、部分的な組み合わせまたは部分的な組み合わせの変形例を対象としてもよい。
【００５１】
同様に、動作を特定の順番で図面に示したが、所望の結果を実現するために、このような動作が示された特定の順番または順序で行われる必要がある、または、図示した動作のすべてが行われる必要があると理解されるべきではない。いくつかの状況では、多重タスク処理および並列処理が有利である場合がある。また、上述の実装形態におけるさまざまなシステム構成要素を分離することは、すべての実装形態においてこのような分離が必要であると理解されるべきではなく、記載のプログラムコンポーネントおよびシステムは、一般に、１つのソフトウェアプロダクトに一体化され得るまたは複数のソフトウェアプロダクトにパッケージ化され得ると理解されるべきである。
【００５２】
このように、本発明の主題についての具体的な実装形態を説明した。その他の実装形態は、添付の特許請求の範囲に含まれる。場合によっては、請求項に記載されたアクションは、異なる順序で実行され得、それでもなお所望の結果を実現し得る。これに加えて、添付の図面に示したプロセスは、所望の結果を実現するために必ずしも図示した特定の順番または順序である必要はない。いくつかの実装形態において、多重タスク処理および並列処理が有利である場合がある。
【図１】
2019507423.tif 000007
【図２】
2019507423.tif 000008
【図３】
2019507423.tif 000009
【国際調査報告】
2019507423.tif 000010
2019507423.tif 000011
2019507423.tif 000012