(57)【特許請求の範囲】
【請求項１】
ソーシャルフィードを翻訳するための方法であって、
クライアントにソーシャルフィードを第１の言語で表示させるよう構成されたソーシャルフィードデータ、および、第１のユーザからの翻訳リクエストを受信することと、
翻訳のためのソーシャルコンテキストを決定することと、ここで、該ソーシャルコンテキストは、第２のユーザが前記ソーシャルフィードデータに関連しているということを含み、該第２のユーザは、ソーシャルネットワークにおける前記第１のユーザと他のユーザとの関係を少なくとも示すソーシャルグラフにおいて前記第１のユーザに関係付けられており、
少なくとも部分的に前記翻訳リクエスト及び前記ソーシャルコンテキストに基づいて、前記ソーシャルフィードデータが前記クライアントに前記ソーシャルフィードを第２の言語で表示させるよう、前記ソーシャルフィードデータを翻訳することと、
翻訳された前記ソーシャルフィードデータを前記クライアントに送信することと、
からなる方法。
【請求項２】
前記クライアントは、ブラウザ、および、前記ソーシャルフィードを表示し前記翻訳されたソーシャルフィードデータを受信する表示アプリケーションのうちの少なくとも１つを含む請求項１に記載の方法。
【請求項３】
前記翻訳リクエストは、前記ソーシャルフィードの一部のみが翻訳されるべきという第１の指示と、前記ソーシャルフィードのどの部分が翻訳されるべきかという第２の指示とを含むサブセットコマンドである請求項１又は２に記載の方法。
【請求項４】
前記第２の言語は、前記第１のユーザに関連した前記クライアントのインターネットプロトコルアドレスに基づいて特定される請求項１乃至３のいずれかに記載の方法。
【請求項５】
前記翻訳のためのソーシャルコンテキストを決定することが、前記翻訳をリクエストした前記第１のユーザの１または複数の行動、および、該１または複数の行動において前記第１のユーザによって使用された言語を特定することを含む請求項１乃至４のいずれかに記載の方法。
【請求項６】
前記翻訳のためのソーシャルコンテキストを決定することが、前記翻訳をリクエストした前記第１のユーザの１または複数の関係者を特定し、かつ該１または複数の関係者によって使用された言語を特定することを含む請求項１乃至４のいずれかに記載の方法。
【請求項７】
前記翻訳されたソーシャルフィードデータにおいて、クライアントに前記ソーシャルフィードが翻訳されたことを示すグラフィックを発生させるグラフィカルデータをエンコードするステップを更に含む請求項１乃至６のいずれかに記載の方法。
【請求項８】
コンピュータによって読み取り可能なプログラムであって、実行時に、
クライアントにソーシャルフィードを第１の言語で表示させるよう構成されたソーシャルフィードデータ、および、第１のユーザからの翻訳リクエストを受信するステップと、
翻訳のためのソーシャルコンテキストを決定するステップと、ここで、該ソーシャルコンテキストは、第２のユーザが前記ソーシャルフィードデータに関連しているということを含み、該第２のユーザは、ソーシャルネットワークにおける前記第１のユーザと他のユーザとの関係を少なくとも示すソーシャルグラフにおいて前記第１のユーザに関係付けられており、
少なくとも部分的に前記翻訳リクエスト及び前記ソーシャルコンテキストに基づいて、前記ソーシャルフィードデータが前記クライアントに前記ソーシャルフィードを第２の言語で表示させるよう、前記ソーシャルフィードデータを翻訳するステップと、
翻訳された前記ソーシャルフィードデータを前記クライアントに送信するステップと
を前記コンピュータに行わせるように構成されたコンピュータプログラム。
【請求項９】
前記クライアントは、ブラウザ、および、前記ソーシャルフィードを表示し前記翻訳されたソーシャルフィードデータを受信する表示アプリケーションのうちの少なくとも１つを含む請求項８に記載のコンピュータプログラム。
【請求項１０】
前記翻訳リクエストは、前記ソーシャルフィードの一部のみが翻訳されるべきという第１の指示と、前記ソーシャルフィードのどの部分が翻訳されるべきかという第２の指示とを含むサブセットコマンドである請求項８又は９に記載のコンピュータプログラム。
【請求項１１】
前記第２の言語は、前記第１のユーザに関連した前記クライアントのインターネットプロトコルアドレスに基づいて特定される請求項８乃至１０のいずれかに記載のコンピュータプログラム。
【請求項１２】
前記翻訳のためのソーシャルコンテキストを決定するステップが、前記翻訳をリクエストした前記第１のユーザの１または複数の行動、および、該１または複数の行動において前記第１のユーザによって使用された言語を特定することを含む請求項８乃至１１のいずれかに記載のコンピュータプログラム。
【請求項１３】
前記翻訳のためのソーシャルコンテキストを決定するステップが、前記翻訳をリクエストした前記第１のユーザの１または複数の関係者を特定し、かつ該１または複数の関係者によって使用された言語を特定することを含む請求項８乃至１１のいずれかに記載のコンピュータプログラム。
【請求項１４】
ソーシャルフィードを翻訳するためのシステムであって、
ネットワークを介してソーシャルネットワークアプリケーションに通信可能に接続されていて、クライアントにソーシャルフィードを第１の言語で表示させるよう構成されたソーシャルフィードデータ、および、ソーシャルネットワークアプリケーションにおける第１のユーザからの翻訳リクエストを受信する通信モジュールと、
前記通信モジュールに通信可能に接続されていて、翻訳のためのソーシャルコンテキストを決定するソーシャルコンテキストモジュールと、ここで、該ソーシャルコンテキストは、第２のユーザが前記ソーシャルフィードデータに関連しているということを含み、該第２のユーザは、ソーシャルネットワークにおける前記第１のユーザと他のユーザとの関係を少なくとも示すソーシャルグラフにおいて前記第１のユーザに関係付けられており、
前記通信モジュールに通信可能に接続されていて該通信モジュールから前記ソーシャルフィードデータを受信するデコード用のエンジンであって、前記ソーシャルフィードデータをデコードしてデコードされたソーシャルフィードデータを発生するよう構成されたデコード用のエンジンと、
前記通信モジュールおよび前記デコード用のエンジンに通信可能に接続されていて、前記通信モジュールから前記翻訳リクエストを受信し、前記デコード用のエンジンから前記デコードされたソーシャルフィードデータを受信するリエンコード用のエンジンであって、前記デコードされたソーシャルフィードデータをリエンコードし、少なくとも部分的に前記翻訳リクエスト及び前記ソーシャルコンテキストに基づいて、前記クライアントに前記ソーシャルフィードを第２の言語で表示させるよう構成されたリエンコード用のエンジンと
を具備し、前記通信モジュールは、更に、翻訳された前記ソーシャルフィードデータを前記クライアントに送信するよう構成されていることを特徴とするシステム。
【請求項１５】
前記クライアントは、ブラウザ、および、前記ソーシャルフィードを表示し前記翻訳されたソーシャルフィードデータを受信する表示アプリケーションのうちの少なくとも１つを含む請求項１４に記載のシステム。
【請求項１６】
前記翻訳リクエストは、前記ソーシャルフィードの一部のみが翻訳されるべきという第１の指示と、前記ソーシャルフィードのどの部分が翻訳されるべきかという第２の指示とを含むサブセットコマンドである請求項１４又は１５に記載のシステム。
【請求項１７】
前記第２の言語は、前記第１のユーザに関連した前記クライアントのインターネットプロトコルアドレスに基づいて特定される請求項１４乃至１６のいずれかに記載のシステム。
【請求項１８】
前記翻訳のためのソーシャルコンテキストを決定することが、前記翻訳をリクエストした前記第１のユーザの１または複数の行動、および、該１または複数の行動において前記第１のユーザによって使用された言語を特定することを含む請求項１４乃至１７のいずれかに記載のシステム。
【請求項１９】
前記翻訳のためのソーシャルコンテキストを決定することが、前記翻訳をリクエストした前記第１のユーザの１または複数の関係者を特定し、かつ該１または複数の関係者によって使用された言語を特定することを含む請求項１４乃至１７のいずれかに記載のシステム。
【請求項２０】
前記リエンコード用のエンジンに通信可能に接続されていて、前記翻訳されたソーシャルフィードデータにおいて、クライアントに前記ソーシャルフィードが翻訳されたことを示すグラフィックを発生させるグラフィックデータをエンコードするグラフィカルユーザインターフェースモジュールを更に具備した請求項１４乃至１９のいずれかに記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、“Feed Translation for a Social Network"(ソーシャルネットワークのためのフィード翻訳)というタイトルで20011年5月20日に出願された米国特許出願No.61/488,400、および、“Feed Translation for a Social Network"(ソーシャルネットワークのためのフィード翻訳)というタイトルで20011年9月13日に出願された米国特許出願No.13/231,270(その全内容は、その出典を記載することによって本明細書の一部とする)に対する米国特許法119(e)条に基づく優先権を主張するものである。
【背景技術】
【０００２】
本明細書は、機械翻訳用のシステムおよび方法に関する。特に、本明細書は、ソーシャルネットワークのためのフィードの翻訳に関する。
【０００３】
ソーシャルネットワークアプリケーションの人気が高まっている。ソーシャルネットワークのサービスは、世界中の数百万の人々にアピールする。これらのユーザは、多くの異なる言語で通信する。
【０００４】
ユーザは、クライアント装置に記憶されたブラウザまたはシン・クライアント(thin client)アプリケーションを使用して、ソーシャルネットワークアプリケーションにアクセスする。前記ソーシャルネットワークアプリケーションは、ユーザに、前記クライアント装置によって表示されるソーシャルフィード（ソーシャルネットワークにおけるフィード（feed：配信用コンテンツデータ、記事））を提供する。このフィードは、ユーザのアップデート、コメントおよびソーシャルネットワークに共通の他のコンテンツのようなコンテンツを含む。しばしば、このフィードは、前記ユーザによって使用されない言語でのコンテンツを含むことがある。例えば、ユーザはスペイン語を話すが、コンテンツは英語で表示されることがある。前記ユーザは、前記コンテンツを英語からスペイン語に翻訳させることを望む。しかし、既存の翻訳ソリューションは、多くの問題点を有する。
【０００５】
第一に、既存の翻訳ソリューションは、ソーシャルフィードにおけるすべてのコンテンツが翻訳されることを必要とする。しかしながら、ユーザは、しばしば、前記ソーシャルフィードの一部のみが翻訳されることを欲する。第二に、既存の翻訳ソリューションは、ユーザが好む言語に関する推定に基づいて前記ソーシャルフィードにおけるコンテンツを翻訳することができない。既存の翻訳ソリューションは、多くの他の問題点を有する。
【発明の概要】
【０００６】
本明細書で説明する技術は、少なくとも部分的に、ソーシャルネットワークのためのフィードを翻訳するためのシステムおよび方法を提供することによって、上記の従来の技術の問題点および限界を克服する。本発明のシステムは、通信モジュールと、デコード用のエンジンと、リエンコード用のエンジンとからなる。前記通信モジュールは、ソーシャルネットワークアプリケーションからソーシャルフィードデータおよびリクエストを受信する。前記ソーシャルフィードデータは、クライアントに、例えばブラウザまたは表示アプリケーションを介して、ソーシャルフィードを第1の言語で表示させるよう構成されている。前記リクエストは、前記ソーシャルフィードが第2の言語で表示されるべきことを含む。一実施の形態において、前記リクエストは、前記ソーシャルフィードの一部のみが翻訳されるべきという第1の指示と、前記ソーシャルフィードのどの部分が翻訳されるべきかという第2の指示とを含むサブセットコマンドを含む。
【０００７】
前記デコード用のエンジンは、前記ソーシャルフィードデータをデコードしてデコードされたソーシャルフィードデータを発生する。前記リエンコード用のエンジンは、前記デコードされたソーシャルフィードデータをリエンコードし、少なくとも部分的に前記リクエストに基づいて、前記クライアントに前記ソーシャルフィードを前記第2の言語で表示させる。前記通信モジュールは、前記翻訳されたソーシャルフィードデータを前記クライアントに送る。前記デコードおよびリエンコードはサーバ側で実行されるので、本明細書では、速い翻訳のための効率的で単純化した処理を説明する。
【０００８】
一実施の形態において、ソーシャルコンテキストモジュールは、前記リクエストを受信し、前記翻訳のためのソーシャルコンテキストを決定する。前記ソーシャルコンテキストモジュールは、前記リエンコード用のエンジンと通信して前記ソーシャルフィードデータが翻訳されるようにし、その結果、前記クライアントは、少なくとも部分的に前記リクエストおよび決定された前記ソーシャルコンテキストに基づいて、前記ソーシャルフィードを1または複数の第2の言語で表示させる。他の例において、前記ソーシャルコンテキストは、前記翻訳をリクエストしたユーザの1または複数の行動、および、該1または複数の行動において前記ユーザによって使用された言語を特定する。他の例において、前記ソーシャルコンテキストは、前記翻訳をリクエストしたユーザの1または複数の関係者および該1または複数の関係者によって使用された言語を特定することを含む。
【０００９】
グラフィカルユーザインターフェースモジュールは、前記翻訳されたソーシャルフィードデータにおいて、クライアントに前記ソーシャルフィードが翻訳されたことを示すグラフィックを発生させるグラフィックデータをエンコードする。
【００１０】
本明細書は、更に、クライアントにソーシャルフィードを第1の言語で表示させるよう構成され他ソーシャルフィードデータおよび翻訳リクエストを受信し、少なくとも部分的に前記リクエストに基づいて、前記ソーシャルフィードデータが前記クライアントに前記ソーシャルフィードを1または複数の第2の言語で表示させるよう前記ソーシャルフィードデータを翻訳することによって、ソーシャルフィードデータを翻訳する方法を含む。ある例において、ソーシャルフィードを翻訳するためのシステムは、ネットワークを介してソーシャルネットワークアプリケーションに通信可能に接続されていて、クライアントにソーシャルフィードを第1の言語で表示させるよう構成されたソーシャルフィードデータ、および、翻訳リクエストを、該ソーシャルフィードが第2の言語で表示されることをリクエストしたソーシャルネットワークアプリケーションから受信する通信モジュールと、前記通信モジュールに通信可能に接続されていて該通信ネットワークから前記ソーシャルフィードデータを受信するデコード用のエンジンであって、前記ソーシャルフィードデータをデコードしてデコードされたソーシャルフィードデータを発生するよう構成されたデコード用のエンジンと、前記通信モジュールおよび前記デコード用のエンジンに通信可能に接続されていて、前記通信モジュールから前記リクエストを受信し、前記デコード用のエンジンから前記デコードされたソーシャルフィードデータを受信するリエンコード用のエンジンであって、前記デコードされたソーシャルフィードデータをリエンコードし、少なくとも部分的に前記リクエストに基づいて、前記クライアントに前記ソーシャルフィードを前記第2の言語で表示させるよう構成されたリエンコード用のエンジンとを具備し、前記通信モジュールは、更に、翻訳された前記ソーシャルフィードデータを前記クライアントに送信するよう構成されていることを特徴とする。
【図面の簡単な説明】
【００１１】
本発明を、同様な参照番号が同様な構成要素を示す添付図面を参照して、限定的にではなく、例示的に説明する。
【００１２】
【図１】ソーシャルネットワークのためのフィードを翻訳するためのシステムの一実施の形態を示す高レベルブロック図。
【００１３】
【図２】翻訳モジュールの一実施の形態を示すブロック図。
【００１４】
【図３】ソーシャルネットワークのためのフィードを翻訳するための方法の一実施の形態を示すフロー図。
【００１５】
【図４】ソーシャルネットワークのためのフィードを翻訳するための方法の他の実施の形態を示すフロー図。
【００１６】
【図５】ソーシャルネットワークのためのフィードを翻訳するための方法の更に他の一実施の形態を示すフロー図。
【発明を実施するための形態】
【００１７】
ソーシャルネットワークのためのフィードを翻訳するためのシステムおよび方法を説明する。以下の説明においては、説明目的のために、本明細書を完全に理解できるよう、多くの具体的な詳細が記述されている。しかしながら、ここでの開示内容はこれらの具体的な詳細無しに実施可能である、ことが当業者に明らかであろう。これらの例において、開示内容を曖昧にすることを避けるために、構造体および装置はブロック図形態で示されている。例えば、ユーザインターフェースおよび特定のハードウエアに関して、本発明の一実施の形態を説明する。しかし、上記開示内容は、データおよびコマンドを受信できる任意のタイプの計算装置、および、サービスを提供する任意の周辺装置に適用可能である。
【００１８】
本明細書における“一実施の形態”または“実施の形態”とは、前記実施の形態に関して記載される特定の特徴、構成または特徴は、本明細書における少なくとも1つの実施の形態に含まれることを意味する。本明細書の様々な箇所における“一実施の形態”というフレーズは、必ずしも同一の実施の形態に言及するものではない。
【００１９】
下記の詳細な説明のいくつかの部分は、コンピュータメモリにおけるデータビットに対する処理のアルゴリズムおよび記号表現で示されている。これらのアルゴリズム記述および表現は、データ処理技術における当業者によって、彼らの研究の内容を当該技術における他の当業者に最も効果的に伝えるために使用される手段である。ここで、アルゴリズムは、一般的に、所望の結果に至る首尾一貫したステップシーケンスであると考えられる。これらのステップは、物理量の物理的な操作を必要とするものである。必ずしもそうではないが、通常、これらの数量は、記憶され、伝送され、組み合わされ、比較され、その他の方法で操作可能な電気信号または磁気信号の形態をとる。主に一般的な使用のために、これらの信号を、ビット、値、要素、記号、文字、語、数等として言及することが便利であるということが分かった。
【００２０】
しかしながら、これらの用語およびこれらに類似した用語は、適当な物理的数量に対応付けられるものであり、これらの数量に適用される単に便利なラベルである。特にそうでないと明記する場合を除き、本発明の説明全体を通じて、“処理”、“計算”、“算出”、“判定”、“指示内容”等の用語の使用は、コンピュータシステムのレジスタおよびメモリ内において物理的(電子的)数量として表現されているデータを操作して、コンピュータシステムのメモリもしくはレジスタ、または、その他の情報記憶装置、伝送装置もしくは表示装置内における同様に物理的数量として表現されるその他のデータに変換するコンピュータシステムまたはこれと同様な電子計算装置の動作および処理を意味する。
【００２１】
本発明は、さらに、ここに記載した処理を実行するための装置にも関する。この装置は、必要な目的のために特別に構成されてよく、または、そこに記憶されたコンピュータプログラムによって選択的に起動または再構成される汎用コンピュータからなるものであってもよい。このようなコンピュータプログラムは、それに限られるものではないが、フロッピー(登録商標)ディスク、光ディスク、CD-ROM、磁気ディスク等の任意のディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、非揮発性メモリを持たずUSBキーをフラッシュメモリ、電子命令を格納するのに適し、各々がコンピュータシステムバスに接続される任意タイプの媒体等のコンピュータによって読み取り可能な記憶媒体に記憶されてよい。
【００２２】
本明細書に記載された本発明は、全体的にハードウェアの実施の形態、全体的にソフトウェアの実施の形態、または、ハードウエア要素およびソフトウエア要素の両方を含む実施の形態であってよい。好ましい実施の形態において、ここで開示された発明は、ファームウェア、常駐ソフトウエア、マイクロコード等で実現さるが、これらに限定されない。
【００２３】
さらに、本明細書に記載された本発明は、コンピュータまたは任意の命令実行シスムテムによってまたは関連して使用されるプログラムコードを提供するコンピュータによって使用可能なまたはコンピュータによって読み取り可能な媒体からアクセス可能なコンピュータプログラム製品の形態であってよい。ここでの説明のために、コンピュータによって使用可能なまたはコンピュータによって読み取り可能な媒体は、命令実行シスムテムまたは装置によってまたは関連して使用されるプログラムを含む、記憶する、通信する、伝えるまたは移動することができる任意の装置であってよい。
【００２４】
プログラムコードを記憶しおよび／または実行するのに適したデータ処理システムは、システムバスを介して直接にまたは間接にメモリ要素に接続された少なくとも1つのプロセッサを含む。前記メモリ要素は、前記プログラムコードの実際の実行時に採用されるローカルメモリと、大容量記憶装置、および、実行時に大容量記憶装置から読み出ししなければならないタイムコードの数を減少させるために、少なくともいくつかのプログラムコードの一時記憶を提供するキャッシュメモリとを含むことができる。
【００２５】
入出力またはI/O装置(キーボード、ディプレイ、ポインティング装置等)は、直接にまたはI/Oコントローラを介して前記システムに接続可能である。
【００２６】
前記データ処理システムがプライベートまたはパブリックのネットワークを介して他のデータ処理システムまたは遠隔のプリンタまたは記憶装置に接続可能にするために、ネットワークアダプタが前記システムに接続されてよい。
【００２７】
最後に、ここに説明するアルゴリズムおよび表示は、本質的に特定のコンピュータまたはその他の装置に関連するものではない。ここでの教示内容に従うプログラムと共に様々な汎用システムが使用されてもよく、必要な方法ステップを実行するためにより特化された装置を構成することが便利であることが分かるであろう。これらの様々なシステムに必要な構成は、下の説明から明確であろう。さらに、本発明は、特定のプログラミング言語に関して説明されたものではない。なお、ここでの教示内容を実施するために様々なプログラミング言語が使用されてよく、また、本発明の実施可能性および最良の実施態様について任意の特定言語に対する言及がなされてよい。
システムの概要
【００２８】
図1は、一実施の形態に従って、ソーシャルネットワークのためのフィードを翻訳するためのシステム100のブロック図を示す。前記システム100は、ユーザ125a、125b、125nによってアクセスされるクライアント装置115a、115b、115nと、ソーシャルネットワークサーバ101と、翻訳サーバ107とを含む。一実施の形態において、前記翻訳サーバ107には、前記ソーシャルネットワークサーバ101によって、安全な情報が与えられる。例えば、前記翻訳サーバ107には、前記ソーシャルネットワークサーバ101によって、ソーシャルグラフを記述するデータが与えられる。図示された実施の形態において、これらのエンティティは、ネットワーク105を介して通信可能に接続されている。3つのクライアント装置115a、115b、115nが示されているが、当該技術分野における当業者は、任意の数のクライアント装置115nが任意の数のユーザ125nに利用可能であることを認識するであろう。当該技術分野における当業者は、任意の数のユーザ125nが単一のクライアント装置115nを使用(またはアクセス)することができることを理解するであろう。さらに、ただ1つのネットワーク105が前記クライアント装置115a、115b、115n、ソーシャルネットワークサーバ101および翻訳サーバ107に接続されているが、実際には、任意の数のネットワーク105が、前記ソーシャルネットワークサーバ101および翻訳サーバ107に接続されることができる。当該技術分野における当業者は、ただ1つのソーシャルネットワークサーバ101および1つの翻訳サーバ107が図1に示されているが、前記システム100は、1または複数のソーシャルネットワークサーバ101、および、1または複数の翻訳サーバ107を含んでいてよい。
【００２９】
前記ネットワーク105は、従来タイプの、有線または無線のネットワークであり、星形構成、トークンリング構成、または、当該技術分野における他の公知の構成のうちの任意の数の構成を有していてよい。さらに、前記ネットワーク105は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えば、インターネット)、および/または、多数の装置が通信可能なその他の相互接続されたデータ経路を有してよい。他の一実施の形態において、前記ネットワーク105は、ピアツーピアネットワークであってよい。前記ネットワーク105は、データを様々異なる通信プロトコルで送るために、遠隔通信ネットワークに接続され、または、遠隔通信ネットワークの一部を含んでいてよい。例えば、前記ネットワークは、3Gまたは4Gネットワークである。他の一実施の形態において、前記ネットワーク105は、ショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、ハイパーテクスト・トランスファー・プロトコル(HTTP)、ダイレクト・データ・コネクション、WAP、イーメール等を介してデータを送受信するために、Bluetooth(登録商標)通信ネットワークまたはセルラー通信ネットワークを有する。
【００３０】
図示した実施の形態において、前記クライアント装置115aは、信号線108を介して前記ネットワーク105に通信可能に接続されている。信号線110によって示されているように、前記ユーザ125aは前記クライアント装置115aとインタラクトする。同様に、前記前記クライアント装置115bは、信号線112を介して前記ネットワーク105に接続されている。前記クライアント装置115nとユーザ125nとは、上記と同様に接続されインタラクトする。信号線116によって示されているように、前記ユーザ125bは前記クライアント装置115bとインタラクトする。前記翻訳サーバ107は、信号線106を介して前記ネットワーク105に通信可能に接続されている。前記ソーシャルネットワークサーバ101は、信号線104を介して前記ネットワーク105に通信可能に接続されている。
【００３１】
前記ソーシャルネットワークサーバ101は、ハードウエアサーバ装置である。例えば、前記ソーシャルネットワークサーバ101は、カルフォルニア州のMountain ViewのGoogle(登録商標)によって作動するハードウエアサーバである。一実施の形態において、前記ソーシャルネットワークサーバ101は、前記ネットワーク105を介して、前記クライアント装置115a、115b、115nのうちの1または複数に対してデータを送受信する。例えば、前記ソーシャルネットワークサーバ101は、Google(登録商標)Friend ConnectサービスおよびGoogle(登録商標)Buzzサービスのうちの1または複数を前記クライアント装置115a、115b、115nに提供するハードウエアサーバである。当業者には、前記ソーシャルネットワークサーバ101が前記クライアント装置115a、115b、115nに対して異なるサービスおよび/または機能を提供するよう構成可能である、ことが理解されるであろう。
【００３２】
一実施の形態において、前記ソーシャルネットワークサーバ101は、前記クライアント装置115a、115b、115nのユーザ125a、125b、125nによって信頼される装置である。例えば、前記クライアント装置115a、115b、115nのユーザ125a、125b、125nは、該クライアント装置115a、115b、115nおよびユーザ125a、125b、125nについてのデータおよび/または他の情報を、前記ソーシャルネットワークサーバ101と共有する。一実施の形態において、ソーシャルネットワークアプリケーション195は、この情報を収集し、ソーシャルグラフとして前記記憶装置141に記憶する。
【００３３】
一実施の形態において、前記ソーシャルネットワークサーバ101は、記憶装置141、ソーシャルネットワークアプリケーション195等からなる。一実施の形態において、前記ソーシャルネットワークサーバ101は、言語決定モジュール191を備える。該言語決定モジュール191は図1に示されており、図1における破線は、前記ソーシャルネットワークサーバ101の任意の特徴であることを示す。
【００３４】
前記記憶装置141は、前記ユーザ125a、125b、125nについてのソーシャルデータ等のデータを記憶する非一時的メモリである。前記ソーシャルデータは、1または複数のソーシャルネットワーク上における前記ユーザ125a、125b、125nの行動、および/または、前記ユーザ125a、125b、125nについての他の情報(例えば、前記ユーザ125a、125b、125nの性、年齢、学歴、過去および現在の雇用者、地理的な位置、家族、友達、ならびに、1または複数のソーシャルネットワーク上における前記ユーザ125a、125b、125nの友達の行動および家族)を記述したものである。一実施の形態において、前記ソーシャルデータは、さらに、他のユーザ125a、125b、125nによるアップデートについての前記ユーザ125a、125b、125nのコメントを含むことができる。他の実施の形態において、前記ソーシャルデータは、前記記憶装置141にソーシャルグラフとして記憶可能である。更に他の実施の形態において、前記ソーシャルネットワークサーバ101は、更に、プロセッサ(図示せず)、ユーザコメントのためのタイムスタンプを発生するために使用されるクロック(図示せず)、および、ハードウエアサーバ装置に一般的なその他の構成要素のうちの1または複数を備えている。一実施の形態において、前記記憶装置141は、前記クライアント装置115a、115b、115nのうちの1または複数のためのインターネットプロトコルアドレス(IPアドレス)を記憶する。
【００３５】
前記ソーシャルネットワークアプリケーション195は、前記ソーシャルネットワークサーバ101のメモリ(図示せず)に記憶されたコードおよびルーチンであり、前記ソーシャルネットワークサーバ101のプロセッサ(図示せず)によって実行されて、前記ソーシャルネットワークサーバ101に、前記クライアント装置115a、115b、115nによって前記ネットワーク105を介してアクセス可能なソーシャルネットワークを提供させる。前記ソーシャルネットワークは、ユーザが例えばGoogle Plusのような共通の特徴によって接続される任意タイプのソーシャル構造である。前記共通の特徴としては、交友関係、家族、仕事、興味等がある。前記共通の特徴は、明確に定義された関係および他のオンラインユーザとのソーシャルな繋がりによって暗示される関係を含む、前記システム100に含まれるもののような1または複数のソーシャルネットワーキングシステムによって提供される。ここで、前記関係は、ソーシャルグラフを形成する。いくつかの例において、前記ソーシャルグラフは、これらのユーザのマッピング、および、これらのユーザがどのように関係しているまたは繋がっているかを反映する。一実施の形態において、ユーザ125a、125b、125nは、前記ソーシャルネットワークにコメントを公開し、この情報は、前記ソーシャルグラフに記憶される。例えば、前記ソーシャルネットワークアプリケーション195のユーザ125a、125b、125nは、ステータスアップデートについてコメントすることができる。前記ステータスアップデートおよびコメントは、前記ソーシャルネットワークアプリケーション195によって、前記ソーシャルグラフの一部として前記記憶装置141に記憶される。
【００３６】
前記ソーシャルネットワークアプリケーション195は、前記ネットワーク105を介して前記クライアント装置115a、115b、115nに通信可能に接続されている。該ソーシャルネットワークアプリケーション195は、前記クライアント装置115a、115b、115nにソーシャルコンテンツを配信する。例えば、前記クライアント装置115a、115b、115nは、前記ソーシャルネットワークアプリケーション195にソーシャルネットワークコンテンツをリクエストし、該ソーシャルネットワークアプリケーション195は、前記クライアント装置115a、115b、115nにソーシャルフィードデータを提供する。該ソーシャルフィードデータは、前記クライアント装置115a、115b、115nに、前記ユーザ125a、125b、125nに対してソーシャルフィードのグラフィカルユーザインターフェイス(GUI)を露出させるために必要な情報である。前記記憶装置141に記憶された前記ソーシャルデータ(例えばソーシャルグラフ)は、前記ソーシャルフィードデータを含む。前記GUIは前記ソーシャルフィードを表わす。前記ソーシャルフィードは、前記記憶装置141に記憶された前記ソーシャルデータの少なくとも一部を含むデータフィードである。例えば、前記ソーシャルフィードは、前記ソーシャルネットワークアプリケーション195によって示されるソーシャルネットワーク上の1または複数のユーザによって実行される行動の記述を含む。一実施の形態において、前記記憶装置141は、前記ソーシャルフィードを発生するために使用される前記ソーシャルデータの全部またはサブセットを記憶する。
【００３７】
行動は、前記ソーシャルネットワーク上でとられる行動である。該行動の例としては、ステータスアップデートを提供すること; ステータスアップデートについてコメントすること;交流会を設立すること;プロフィール情報を編集すること;および／または、プライバシー設定を管理すること、等が含まれる。一実施の形態において、ユーザによって行われた行動は、ユーザ入力に対応付けられる。例えば、第1のユーザ125aは、入力用周辺装置(例えば、キーボード)およびブラウザ177または第1のクライアント装置115aに記憶された表示アプリケーション178を使用して、前記ソーシャルネットワーク上で行動を行う。
【００３８】
一実施の形態において、前記ソーシャルフィードは、1または複数のユーザ125a、125b、125nが前記ソーシャルネットワーク上で行ったすべてのオンサイト行動についての記述を含む。一実施の形態において、前記ソーシャルネットワークアプリケーション195は、ユーザの許可と共にこの情報を収集し、ユーザによって与えられた許可に従って任意の収集された情報を使用する。
【００３９】
前記言語決定モジュール191は、前記ソーシャルネットワークサーバ101のメモリ(図示せず)に記憶されたコードおよびルーチンであり、前記ソーシャルネットワークサーバ101のプロセッサ(図示せず)によって実行されて、前記ソーシャルネットワークサーバ101に、前記ソーシャルフィードを第1の言語から第2の言語に翻訳させる。一実施の形態において、前記言語決定モジュール191は、前記言語自体に基づいて前記言語を特定する。例えば、第1のユーザ125aは、該第1のユーザ125aを第2のユーザ125bに繋ぐ、前記ソーシャルグラフに記憶された交友関係を有する。前記第1のユーザ125aは、英語を使用して通信する。前記第2のユーザ125bは、イタリア語を使用して通信する。前記第2のユーザ125bは、前記ソーシャルネットワークにステータスアップデートを提供する。前記ステータスアップデートはイタリア言語で書かれており、前記言語決定モジュール191は前記ステータスアップデートに基づいてイタリア言語を特定する。他の実施の形態において、前記言語決定モジュール191は、ユーザの位置または該ユーザのプロフィールにリストされた言語の好みに基づいて、言語を特定する。一実施の形態において、前記言語決定モジュール191は、前記ソーシャルフィードが第1の言語から1または複数の第2の言語に翻訳されていることを示す図によって、前記翻訳されたソーシャルフィードを装飾する。
【００４０】
前記記憶装置141は、前記ユーザ125a、125b、125nのうちの1または複数についてのIPアドレスのうちの1または複数、様々なIPアドレスについての予期される言語の好み、および、前記ユーザ125a、125b、125nのうちの1または複数についてのデフォルトの言語を記憶する。一実施の形態において、前記第1のユーザ125aのIPアドレスは、該第1のユーザ125aが地理的に米国にあり、従って、英語を話す可能性があるということを示す。前記言語決定モジュール191は、前記IPアドレスを読み出し、前記第1のユーザ125aが英語を話す可能性があると判断する。前記言語決定モジュール191は、前記第1のクライアント装置115aに送られ前記ブラウザ177または表示アプリケーション178に表示される前に、前記ソーシャルネットワークアプリケーション195と通信して前記ソーシャルフィードを翻訳する。こうして、前記第2のユーザ125bのステータスアップデートが、イタリア語ではなく英語で表示される。他の実施の形態において、前記第1のユーザ125aのIPアドレスは該第1のユーザ125aが地理的にメキシコにあることを示し、従って、前記言語決定モジュール191は、前記第2のユーザ125bのステータスアップデートがスペイン語で表示されるよう、前記ソーシャルネットワークアプリケーション195と通信する。
【００４１】
更に他の実施の形態において、前記言語決定モジュール191は、前記第1のユーザ125aが関係している(例えば、友達、家族の一員、仕事の同僚等である)前記ユーザ125a、125b、125nのうちの1または複数が英語で通信することを示すデータを前記記憶装置141から読み出す。例えば、前記第1のユーザ125aの友達のうちの1または複数は、彼らのデフォルトの言語として英語を設定している場合がある。他の例において、前記言語決定モジュール191は、前記第1のユーザ125aの友達の行動を解析し、少なくとも部分的にこれらの行動に基づいて、前記第1のユーザ125aの友達のうちの1または複数が英語で通信すると判断するためのコードおよびルーチンを含む。前記言語決定モジュール191は、前記ソーシャルネットワークアプリケーション195と通信して、前記ブラウザ177または表示アプリケーション178に前記第2のユーザ125bのステータスアップデートを英語で表示させるクライアント装置115aにソーシャルフィードデータを送る。前記言語決定モジュール191を、図5を参照してより詳細に説明する。
【００４２】
一実施の形態において、前記言語決定モジュール191は、前記ユーザ125a、125b、125nの素性(アイデンティティ)に基づいて前記ソーシャルフィードデータを翻訳する。例えば、前記ユーザ125a、125b、125nは、該ユーザが特定の言語の話し手であり、特定の言語を使用して通信することを好む旨示す情報を前記ユーザのプロフィールにセーブし、前記言語決定モジュール191は、少なくとも部分的にこの情報に基づいて前記ソーシャルフィードデータを翻訳する。
【００４３】
前記翻訳サーバ107は、ハードウェアサーバ装置である。例えば、前記翻訳サーバ107は、カルフォルニア州のMountain ViewのGoogle(登録商標)によって動作させられるハードウェアサーバである。一実施の形態において、前記翻訳サーバ107は、前記ネットワーク105を介して、前記ソーシャルネットワークサーバ101および前記クライアント装置115a、115b、115nのうちの1または複数に対してデータを送受信する。例えば、前記翻訳サーバ107は、Google(登録商標)Translateサービスを前記クライアント装置115a、115b、115nに提供するハードウェアサーバである。
【００４４】
前記翻訳サーバ107は、翻訳モジュール193と記憶装置143とからなる。前記翻訳モジュール193は、ソーシャルフィードが第1の言語であるようにエンコードされたソーシャルフィードデータを前記ソーシャルネットワークアプリケーション195から受信するよう構成されたコードおよびルーチンからなる。前記翻訳モジュール193は、前記翻訳サーバ107のメモリ(図示せず)に記憶されており、前記翻訳サーバ107のプロセッサ(図示せず)によって実行されることによって、ソーシャルフィードが第2の言語であるようにソーシャルフィードデータを翻訳する。前記記憶装置143は、前記翻訳モジュール193がその機能を実行するために必要なデータおよび/または情報を記憶する非一時的な、コンピュータによって読み取り可能なメモリである。
【００４５】
一実施の形態において、前記クライアント装置115a、115b、115nは、前記ネットワーク105を介して前記ソーシャルネットワークアプリケーション195と通信し、該ソーシャルネットワークアプリケーション195にソーシャルフィードデータをリクエストする。前記ソーシャルネットワークアプリケーション195は、前記ネットワーク105を介して前記クライアント装置115a、115b、115nと通信し、前記クライアント装置115a、115b、115nにソーシャルフィードデータを送る。該ソーシャルフィードデータは、前記クライアント装置115a、115b、115nにソーシャルフィードを第1の言語で表示させる。前記ユーザ125aは、前記ソーシャルフィードが第2の言語で表示されることをリクエストする入力を前記クライアント装置115a、115b、115nに与える。前記クライアント装置115a、115b、115nは、前記ソーシャルネットワークアプリケーション195と通信して、前記ソーシャルフィードが第2の言語で表示されるようリクエストする。前記ソーシャルネットワークアプリケーション195は、前記翻訳モジュール193と通信して、該翻訳モジュール193に対して前記ソーシャルフィードデータおよび前記リクエストされた第2の言語を示す指示を送る。前記翻訳モジュール193は、前記翻訳サーバ107のプロセッサ(図示せず)によって実行されて、前記プロセッサに、少なくとも部分的に前記記憶装置143に記憶されたデータに基づいて、前記ソーシャルフィードデータを前記第2の言語に翻訳させる。一実施の形態において、前記翻訳モジュール193は、任意の形態の機械翻訳(例えば、ルールに基づいた、統計的な、用例ベースの、ハイブリッド機械翻訳等)を使用して、前記ソーシャルフィードデータを翻訳する。前記翻訳モジュール193は、前記ネットワーク105を介して前記クライアント装置115aと通信して、前記翻訳されたソーシャルフィードデータを前記クライアント装置115aに送る。該翻訳されたソーシャルフィードデータは、前記クライアント装置115aに前記ソーシャルフィードを前記リクエストされた第2の言語で表示させる。前記翻訳モジュール193および前記記憶装置143の詳細を、図2を参照して説明する。
【００４６】
前記クライアント装置115a、115b、115nは、任意の計算装置である。例えば、前記クライアント装置115a、115b、115nは、パーソナルコンピュータ(PC)、スマートホン、タブレットコンピュータ(タブレットPC)等である。その他の種類のクライアント装置115a、115b、115nも使用可能であることが当業者に認識されるであろう。例えば、第1のクライアントはスマートホンであり、第2のクライアント装置115bはパーソナルコンピュータであり、複数の他のコンピュータはパーソナルコンピュータ、スマートホンおよびタブレットコンピュータの任意の組み合わせである。
【００４７】
前記クライアント装置115a、115b、115nは、ブラウザ177からなる。該ブラウザ177は、前記クライアント装置115a、115b、115nの非一時的な、コンピュータによって読み取り可能なメモリに記憶されたコードおよびルーチンであり、前記クライアント装置115a、115b、115nのプロセッサ(図示せず)によって実行されて前記ネットワーク105を介して読み出されたデータを表示する。例えば、前記ブラウザ177は、Google(登録商標)Chromeのようなブラウザアプリケーションである。一実施の形態において、前記ブラウザ177は、データ、コードおよび／またはルーチンを記憶するためのメモリからなる。
【００４８】
一実施の形態において、前記クライアント装置115a、115b、115nは、表示アプリケーション178を含むスマートホンのようなモバイル装置である。前記表示アプリケーション178は、前記クライアント装置115a、115b、115nの非一時的な、コンピュータによって読み取り可能なメモリに記憶されたコードおよびルーチンであり、前記クライアント装置115a、115b、115nのプロセッサ(図示せず)によって実行される。一実施の形態において、前記表示アプリケーション178は、前記ブラウザ177に依存して前記ネットワーク105から情報を読み出し、前記クライアント装置115a、115b、115nに情報を表示するシンクライアント(thin client)である。一例において、前記表示アプリケーション178は、前記ソーシャルネットワークサーバ101から読み出された情報のみを表示するのに専用されるアプリケーションである。当業者に認識されるように、データを受信しデータを表示する等のステップを実行する前記クライアント装置115a、115b、115nに対する言及は前記ブラウザ177または表示アプリケーション178に対する言及、または、これらのステップを実行する前記ブラウザ177および表示アプリケーションの組み合わせに対する言及であると考えられることができる。
翻訳モジュール
【００４９】
図2において、前記翻訳モジュール193がより詳細に示されている。図2は、前記翻訳モジュール193、プロセッサ235および前記記憶装置143を含む前記翻訳サーバ107のブロック図である。前記プロセッサ235は、計算を行い、モジュール201、209、211およびエンジン203、205を実行するために演算論理ユニット、マイクロプロセッサ、汎用コントローラまたはその他のプロセッサアレイからなる。前記プロセッサ235は、その他の構成要素と通信するためにバス220に接続されている。前記プロセッサ235は、データ信号を処理するものであり、複数命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャまたは命令セットの組合せを実行するアーキテクチャを含む様々な計算アーキテクチャからなっていてよい。図2では1つのプロセッサのみが示されているが、多数のプロセッサが含まれていてよい。その処理能力は、画像の表示、捕捉および送信をサポートすることに限定されていてよい。前記処理能力は、様々な種類の特徴抽出およびサンプリングを含むより複雑なタスクを実行するのに十分であろう。当業者に自明なように、他のプロセッサ、オペレーティングシステム、センサ、ディスプレイおよび物理的な構成を設けることも可能である。前記プロセッサ235は、信号線236を介して前記バス220に通信可能に接続されている。
【００５０】
前記記憶装置143は、前記プロセッサ235によって実行可能な命令および／またはデータを記憶する。例えば、前記記憶装置143は、言語データ241およびグラフィカルデータ245を記憶する。一実施の形態において、前記記憶装置143は、ユーザインタラクション、ソーシャルグラフ等を含むソーシャルデータ243を記憶する。前記記憶装置143は、前記翻訳サーバ107のその他の構成要素と通信を行うためにバス220によって通信可能に接続されている。前記記憶装置143は、データベース、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセスメモリ(SRAM)装置、フラッシュメモリ、または、当該技術において知られている他の任意のメモリ装置である。一実施の形態において、前記記憶装置143は、更に、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD-ROM装置、DVD-ROM装置、DVD-RAM装置、DVD-RW装置、フラッシュメモリ装置等または当該技術において知られているその他の非揮発性記憶装置等の、非揮発性メモリまたは同様な永久記憶装置および媒体を含む。前記記憶装置143は、信号線238を介して前記バス220に通信可能に接続されている。
【００５１】
前記言語データ241は、前記デコード用のエンジン203およびリエンコード用のエンジン205がそれらの機能を実行するために必要なデータである。例えば、前記言語データ241は、前記デコード用のエンジン203および/またはリエンコード用のエンジン205が、前記ソーシャルフィードデータの第1の言語から1または複数の第2の言語へのルールに基づいた統計的な、用例ベースの、ハイブリッド機械翻訳のうちの1または複数を実行するために必要なデータである。一実施の形態において、前記言語データ241は、次のもの、すなわち、1または複数の言語ルール;形態学的、構文的なおよび意味論的な情報を有する1または複数の用語集;統計的な翻訳に必要なデータ群;1または複数の辞書入力;二か国語テキスト群のうちの1または複数からなる。
【００５２】
前記グラフィカルデータ245は、前記ソーシャルフィードが第1の言語から1または複数の第2の言語に翻訳されていることを示す図によって、前記翻訳されたソーシャルフィードを装飾するグラフィカルユーザインターフェイスモジュール211(GUIモジュール211)によって使用されるデータである。例えば、前記翻訳されたソーシャルフィードは、該ソーシャルフィードが第1の言語から1または複数の第2の言語に翻訳されたことを示すグラフィックリボンをユーザインターフェースの頂部に含む。前記GUIモジュール211は、前記クライアント装置115a、115b、115nにこのグラフィックによって前記翻訳されたソーシャルフィードを装飾させるのに必要なデータを前記グラフィカルデータ245から読み出す。
【００５３】
前記翻訳モジュール193は、通信モジュール201と前記デコード用のエンジン203と前記リエンコード用のエンジン205と前記GUIモジュール211とからなる。一実施の形態において、前記翻訳モジュール193は、ソーシャルコンテキストモジュール209を更に含む。前記ソーシャルコンテキストモジュール209は、図2において、該ソーシャルコンテキストモジュール209が前記翻訳モジュール193の任意の特徴であることを示すために破線で示されている。前記通信モジュール201、209、211および前記エンジン203、205は、前記バス220を介して相互に通信する。前記GUIモジュール211は、信号線222を介して前記バス220に通信可能に接続されている。前記デコード用のエンジン203は、信号線224を介して前記バス220に通信可能に接続されている。前記リエンコード用のエンジン205は、信号線226を介して前記バス220に通信可能に接続されている。前記ソーシャルコンテキストモジュール209は、信号線228を介して前記バス220に通信可能に接続されている。前記GUIモジュール211は、信号線230を介して前記バス220に通信可能に接続されている。
【００５４】
前記通信モジュール201は、前記ネットワーク105を介して前記クライアント装置115a、115b、115nのうちの1または複数およびソーシャルネットワークサーバ101と通信するためのコードおよびルーチンである。一実施の形態において、前記通信モジュール201は、前記ネットワーク105を介して前記ソーシャルネットワークサーバ101と通信し、前記前記翻訳モジュール193がその機能を実行するのに必要なデータの一部を受信する。例えば、一実施の形態において、前記通信モジュール201は、前記ソーシャルネットワークアプリケーション195と通信し、前記ソーシャルフィードデータ、前記ユーザ125a、125b、125nの識別子、および、前記ユーザ125a、125b、125nによってリクエストされた1または複数の第2の言語(すなわち、前記ユーザ125a、125b、125nによって前記ソーシャルフィードデータがその言語に翻訳されることをリクエストされた言語)の指示のうちの1または複数を前記ソーシャルネットワークアプリケーション195から受信する。前記通信モジュール201は、前記ネットワーク105を介して前記クライアント装置115a、115b、115nと通信し、前記翻訳されたソーシャルフィードデータを前記クライアント装置115a、115b、115nに送る。一実施の形態において、前記翻訳されたソーシャルフィードデータは、前記クライアント装置115a、115b、115nに、該ソーシャルフィードデータが第1の言語から1または複数の第2の言語に翻訳されたことを示すグラフィックを表示させるのに必要なグラフィカルデータを含む。一実施の形態において、前記通信モジュール201は、前記モジュール209、211および前記エンジン203、205間の通信を管理する。
【００５５】
前記デコード用のエンジン203は、任意の機械翻訳(ルールに基づいた、統計的な、用例ベースの、ハイブリッド機械翻訳等)に従って前記ソーシャルフィードデータをデコードするためのコードおよびルーチンである。前記デコード用のエンジン203は、前記通信モジュール201に通信可能に接続されていて、前記通信モジュール201から前記ソーシャルフィードデータを受信する。前記デコード用のエンジン203は、前記記憶装置143に通信可能に接続されていて、前記ソーシャルフィードをデコードするのに必要な前記言語データ241の少なくとも一部を読み出す。一実施の形態において、前記デコード用のエンジン203は、構文解析ツール(パーサ)を含む。
【００５６】
前記リエンコード用のエンジン205は、前記ソーシャルフィードデータを、任意の形態の機械翻訳(ルールに基づいた、統計的な、用例ベースの、ハイブリッド機械翻訳等)に従って、第1の言語から1または複数の第2の言語にリエンコードするためのコードおよびルーチンである。前記リエンコード用のエンジン205は、前記通信モジュール201に通信可能に接続されていて、該通信モジュール201から1または複数の第2の言語の表示(指示)を受信する。また、前記リエンコード用のエンジン205は、前記デコード用のエンジン203に通信可能に接続されていて、該デコード用のエンジン203からデコードされたソーシャルフィードデータを受信する。更に、前記リエンコード用のエンジン205は、前記記憶装置143に通信可能に接続されていて、前記デコードされたソーシャルフィードデータを1または複数の第2の言語にリエンコードするのに必要な言語データ241の少なくとも一部を読み出す。
【００５７】
前記リエンコード用のエンジン205の出力は、前記翻訳されたソーシャルフィードデータである。該翻訳されたソーシャルフィードデータは、前記クライアント装置115a、115b、115nに前記翻訳されたソーシャルフィードを表示させるよう構成されている。該翻訳されたソーシャルフィードは、第1の言語から1または複数の第2の言語に翻訳されたソーシャルフィードである。一実施の形態において、前記GUIモジュール211は、前記リエンコード用のエンジン205と通信して、前記クライアント装置115a、115b、115nに、該ソーシャルフィードが第1の言語から1または複数の第2の言語に翻訳されていることを示すグラフィックを表示させるグラフィカルデータを前記翻訳されたソーシャルフィードデータに含ませる。前記デコード用のエンジン203は、前記通信モジュール201と通信して、前記翻訳されたソーシャルフィードデータを前記リエンコード用のエンジン205に送る。
【００５８】
一実施の形態において、前記ソーシャルフィードデータの一部のみを翻訳することが望ましい。例えば、前記ソーシャルフィードデータの一部のみを翻訳することは、前記翻訳モジュール193が前記ソーシャルフィードの全部を翻訳する場合より、前記翻訳モジュール193がその機能をより短時間で実行でき、前記翻訳されたソーシャルフィードデータをより速く前記クライアント装置115a、115b、115nに提供することを可能にする。例えば、前記ユーザ125a、125b、125nは、前記ソーシャルフィードの一部のみが第1の言語から1または複数の第2の言語に翻訳されるべきと指定する。一実施の形態において、前記ソーシャルネットワークアプリケーション195は、前記クライアント装置115a、115b、115nから、前記ソーシャルフィードの一部のみがされるべき旨の指示、および、どの部分が翻訳されるべきかについての指示を受信する。これらの指示を"サブセットコマンド"と言うことにする。前記ソーシャルネットワークアプリケーション195は、前記クライアント装置115a、115b、115nから前記サブセットコマンドを受信し、前記翻訳モジュール193と通信して該翻訳モジュール193に前記サブセットコマンドを送る。そして、前記翻訳モジュール193の構成要素は、前記サブセットコマンドによって指定された前記ソーシャルフィードデータの一部を翻訳するのに必要なステップをとる。このように、一実施の形態において、前記デコード用のエンジン203および前記リエンコード用のエンジン205は、少なくとも部分的に前記サブセットコマンドに基づいて、前記ソーシャルフィードの一部を第1の言語から1または複数の第2の言語に翻訳するよう構成されている。一実施の形態において、前記リエンコード用のエンジン205は、前記ソーシャルフィードの第1の部分を1つの言語に翻訳し、第2の部分をその他の異なる言語に翻訳するよう構成されている。
【００５９】
前記ソーシャルコンテキストモジュール209は、前記ソーシャルコンテキストモジュール209のその他の構成要素によって翻訳されるべき前記ソーシャルフィードの1または複数の部分を決定するコードおよびルーチンである。例えば、前記翻訳モジュール193は、前記ソーシャルフィードにおける、前記ユーザ125a、125b、125nによる行動を有する部分のみを翻訳する(例えば、前記翻訳モジュール193は、前記ソーシャルフィードにおける、前記翻訳をリクエストした第1のユーザ125aによってコメントされた部分のみを翻訳する)よう構成されている。前記ソーシャルコンテキストモジュール209は、前記通信モジュール201と通信して、該通信モジュール201から前記ソーシャルフィードデータおよび前記翻訳をリクエストしたユーザ125a、125b、125nの識別子を受信する。前記翻訳をリクエストしたユーザ125a、125b、125nの識別子は、前記ユーザ125a、125b、125nのスクリーン名、または、前記ソーシャルフィードデータにおける該翻訳をリクエストしたユーザ125a、125b、125nを特定する任意の他の情報である。前記ソーシャルコンテキストモジュール209は、前記ソーシャルフィードデータまたは該ソーシャルフィードデータの一部を分析して、前記ソーシャルフィードのどの部分が前記翻訳をリクエストしたユーザ125a、125b、125nによる作用を受けたのかを判定する。例えば、前記ソーシャルコンテキストモジュール209は、前記ソーシャルデータ243をパース(解析)し、前記ソーシャルフィードにおける、前記翻訳をリクエストしたユーザ125a、125b、125nによる作用を受けた部分を特定するよう構成されたパーサを含む。一実施の形態において、前記ソーシャルコンテキストモジュール209は、少なくとも部分的に前記翻訳をリクエストしたユーザ125a、125b、125nの識別子に基づいて前記ソーシャルフィードデータを分析する。例えば、前記ソーシャルコンテキストモジュール209は、少なくとも部分的に前記翻訳をリクエストしたユーザ125a、125b、125nの識別子に基づいて前記ソーシャルフィードデータをパースする。前記ソーシャルコンテキストモジュール209は、前記デコード用のエンジン203および／またはリエンコード用のエンジン205と通信して、前記ソーシャルフィードデータにおける、前記翻訳をリクエストしたユーザ125a、125b、125nによる作用を受けた部分を翻訳する。
【００６０】
他の実施の形態において、前記ソーシャルフィードデータは、前記翻訳をリクエストしたユーザ125a、125b、125nとの関係を示すデータを含み、前記ソーシャルコンテキストモジュール209は、前記翻訳モジュール193のその他の構成要素と共働して、少なくとも部分的に前記関係を示すデータに基づいて、前記ソーシャルフィードデータを翻訳する。一実施の形態において、第2のユーザ125a、125b、125nと前記翻訳をリクエストした第1のユーザ125a、125b、125nとが友達、家族、同僚、友達の友達等である場合、これら2人のユーザは関係を有する。このようなユーザ125a、125b、125nを“関係者”と言う。例えば、前記翻訳をリクエストしたユーザ125a、125b、125nは、前記ソーシャルフィードデータにおける、家族による作用(行動)を受けた部分のみを翻訳して欲しい旨指定する。このような翻訳をリクエストしたユーザ125a、125b、125nの好みは、前記クライアント装置115a、115b、115nによって前記ソーシャルネットワークアプリケーション195に伝えられ、前記ソーシャルネットワークアプリケーション195は、このリクエストを前記翻訳モジュール193に伝える。前記通信モジュール201は、このリクエストを前記ソーシャルコンテキストモジュール209に伝える。前記ソーシャルコンテキストモジュール209は、前記ソーシャルフィードデータを分析して前記翻訳をリクエストしたユーザ125a、125b、125nの1または複数の関係を特定し、前記ソーシャルフィードデータのどの部分が翻訳されるべきかを判定する。例えば、前記ソーシャルコンテキストモジュール209は、少なくとも部分的に前記翻訳をリクエストしたユーザ125a、125b、125nの1または複数の関係に基づいて前記ソーシャルフィードデータをパースする。一実施の形態において、前記関係は、例えばソーシャルグラフのような、ソーシャルデータ243として記憶される。前記ソーシャルコンテキストモジュール209は、少なくとも部分的にこのパースに基づいて、前記ソーシャルフィードデータのどの部分が翻訳されるべきかを判定する。前記ソーシャルコンテキストモジュール209は、前記デコード用のエンジン203および／またはリエンコード用のエンジン205と通信して、前記ソーシャルフィードにおける、前記翻訳をリクエストしたユーザ125a、125b、125nと関係を有する1または複数のユーザ125a、125b、125nによる作用を受けた部分を翻訳する。
【００６１】
更に他の実施の形態において、前記翻訳をリクエストしたユーザ125a、125b、125nは、前記翻訳モジュール193が、該翻訳をリクエストしたユーザ125a、125b、125nによって指定された1または複数のユーザ125a、125b、125nによる作用を受けた前記ソーシャルフィードデータにおける部分のみを翻訳するようリクエストする。前記ソーシャルコンテキストモジュール209は、関係について上述したものと同様な、このリクエストに対応するために必要なステップをとる。前記ソーシャルコンテキストモジュール209によって実行される上述の機能を“前記翻訳のためのソーシャルコンテキストを決定”と言う。
【００６２】
前記GUIモジュール211は、前記記憶装置143から前記グラフィカルデータ245または該グラフィカルデータ245の一部を読み出し、この読み出したデータを使用して、前記ソーシャルフィードが第1の言語から1または複数の第2の言語に翻訳されたことを示すグラフィックによって前記ソーシャルフィードデータを装飾するのに必要なグラフィカルデータを決定して、前記翻訳されたソーシャルフィードデータに含ませるコードおよびルーチンである。
方法
【００６３】
図3〜図5を参照して、様々な実施の形態を説明する。図3は、ソーシャルネットワークのためのフィードを翻訳するための方法の一実施の形態300を示すフロー図である。前記翻訳モジュール193は、ステップ301において、前記ソーシャルフィードデータ、および、前記ソーシャルネットワークアプリケーション195からの翻訳リクエストを受信する。前記リクエストは、前記1または複数の第2の言語の指示情報、前記翻訳をリクエストしたユーザ125a、125b、125nの素性、および、サブセットのうちの1または複数を含む。前記翻訳モジュール193は、ステップ303において、少なくとも部分的に前記リクエストに基づいて前記ソーシャルフィードデータを翻訳する。前記翻訳モジュール193は、ステップ305において、前記翻訳されたソーシャルフィードデータを前記クライアント装置115a、115b、115nに記憶された前記ブラウザ177または表示アプリケーション178に送信する。
【００６４】
図4は、ソーシャルネットワークのためのフィードを翻訳するための方法の他の実施の形態400を示すフロー図である。前記通信モジュール201は、ステップ401において、ソーシャルフィードデータおよびリクエストを受信する。前記デコード用のエンジン203は、ステップ403において、前記ソーシャルフィードデータをデコードする。一実施の形態において、前記ソーシャルフィードデータをデコードするステップ403は、前記記憶装置143から必要な言語データを読み出すことを含む。任意に、前記ソーシャルコンテキストモジュール209は、ステップ405において、前記デコード用のエンジン203と通信して、前記翻訳のためのソーシャルコンテキストを決定する。前記リエンコード用のエンジン205は、ステップ409において、前記デコードされたソーシャルフィードデータをリエンコードする。任意に、前記リエンコード用のエンジン205は、ステップ409において、少なくとも部分的に前記ソーシャルコンテキストモジュール209との通信に基づいて、前記デコードされたソーシャルフィードデータをリエンコードする。一実施の形態において、前記デコードされたソーシャルフィードデータをリエンコードするステップ409は、前記記憶装置143から必要な言語データ241を読み出すことを含む。前記GUIモジュール211は、前記翻訳されたソーシャルフィードデータに含めるグラフィカルデータを決定する。前記GUIモジュール211は、前記リエンコード用のエンジン205と通信して、ステップ411において、前記翻訳されたソーシャルフィードデータにおけるグラフィカルデータをリエンコードする。前記通信モジュール201は、ステップ413において、前記翻訳されたソーシャルフィードデータを前記クライアント装置115a、115b、115nに記憶された前記ブラウザ177または表示アプリケーション178に送信する。
【００６５】
一実施の形態によると、前記方法300および400は、前記ソーシャルフィードが第1の言語から1または複数の第2の言語に翻訳されるべきというリクエストを前記ソーシャルネットワークアプリケーション195が前記クライアント装置115a、115b、115nから受信することなしに、前記翻訳モジュール193が前記ソーシャルフィードデータを翻訳するよう変更される。例えば、前記ソーシャルネットワークアプリケーション195は、自動的に、前記ネットワーク105を介して前記ソーシャルフィードデータおよびリクエストを前記翻訳モジュール193に送るよう構成されている。前記クライアント装置115a、115b、115nは、前記ソーシャルネットワークアプリケーション195にソーシャルコンテンツをリクエストする。例えば、第1のユーザ125aは、前記クライアント装置115a、115b、115nに記憶された前記ブラウザ177または表示アプリケーション178を使用して、Google(登録商標)Buzzサービスを提供するウエブサイトをロードする。前記ソーシャルネットワークアプリケーション195は、前記ソーシャルフィードデータが前記翻訳モジュール193に送信されるよう該翻訳モジュール193と通信する。該翻訳モジュール193は、方法300と同様に、前記ソーシャルフィードを翻訳する。例えば、前記ソーシャルフィードデータは、前記クライアント装置115a、115b、115nを使用して前記ソーシャルネットにアクセスするユーザ125a、125b、125nの識別子を含んでいる。前記ソーシャルコンテキストモジュール209は、前記ソーシャルフィードデータをパースして、前記ユーザ125a、125b、125nが通常どの言語で通信するのか、または、該ユーザ125a、125b、125nの関係者の言語を判定する。前記ソーシャルコンテキストモジュール209は、少なくとも部分的に前記ユーザ125a、125b、125nの言語、および／または、該ユーザ125a、125b、125nの関係者の言語に基づいて、前記ソーシャルフィードデータが翻訳されるよう、前記デコード用のエンジン203およびリエンコード用のエンジン205と通信する。
【００６６】
図5は、ソーシャルネットワークのためのフィードを翻訳するための方法の他の実施の形態500を示すフロー図である。前記言語決定モジュール191は、ステップ501において、前記ソーシャルフィードデータを翻訳するリクエストを受信する。前記言語決定モジュール191は、少なくとも部分的に、そのブラウザ177または表示アプリケーション178が前記ソーシャルフィードデータをリクエストしているクライアント装置115a、115b、115nのIPアドレス、そのブラウザ177または表示アプリケーション178が前記ソーシャルフィードデータをリクエストしているクライアント装置115a、115b、115nのユーザ125a、125b、125nの1または複数の関係者、および、そのブラウザ177または表示アプリケーション178が前記ソーシャルフィードデータをリクエストしているクライアント装置115a、115b、115nのユーザ125a、125b、125nの素性に基づいて、前記ソーシャルフィードデータを翻訳する。
【００６７】
ステップ503、505および507は、図5において、これらが任意の特徴であることを示すために破線で示されている。ステップ503において、前記言語決定モジュール191は、そのブラウザ177または表示アプリケーション178が前記ソーシャルフィードデータをリクエストしているクライアント装置115a、115b、115nのIPアドレスを特定する。ステップ505において、前記言語決定モジュール191は、そのブラウザ177または表示アプリケーション178が前記ソーシャルフィードデータをリクエストしているクライアント装置115a、115b、115nのユーザ125a、125b、125nの1または複数の関係者を特定する。ステップ507において、前記言語決定モジュール191は、そのブラウザ177または表示アプリケーション178が前記ソーシャルフィードデータをリクエストしているクライアント装置115a、115b、115nのユーザ125a、125b、125nの素性を特定する。
【００６８】
前記言語決定モジュール191は、ステップ509において、少なくとも部分的に、前記ステップ503、505および507において特定された前記IPアドレス、関係者および素性の1または複数に基づいて、前記ソーシャルフィードデータが翻訳されるべき1または複数の言語を決定する。前記言語決定モジュール191は、少なくとも部分的に前記決定された1または複数の言語に基づいて、前記ソーシャルフィードデータを翻訳する。前記言語決定モジュール191は、ステップ510において、前記翻訳されたソーシャルフィードデータにおけるグラフィカルデータをエンコードする。前記言語決定モジュール191は、ステップ511において、前記ソーシャルフィードデータをリクエストしたクライアント装置115a、115b、115nのブラウザ177または表示アプリケーション178に前記翻訳されたソーシャルフィードデータを送信する。
【００６９】
本明細書における実施の形態についての上記説明は、例示的なものであり、包括的ではなく、上記開示内容を厳格に開示されたものに限定されるものでもない。上記の教示内容に照らして、多くの変更および変形が可能である。当業者に理解されるように、本発明は、その精神または必須の特徴から逸脱することなく、他の実施の形態で実行されてもよい。同様に、前記モジュール、ルーチン、特徴、属性、方法論およびその他の態様は、必須または重要ではなく、本発明の開示内容または特徴は、上記と異なる名前、区分および／またはフォーマットを有していてよい。さらに、当業者に明白なように、本発明の前記モジュール、ルーチン、特徴、属性、方法論およびその他の態様は、ソフトウエア、ハードウエア、ファームウェアまたはこれらの組合せによって実現されてよい。また、本発明のモジュールのような構成要素がソフトウエアで実現される場合、該構成要素は、独立型プログラムとして、より大きなプログラムの一部として、複数の異なるプログラムとして、または、1または複数の静的または動的にリンクされたライブラリとして、カーネルをロード可能なモジュールとして、デバイスドライバとして、および／または、現在または将来的に任意の特定のコンピュータプログラミング技術における当業者に知られた方法で実現可能である。さらに、上記開示内容は、特定のプログラミング言語での実施、または、特定のオペレーティングシステムまたは環境のための実施に限定されない。
【図１】
0005748904.tif 000002
【図２】
0005748904.tif 000003
【図３】
0005748904.tif 000004
【図４】
0005748904.tif 000005
【図５】
0005748904.tif 000006