JP2019215876A - 言語検出を行うためのシステムおよび方法 - Google Patents

言語検出を行うためのシステムおよび方法 Download PDF

Info

Publication number
JP2019215876A
JP2019215876A JP2019124513A JP2019124513A JP2019215876A JP 2019215876 A JP2019215876 A JP 2019215876A JP 2019124513 A JP2019124513 A JP 2019124513A JP 2019124513 A JP2019124513 A JP 2019124513A JP 2019215876 A JP2019215876 A JP 2019215876A
Authority
JP
Japan
Prior art keywords
language
message
score
user
different
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019124513A
Other languages
English (en)
Inventor
ボッジャ,ニキル
Bojja Nikhil
ワン,ピドン
Pidong Wang
リンダー,フレドリック
Linder Fredrik
プゾン,バートロミエジ
Puzon Bartlomiej
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MZ IP Holdings LLC
Original Assignee
MZ IP Holdings LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MZ IP Holdings LLC filed Critical MZ IP Holdings LLC
Priority to JP2019124513A priority Critical patent/JP2019215876A/ja
Publication of JP2019215876A publication Critical patent/JP2019215876A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Machine Translation (AREA)

Abstract

【課題】テキストメッセージの言語を検出するための方法、システムおよびコンピュータプログラム記憶装置を提供する。【解決手段】ユーザに関連するメッセージに対して、複数の異なる言語検出テストを実行する。各言語検出テストは、メッセージが複数の異なる言語のうち1つの言語である尤度を表すスコアセットを決定する。スコアセットの1つ以上の組み合わせは、入力として1つ以上の異なる分類器に提供される。各々の分類器からの出力は、メッセージが異なる言語のうちの1つであるという提示を含む。メッセージの言語は、信用度スコアおよび/または特定された言語分野に基づいて、分類器の1つにより提示された言語として特定されてもよい。【選択図】図1B

Description

背景
本開示は、言語の検出に関し、特に短文メッセージの言語を検出するためのシステムおよび方法に関する。
一般に、言語の検出または特定とは、テキストの内容に基づいて、テキストの本文に存在する言語を自動的に検出するプロセスである。言語の検出は、自動言語翻訳に有用である。一般的には、メッセージを別の言語に正確に翻訳する前に、テキストメッセージの言語を知る必要がある。
従来の言語検出は、通常、多くの語句の集合(即ち、文書レベル)で行われ、特に対処し難い分野は、チャットテキスト分野である。この分野において、メッセージは、しばしば少くない数の単語(例えば、4つ以下)を含み、その一部または全部が非正式単語または綴りの間違えた単語である可能性もある。チャットテキスト分野の場合、メッセージに存在する情報の不足および非正式単語を考慮すると、既存手法の言語検出は、不正確であるおよび/または遅いことが分かる。
概要
本開示に記載のシステムおよび方法の実施形態は、例えば、テキストメッセージの内容、テキストメッセージを作成するときに使用されたキーボードに関する情報、および/またはテキストメッセージを作成したユーザの言語嗜好に関する情報に基づいて、メッセージの言語を検出する。従来の言語検出技術に比べて、本開示に記載のシステムおよび方法は、特に短い(例えば、4つの単語以下の)テキストメッセージに対して、一般的により高速且つより正確である。
さまざまな例において、システムおよび方法は、複数の言語検出テストおよび分類器を用いて、テキストメッセージ内の可能性のある言語に関連する確率を決定する。各言語検出テストは、可能性のある言語に関連する確率集合または確率ベクトルを出力することができる。分類器は、言語検出テストからの出力を組み合わせることによって、メッセージの最も可能性の高い言語を決定することができる。メッセージに対して特定の言語検出テストおよび分類器の選択は、メッセージの予測精度、信用度スコアおよび/または言語分野に依存する。
一態様において、本発明は、メッセージの言語を特定するためのコンピュータ実施方法に関する。この方法は、ユーザに関連するメッセージに対して、複数の異なる言語検出テストを実行するステップを含み、各言語検出テストは、それぞれ一組のスコアであるスコアセットを決定し、スコアセット内の各スコアは、メッセージが複数の異なる言語のうち1つの言語である尤度を表す。この方法はさらに、スコアセットの1つ以上の組み合わせを入力として1つ以上の異なる分類器に提供するステップと、1つ以上の分類器の各々からの出力として、メッセージが複数の異なる言語のうち1つの言語であるという提示を取得するステップとを含み、提示は、信用度スコアを含む。この方法はさらに、信用度スコアおよび特定された言語分野のうち少なくとも一方に基づいて、メッセージの言語を、1つ以上の分類器のうちの1つの分類器により示された言語に特定するステップを含む。
特定の例において、特定の分類器は、教師付き学習モデル、部分教師付き学習モデル、教師なし学習モデル、または補間法である。メッセージの言語を特定するステップは、信用度スコアに基づいて提示された言語を選択することを含むことができる。メッセージの言語を特定するステップは、特定された言語分野に基づいて分類器を選択することを含むことができる。一部の例において、言語分野は、ビデオゲーム、スポーツ、ニュース、議事、政治、健康、および/または旅行であるまたはそれらを含む。
一部の例において、メッセージは、文字、数字、記号、および顔文字のうち2種以上を含む。複数の異なる言語検出テストは、バイトn-gramメソッド、辞書に基づくメソッド、アルファベットに基づくメソッド、スクリプトに基づくメソッド、およびユーザ言語プロファイルメソッドからなる群から選択される少なくとも2つの方法を含むことができる。複数の異なる言語検出テストは、同時に(例えば、並列処理により)実行されてもよい。1つ以上の組み合わせは、バイトn-gramメソッドおよび辞書に基づくメソッドから得られたスコアセットを含むことができる。1つ以上の組み合わせは、ユーザ言語プロファイルメソッドおよび/またはアルファベットに基づくメソッドから得られたスコアセットをさらに含むことができる。
別の態様において、本発明は、メッセージの言語を特定するためのシステムに関する。このシステムは、命令を記憶するコンピュータ記憶装置を備える。また、システムは、命令を実行して以下の動作を実行するように構成されたデータ処理装置を備える。これらの動作は、ユーザに関連するメッセージに対して、複数の異なる言語検出テストを実行することを含み、各言語検出テストは、それぞれ一組のスコアであるスコアセットを決定し、スコアセット内の各スコアは、メッセージが複数の異なる言語のうち1つの言語である尤度を表す。これらの動作はさらに、スコアセットの1つ以上の組み合わせを入力として1つ以上の異なる分類器に与えることと、1つ以上の分類器の各々からの出力として、メッセージが複数の異なる言語のうち1つの言語であるという提示を取得することとを含み、提示は、信用度スコアを含む。これらの動作はさらに、信用度スコアおよび特定された言語分野のうち少なくとも一方に基づいて、メッセージの言語を、1つ以上の分類器のうちの1つの分類器により提示された言語として特定することを含む。
ある例において、特定の分類器は、教師付き学習モデル、部分教師付き学習モデル、教師なし学習モデル、または補間法である。メッセージの言語を特定するステップは、信用度スコアに基づいて提示された言語を選択することを含むことができる。メッセージの言語を特定するステップは、特定された言語分野に基づいて分類器を選択することを含むことができる。一部の例において、言語分野は、ビデオゲーム、スポーツ、ニュース、議事、政治、健康、および/または旅行であるまたはそれらを含む。
一部の例において、メッセージは、文字、数字、記号、および顔文字のうち2種以上を含む。複数の異なる言語検出テストは、バイトn-gramメソッド、辞書に基づくメソッド、アルファベットに基づくメソッド、スクリプトに基づくメソッド、およびユーザ言語プロファイルメソッドからなる群から選択される少なくとも2つの方法を含むことができる。複数の異なる言語検出テストは、同時に(例えば、並列処理により)実行されてもよい。1つ以上の組み合わせは、バイトn-gramメソッドおよび辞書に基づくメソッドから得られたスコアセットを含むことができる。1つ以上の組み合わせは、ユーザ言語プロファイルメソッドおよび/またはアルファベットに基づくメソッドから得られたスコアセットをさらに含むことができる。
別の態様において、本発明は、1つ以上の記憶装置に記憶され、データ処理装置の処理モードを制御するためのコンピュータプログラム製品に関する。コンピュータプログラム製品は、データ処理装置によって実行されると、データ処理装置に以下の動作を実行させ
る。これらの動作は、ユーザに関連するメッセージに対して、複数の異なる言語検出テストを実行することを含み、各言語検出テストは、それぞれ一組のスコアであるスコアセットを決定し、スコアセット内の各スコアは、メッセージが複数の異なる言語のうち1つの言語である尤度を表す。これらの動作はさらに、スコアセットの1つ以上の組み合わせを入力として1つ以上の異なる分類器に与えることと、1つ以上の分類器の各々からの出力として、メッセージが複数の異なる言語のうち1つの言語であるという提示を取得することとを含み、提示は、信用度スコアを含む。これらの動作はさらに、信用度スコアおよび特定された言語分野のうち少なくとも一方に基づいて、メッセージの言語を、1つ以上の分類器のうちの1つの分類器により提示された言語として特定することを含む。
ある例において、特定の分類器は、教師付き学習モデル、部分教師付き学習モデル、教師なし学習モデル、または補間法である。メッセージの言語を特定するステップは、信用度スコアに基づいて提示された言語を選択することを含むことができる。メッセージの言語を特定するステップは、特定された言語分野に基づいて分類器を選択することを含むことができる。一部の例において、言語分野は、ビデオゲーム、スポーツ、ニュース、議事、政治、健康、および/または旅行であるまたはそれらを含む。
一部の例において、メッセージは、文字、数字、記号、および顔文字のうち2種以上を含む。複数の異なる言語検出テストは、バイトn-gramメソッド、辞書に基づくメソッド、アルファベットに基づくメソッド、スクリプトに基づくメソッド、およびユーザ言語プロファイルメソッドからなる群から選択される少なくとも2つの方法を含むことができる。複数の異なる言語検出テストは、同時に(例えば、並列処理により)実行されてもよい。1つ以上の組み合わせは、バイトn-gramメソッドおよび辞書に基づくメソッドから得られたスコアセットを含むことができる。1つ以上の組み合わせは、ユーザ言語プロファイルメソッドおよび/またはアルファベットに基づくメソッドから得られたスコアセットをさらに含むことができる。
本発明の所定の態様に関して記載された実施形態の要素は、本発明の別の態様のさまざまな実施形態に使用することができる。例えば、1つの独立請求項に従属している従属請求項の特徴は、他の独立請求項のいずれかの装置および/または方法に使用することができると考えられる。
言語検出を実行する例示的なシステムを示す図である。 テキストメッセージの言語を検出する例示的な方法を示すフローチャートである。 テキストメッセージの言語を検出する例示的なn-gramメソッドを示すフローチャートである。 テキストメッセージの言語を検出する例示的な辞書に基づくメソッドを示すフローチャートである。 テキストメッセージの言語を検出する例示的なアルファベットに基づくメソッドを示すフローチャートである。 テキストメッセージの言語を検出する例示的なスクリプトに基づくメソッドを示すフローチャートである。 テキストメッセージの言語を検出する例示的なユーザ言語プロファイルメソッドを示すフローチャートである。 例示的な言語検出メソッドモジュールを示す概略図である。 例示的な分類器モジュールを示す概略図である。 図7の言語検出メソッドモジュールおよび図8の分類器モジュールを用いて、テキストメッセージの言語を検出する例示的な方法を示すフローチャートである。 テキストメッセージの言語を検出する例示的な方法を示すフローチャートである。 テキストメッセージの言語を検出する例示的な方法を示すフローチャートである。 テキストメッセージの言語を検出する例示的な方法を示すフローチャートである。
詳細な説明
一般的に、メッセージの言語情報(例えば、クライアント装置からのキーボード情報)が欠落、変形または信頼できない場合に、本開示に記載の言語検出システムおよび言語検出方法を用いて、テキストメッセージの言語を特定することができる。本発明のシステムおよび方法は、1つの言語から別の言語にテキストメッセージを翻訳するために使用される言語翻訳方法の精度を向上させる。一般的に、言語の翻訳は、ソース言語を正確に特定することを必要とする。さもなければ、翻訳結果が不精確になる可能性がある。
図1Aは、テキストメッセージまたは音声メッセージなどのメッセージから言語を検出するための例示的なシステム10を示す。サーバシステム12は、メッセージの解析および言語の検出機能を提供する。サーバシステム12は、例えば1つ以上の地理的位置に配置された1つ以上のデータセンタ14に展開することができるソフトウェア部品およびデータベースを含む。サーバシステム12のソフトウェア部品は、検出メソッドモジュール16、分類器モジュール18、および管理モジュール20を含む。ソフトウェア部品は、同一のデータ処理装置または異なる個別のデータ処理装置上で実行可能なサブ部品を含むことができる。サーバシステム12のデータベースは、訓練データ22、辞書24、アルファベット26、スクリプト28、およびユーザプロファイル情報30を含む。データベースは、1つ以上の物理的な記憶システムに常駐することができる。ソフトウェア部品およびデータベースは、以下にさらに説明される。
ウェブアプリケーションなどのアプリケーションをエンドユーザアプリケーションとして提供することによって、ユーザは、メッセージをサーバシステム12に提供することができる。クライアント装置、例えばパーソナルコンピュータ34、スマートフォン36、タブレットコンピュータ38およびラップトップコンピュータ40のユーザは、ネットワーク32を介して、エンドユーザアプリケーションを利用することができる。他のクライアント装置も可能である。ユーザからのメッセージは、メッセージを作成するときに使用された装置に関する情報、例えば、メッセージを作成するときに使用されたキーボード、クライアント装置および/またはオペレーティングシステムに関する情報を含んでもよい。
図1Aに示された分類器モジュール18および管理モジュール20がデータベース(すなわち、訓練データ22、辞書24、アルファベット26、スクリプト28およびユーザプロファイル情報30)に接続されているが、分類器モジュール18および/または管理モジュール20は、必ずしもデータベースの一部または全てに接続される必要はない。一般的に、分類器モジュール18は、検出メソッドモジュール16から入力を受け取り、管理モジュール20は、分類器モジュール18から入力を受け取る。分類器モジュール18および/または管理モジュール20は、他の入力を受け取る必要はない。
図1Bは、システム10を用いてメッセージの言語を検出する例示的な方法100を示す。方法100は、ユーザによって生成されたテキストメッセージを受信または取得することによって始まる(ステップ102)。(例えば、検出メソッドモジュール16からの)1つ以上の言語検出メソッドを用いて、テキストメッセージを解析する(ステップ10
4)。各々の言語検出メソッドは、メッセージに存在する1つまたは複数の言語を提示する。次いで、(例えば、分類器モジュール18からの)1つ以上の分類装置を用いて、言語検出メソッドからの出力を結合する(ステップ106)ことによって、メッセージに存在する言語の更なる提示を提供する。1つ以上の分類器は、例えば、教師付き学習モデル、部分教師付き学習モデル、教師なし学習モデルおよび/または補間法を含むことができる。次いで、(例えば、管理モジュール20を用いて)1つ以上の分類器からの出力に基づいて、メッセージの言語を決定する(ステップ108)。
いくつかの実装例において、1つ以上の分類器からの言語提示は、計算された信用度スコアおよび/または言語分野に従って、管理モジュール20によって選択される。例えば、分類器は、言語の予測に関連する信用度を示す信用度スコアを計算することができる。追加的にまたは代替的に、ユーザまたはメッセージに関連する言語分野に従って、特定の分類器からの出力を選択してもよい。例えば、メッセージがコンピュータゲーム環境から由来した場合、最も正確な言語予測を提供する特定の分類器からの出力を選択することができる。同様に、メッセージがスポーツ(例えば、スポーツイベント)から由来した場合、スポーツ言語分野に対してより適切な別の分類器からの出力を選択することができる。他の可能性のある言語分野は、例えば、ニュース、議事、政治、健康、旅行、ウェブページ、新聞記事、およびマイクロブログメッセージを含む。一般的に、(例えば、分類器からの)ある種の言語検出メソッドまたは言語検出メソッドの組み合わせは、他の言語分野よりも、ある種の言語分野に対してより正確であり得る。いくつかの実装例において、言語分野は、メッセージに存在する専門用語に基づいて決定されてもよい。例えば、コンピュータゲーム用の専門用語は、ゲーマーによって使用される共通俗語を含むことができる。
検出メソッドモジュール16に使用される言語検出メソッドは、例えば、n-gramメソッド(例えば、バイトn-gramメソッド)、辞書に基づくメソッド、アルファベットに基づくメソッド、スクリプトに基づくメソッド、およびユーザ言語プロファイルメソッドを含むことができる。他の言語検出メソッドも可能である。これらの言語検出メソッドのいずれかを用いて、メッセージに存在する言語を検出することができる。各メソッドからの出力は、例えば、メッセージ内の各可能性のある言語に関連する確率の組または確率ベクトルであってもよい。一部の例において、並列計算を用いて、2つ以上の言語検出メソッドを同時に実行することができ、これによって、計算時間を大幅に短縮することができる。
一実装形態において、バイトn-gramメソッドは、単語n-gramまたは文字n-gramの代わりに、バイトn-gramを用いて言語を検出する。好ましくは、多項式イベントモデルを備えるナイーブベイズ分類器を用いて、バイトn-gramの混合物(例えば、1≦n≦4)上でバイトn-gramメソッドを訓練する。好ましくは、異なる言語分野からのデータに対して、モデルを一般化する。これによって、モデルのデフォルト構成は、新聞記事、オンラインゲーム、ウェブページ、およびマイクロブログメッセージを含む多様な分野にわたって正確である。言語を特定する作業に関する情報は、さまざまな分野から集約することができる。
分野内の訓練データが利用可能な従来のテキスト分類設定に対して、言語の特定を高精度で達成する作業は、比較的簡単である。1つの言語分野に対して学習したモデルパラメータを用いて、別の言語分野からデータを分類または分別しようとする場合、その作業はより難しくなる。この課題は、言語の特定作業に関連する重要な機能を重視することによって、対処することができる。対処方法は、例えば、情報利得(information gain)と呼ばれる概念に基づくことができる。この情報利得は、最初に決定木の分割基準として導入されたが、その後テキスト分類において特徴の選択に有用であることが判明した。ある実現例において、分野および言語に対して情報利得の差異を表す検出スコアが計算される。高い検出スコアを有する特徴は、分野に関する情報を提供することなく、言語に関する情
報を提供することができる。簡素化のため、情報利得を計算する前に、ターム頻度に基づく特徴の選択によって、候補特徴のセットから余分なものを取り除くことができる。
図2を参照して、例示的なバイトn-gramメソッド200は、訓練データ22を用いて訓練することによって始まる。例えば、多項イベントモデルを有する単純ベイズ分類器を用いて、バイトn-gramの混合物でメソッドを訓練することができる。訓練データ22は、好ましくは、大量の数および種類の言語に対して収集され、各言語に利用可能なデータの量が均一になるように調整される(ステップ202)。訓練データ22の一部を取り出し、テストセットに設定する(ステップ204)。訓練データ22を選択した後、適切な平滑化技術およびバックオフ技術を用いて、データ22上でバイトn-gramモデルを訓練する(ステップ206)。モデルの入力特徴が各入力文章からのバイトストリームであり且つこれらの文章のソース言語ラベルが既知であるため、モデルは、パラメータを調整して、所定の言語に特有のバイトシーケンスを学習する。最初に分けられたテストセットを用いて、訓練されたモデルに基づいて、言語ラベルを予測する(ステップ208)。予測の精度は、このバイトn-gramシステムの言語特定性能を決定する。一部の例において、多くの言語分野に亘ってデータを収集することによって、各言語分野に対してバイトn-gramシステムを訓練することは、困難である。その理由は、分野ごとに十分なデータがないからである。したがって、これらのバイトn-gramシステムは、典型的には、特定の分野ではなく、共通分野に対応するように訓練される。訓練されたモデルは、中間機械パラメータと共にプログラムにコンパイルされてもよい(ステップ210)。このプログラムは、汎用言語特定システムとして機能することができる。
一般的に、辞書に基づく言語検出メソッドは、言語に関連する辞書または単語リスト内の単語を検索することによって、言語に属するトークンまたは単語の数をカウントする。メッセージに最も多くの単語を有する言語は、最も可能性のある言語として選択される。最も可能性のある言語が複数である場合、最も可能性のある言語のうち、より頻繁にまたはより一般的に使用された言語を選択する。言語辞書は、辞書データベース24に記憶することができる。
図3は、例示的な辞書に基づく言語検出メソッド300を示すフローチャートである。テキストメッセージが提供され(ステップ302)、テキストメッセージの可能性のある言語セットが特定される(ステップ304)。次いで、セットから、第1の可能性のある言語を選択する(ステップ306)。可能性のある言語に対応する辞書に存在するテキストメッセージ内の単語をカウントする(ステップ308)。検討されていない追加の可能性のある言語が可能性のある言語セットに存在する場合(ステップ310)、新しい可能性のある言語を選択し(ステップ312)、ステップ308を繰り返す。セットからの全ての可能性のある言語を検討した後、テキストメッセージ内に最も多くの単語を有する言語が、メッセージの言語として特定されてもよい(ステップ314)。代替的にまたは追加的に、この方法を用いて、言語セット内の各言語がメッセージに存在する確率を計算することができる。例えば、辞書に基づくメソッドからの出力は、セット内の各言語の確率ベクトルであってもよい。
辞書に基づく言語検出メソッドの精度、特に短文の場合の精度を保証するために、好ましくは、正式単語に加えて、非正式単語またはチャット単語(略語、頭字語、俗語、不敬語)を含む辞書を使用することが望ましい。非正式単語は、ショートテキスト通信およびチャットルームによく使用される。好ましくは、非公式単語が新しく作成され使用されるときに、非正式単語を含むように、辞書を継続的に拡張する。
アルファベットに基づくメソッドは、一般的に、各言語のアルファベットの文字カウントに基づき、多くの言語が特有のアルファベットまたは異なる文字セットを有するという
所見に依存する。たとえば、ロシア語、英語、韓国語および日本語は、それぞれ異なるアルファベットを使用する。アルファベットに基づくメソッドは、一部の言語(例えば、ラテン語などの類似のアルファベットを使用する言語)を正確に区別することができないが、一般的に特定の言語を迅速に検出することができる。場合によって、本開示に説明したように、アルファベットに基づくメソッドを1つ以上の他の言語検出メソッド(例えば、分類器を用いる)と組み合わせて使用することが好ましい。言語のアルファベットは、アルファベットデータベース26に記憶される。
図4は、例示的なアルファベットに基づく言語検出メソッド400を示すフローチャートである。テキストメッセージが提供され(ステップ402)、テキストメッセージの可能性のある言語セットが特定される(ステップ404)。次に、セットから、第1の可能性のある言語を選択する(ステップ406)。可能性のある言語のアルファベットに存在するテキストメッセージ内の文字をカウントする(ステップ408)。検討されていない追加の可能性のある言語が可能性のある言語セットに存在する場合(ステップ410)、新しい可能性のある言語を選択し(ステップ412)、ステップ408を繰り返す。セットからの全ての可能性のある言語を検討した後、テキストメッセージに最も多くの文字を有する言語が、メッセージの言語として特定されてもよい(ステップ414)。代替的にまたは追加的に、アルファベットに基づくメソッドを用いて、言語セット内の各言語がメッセージに存在する確率を計算することができる。例えば、アルファベットに基づくメソッドからの出力は、セット内の各言語の確率ベクトルであってもよい。
一般的に、スクリプトに基づく言語検出メソッドは、メッセージに存在する可能性のある各スクリプト(例えば、ラテン語スクリプト、CJKスクリプトなど)の文字カウントを決定する。スクリプトに基づくメソッドは、異なる言語が異なるスクリプト(例えば、中国語および英語)を使用する可能性があるという所見に依存する。この方法は、好ましくは、スクリプトを使用する言語のリストにスクリプトをマッピングするマップを使用する。例えば、マップは、メッセージに存在する文字または記号のユニコード値を考慮する。これらのユニコード値は、メッセージに対応する言語または可能性のある言語セットにマッピングされてもよい。言語スクリプトおよびユニコード値または範囲値は、スクリプトデータベース28に記憶されてもよい。
図5を参照して、例示的なスクリプトに基づくメソッド500において、テキストメッセージが提供され(ステップ502)、メッセージに存在するスクリプトが特定される(504)。次いで、各スクリプトの文字数をカウントする(ステップ506)。最大文字数を有するスクリプトが最も可能なスクリプトであると考えられ(ステップ508)、最も可能なスクリプトに対応する言語を特定する(ステップ510)。最も可能なスクリプトトが1つのみの言語に対応している場合、その言語は、最も可能性のある言語であると考えられる。最も可能なスクリプトが複数の言語に対応する場合、追加の言語検出メソッドを使用して、さらなる検出を行うことができる。いくつかの実現例において、スクリプトに基づくメソッドからの出力は、メッセージに存在する可能な各言語の確率の(例えば、ベクトル形式)集合である。
ユーザ言語プロファイルに基づくメソッドは、さまざまなユーザによって送信された過去メッセージを記憶するユーザプロファイルデータベース30を使用する。記憶されたこれらのメッセージの言語は、例えば、本開示に記載され、各ユーザによって使用された言語を特定する1つ以上の他の言語検出メソッド(例えば、バイトn-gramメソッド)を用いて、検出される。例えば、ユーザの全ての過去メッセージがスペイン語である場合、そのユーザの言語プロファイルは、ユーザの優先言語がスペイン語であることを示すことができる。同様に、ユーザの過去メッセージが異なる言語の混合である場合、ユーザの言語プロファイルは、異なる言語に関連する確率を示すことができる(例えば、英語80%、フ
ランス語15%、スペイン語5%)。一般的に、ユーザ言語プロファイルに基づくメソッドは、非常に短いメッセージに関連する言語検出問題に対処する。これらのメッセージは、正確な言語決定を行うのに十分な情報をもっていないことが多い。この場合、ユーザが以前に使用した言語を引き続き使用することを想定して、ユーザの言語嗜好を用いてユーザのメッセージの言語を予測することができる。
図6を参照して、例示的なユーザ言語プロファイル検出メソッド600は、ユーザの過去メッセージを記憶し(ステップ602)、記憶されたメッセージに存在する言語を検出する(ステップ604)。異なる言語がユーザのメッセージに現れる頻度を判断し(606)、出力する(ステップ608)。
図7を参照して、検出メソッドモジュール16には、さまざまな言語検出メソッドを組み込むことができる。テキストメッセージを検出メソッドモジュール16に入力することができ、1つ以上の言語検出メソッドがそのメッセージの言語を特定することができる。例えば、各言語検出メソッドは、確率ベクトルを提供することができる。ベクトル内の各確率は、メッセージ内の可能性のある言語に関連付けられ、メッセージが所定の言語を使用する可能性を表す。使用される異なる方法およびメッセージに利用可能な情報により、各言語検出メソッドからの確率が一致しないことがある。検出メソッドモジュール16は、例えば、n-gram検出メソッド(例えば、バイトn-gram検出メソッド200)を実行するためのn-gramモジュール702、辞書に基づくメソッド300を実行するための辞書に基づくモジュール704、アルファベットに基づくメソッド400を実行するためのアルファベットに基づくモジュール706、スクリプトに基づくメソッド500を実行するためのスクリプトに基づくモジュール708、およびユーザ言語プロファイルメソッド600を実行するためのユーザ言語プロファイルモジュール710を含むまたは利用することができる。必要に応じて、追加の言語検出メソッドを検出メソッドモジュール16に組み込むことができる。いくつかの既知の方法には、単語レベルのn-gram、マルコフモデルおよび予測モデリング技術の使用を含む。
検出メソッドモジュール16内のさまざまな言語検出メソッドからの出力は、分類器モジュール18を用いて結合することができる。図8を参照して、分類器モジュール18は、補間モジュール802、サポートベクトルマシン(SVM)モジュール804、および線形SVMモジュール806を含むことができる。
補間モジュール802を用いて、2つ以上の言語検出メソッドからの結果の線形補間を行う。例えば、テキストメッセージの言語は、バイトn-gramメソッドの結果および辞書に基づくメソッドの結果を補間することによって決定することができる。チャットメッセージ「lol gtg」の場合、バイトn-gramメソッドは、英語である可能性が0.3であり、フ
ランス語である可能性が0.4であり、ポーランド語である可能性が0.3であると判定することができる(すなわち、バイトn-gramメソッドの出力は、{en:0.3, fr:0.4, pl:0.3}である)。辞書に基づくメソッドは、英語である可能性が0.1であり、フランス語である可能性が0.2であり、ポーランド語である可能性が0.7であると判定することができる(すなわち、辞書に基づくメソッドは、{en:0.1, fr:0.2, pl:0.7}である)。これらの2つの方法の結果を補間するために、バイトn-gramからの出力に第1重みを乗算し、辞書に基づくメソッドからの出力に第2重みを乗算する。第1重みおよび第2重みの合計が1である。次いで、2つの方法からの重み付き出力を加算する。例えば、バイトn-gramの結果に0.6の重みを与えた場合、辞書に基づく結果に0.4の重みを与える。2つの方法の補間は、{en:0.3, fr:0.4, pl: 0.3}*0.6 + {en:0.1, fr:0.2, pl:0.7}*0.4 = {en:0.22, fr:0.32, pl:0.46}である。
一般的に、2つ以上の値を補間するための最適な重み値は、試行錯誤によって決定する
ことができる。所定のメッセージのセットに対して異なる重みを試すことによって、最も可能な重みのセットを特定するができる。場合によって、重みは、メッセージ内の単語または文字の数の関数であってもよい。代替的または追加的に、重みは、メッセージの言語分野に依存してもよい。例えば、ゲーム環境の最適な重みは、スポーツ環境の最適な重みと異なる場合がある。バイトn-gramメソッドと辞書に基づくメソッドとの組み合わせについて、バイトn-gramメソッドに0.1という重みを用いて、辞書法に0.9という重みを用いて、良好な結果を得ることができる。
SVMモジュール804は、言語データを分析し、言語パターンを認識する教師付き学習モデルであってもよく、それを含んでもよい。SVMモジュール804は、例えば、マルチクラスSVM分類器であってもよい。英語のSVM分類器の場合、特徴ベクトルは、上記の2つの分布の連結(すなわち、{en:0.3, fr:0.4, pl:0.3, en:0.1, fr:0.2, pl:0.7})であってもよい。SVM分類器は、好ましくは、ラベルされた訓練データに対して訓練される。訓練されたモデルは、入力の予測器として機能する。言語検出の場合に選択される特徴は、例えば、バイト、単語またはフレーズのシーケンスであってもよい。入力の訓練ベクトルは、多次元空間にマッピングすることができる。次いで、SVMアルゴリズムは、カーネルを用いて、これらの次元間の最適な分離超平面を特定することができ、アルゴリズムに言語(この場合)を予測する顕著な能力を与える。カーネルは、例えば、線形カーネル、多項式カーネル、または放射基底関数(RBF)カーネルであってもよい。SVM分類器の好ましいカーネルは、RBFカーネルである。訓練データを用いてSVM分類器を訓練した後、分類器を用いて、全ての可能性のある言語の中から最も可能性のある言語を出力することができる。
例えば、異なるメッセージ長、言語分野および/または言語を有する多くのメッセージ用の訓練データは、異なる言語検出メソッドからの出力ベクトルおよび正しい言語を表す提示であってもよく、それを含んでもよい。訓練データは、各メッセージの言語が既知である多くのメッセージを含むことができる。
線形SVMモジュール806は、大規模線形分類器であってもよく、それを含んでもよい。線形カーネルを有するSVM分類器は、線形回帰などの他の線形分類器よりも優れた性能を発揮することができる。線形SVMモジュール806は、カーネルレベルでSVMモジュール804と異なる。場合によって、多項式モデルは、線形モデルよりも優れた性能を発揮し、その逆も可能である。最適カーネルは、メッセージデータの言語分野および/またはデータの性質に依存してもよい。
本開示に記載のシステムおよび方法に使用され得る他の分類器は、例えば、決定木学習、関連ルール学習、人工神経ネットワーク、帰納的理論プログラミング、ランダムフォレスト、クラスタリング、ベイジアンネットワーク、強化学習、表現学習、類似性およびメトリック学習、およびスパース辞書学習を含む。これらの分類器または他の分類器の1つ以上は、分類器モジュール18に組み込むことができ、および/または分類器モジュール18の一部を形成することができる。
図9を参照して、例示的な方法900は、検出メソッドモジュール16、分類器モジュール18および管理モジュール20を用いて、メッセージの言語を検出する。メッセージは、検出メソッドモジュール16に提供または供給される(ステップ902)。メッセージは、メッセージに関する情報および/またはメッセージを作成したユーザに関する情報を含んでもよい。情報は、例えば、ユーザ識別番号、メッセージを作成するためにユーザによって使用されたキーボードに関する情報、および/またはメッセージを作成するためにユーザによって使用されたソフトウェアを制御するオペレーティングシステムに関する情報を含んでもよい。例えば、メッセージは、ユーザがフランス語キーボードを用いてメ
ッセージを作成し、そのユーザのオペレーティングシステムが英語であることを示すデータを含んでもよい。
検出メソッドモジュール16内の1つ以上の言語検出メソッドを用いて、メッセージの言語を検出する(ステップ904)。検出メソッドモジュール16によって使用される各方法は、メッセージに存在する言語に関する予測を出力することができる。予測は、メッセージ内に存在する可能性のある各言語の確率を含むベクトルであってもよい。
次に、検出メソッドモジュール16からの出力は、2つ以上の言語検出メソッドからの結果を結合することができる分類器モジュール18に供給される(ステップ906)。これによって、言語検出メソッドの結果のさまざまな組み合わせを得ることができる。一例において、バイトn-gramメソッドおよび辞書に基づくメソッドからの結果は、補間によって分類器モジュール18において結合される。別の例において、バイトn-gramメソッド、辞書に基づくメソッド、アルファベット法、及びユーザプロファイルメソッドからの結果に対してSVM結合または分類が実行される。代替的にまたは追加的に、その結合は、スクリプトに基づくメソッドの結果を含んでもよく、考慮してもよい。さらなる例は、バイトn-gramメソッド、言語プロファイルメソッドおよび辞書メソッドの大きな線形結合を含む。しかしながら、一般的に、分類器モジュール18において、任意の2つ以上の言語検出メソッドの結果を結合することができる。
方法900は、管理モジュール20を用いて、特定の分類器から出力を選択する(ステップ908)。出力は、例えば、分類器によって計算された信用度スコア、期待される言語検出精度および/またはメッセージの言語分野に基づいて選択されてもよい。次に、選択された分類器の出力から、最も可能性のある言語を決定する(ステップ910)。
一部の例において、本開示に記載のシステムおよび方法は、メッセージの長さに応じて言語検出メソッドを選択する。例えば、図10を参照して、方法1000は、メッセージを作成するときに使用されたキーボード言語に関する情報を含むメッセージを受信または提供すること(ステップ1002)を含む。メッセージが閾値長さ(例えば、25バイトまたは25文字)よりも長い場合(ステップ1004)、バイトn-gramメソッド(または他の方法、または方法の組み合わせ)を用いて、言語を検出することができる(ステップ1006)。次いで、バイトn-gramメソッドからの結果に基づいて、メッセージの言語を選択することができる(ステップ1008)。一方、メッセージが閾値長以下である場合、システムは、キーボード言語が利用可能であるか否かを判断することができる(ステップ1010)。キーボード言語が利用可能である場合、キーボード言語と同様であるように、メッセージの言語を選択してもよい(ステップ1012)。代替的には、キーボード言語が利用可能でない場合、方法1000は、再びメッセージの長さを考慮してもよい。例えば、メッセージ長が第2閾値(例えば、4バイトまたは4文字)未満である場合(ステップ1014)、辞書に基づくメソッドを用いて言語を検出し、選択することができる(ステップ1016)。メッセージ長が第2閾値よりも大きい場合、バイトn-gramメソッド(または他の方法または方法の組み合わせ)を使用して、メッセージの言語を検出することができる(ステップ1018)。バイトn-gramメソッドおよび辞書に基づくメソッドからの結果は、(例えば、補間器または他の分類器を用いて)結合されてもよく、メッセージの言語は、結合に基づいて決定されてもよい(ステップ1020)。
図11は、テキストメッセージの言語を特定する例示的な方法1100である。ユーザのクライアント装置上で作成されたテキストメッセージが受信または提供される(ステップ1102)。アルファベットに基づくメソッドおよび/またはスクリプトに基づくメソッドを用いて、テキストメッセージに関連するアルファベットおよび/またはスクリプトを決定する(ステップ1104)。アルファベットおよび/またはスクリプトに関連付け
られた候補言語を特定する。候補言語が独特なアルファベットおよび/またはスクリプトを有する言語(例えば、ロシア語、アラビア語、ヘブライ語、ギリシャ語、中国語、台湾語、日本語または韓国語)である場合(ステップ1106)、その候補言語は、テキストメッセージの言語として決定される(ステップ1108)。
一方、候補言語が独特なアルファベットおよび/またはスクリプトを有する言語でない場合、テキストメッセージの長さを評価する。メッセージ長が閾値長(例えば、4バイトまたは4文字)未満であり且つテキストメッセージがクライアント装置によって使用されたキーボード言語を含むまたは備える場合(ステップ1110)、メッセージの言語は、キーボード言語として選択される(ステップ1112)。
代替的には、メッセージ長が閾値長よりも長い場合またはキーボード言語が利用できない場合、n-gramメソッド(例えば、バイトn-gramメソッド)を用いてメッセージを処理することによって、テキストメッセージの第1の可能性のある言語セットを特定する(ステップ1114)。その後、辞書に基づくメソッドを用いてメッセージを処理することによって、テキストメッセージの第2の可能性のある言語セットを特定する(ステップ1116)。ユーザ言語プロファイルが存在する場合(ステップ1118)、(例えば、SVM分類器または大きな線形分類器を用いて)第1の可能性のある言語セット、第2の可能性のある言語セットおよびユーザ言語プロファイル(1120)を組み合わせることによって、第1の可能性のある言語の組み合わせを取得する(ステップ1122)。次いで、第1の可能性のある言語の組み合わせに基づいて、テキストメッセージの言語を選択する(ステップ1124)。一方、ユーザ言語プロファイルが利用できない場合、(例えば、線形補間器または他の分類器を用いて)第1の可能性のある言語セットおよび第2の可能性のある言語セットを組み合わせることによって、第1の可能性のある言語の組み合わせを取得する(ステップ1126)。最後に、第2の可能性のある言語の組み合わせに基づいて、テキストメッセージの言語を選択する(ステップ1128)。
一部の例において、2つ以上のステップで複数の言語検出メソッドの出力を組み合わせることによって、言語検出を実行する。たとえば、第1ステップは、アルファベットスクリプトに基づくメソッドを用いて、中国語(cn)、日本語(ja)、韓国語(ko)、ロシア語(ru)、ヘブライ語(he)、ギリシャ語(el)、アラビア語(ar)などの独特なアルファベットまたはスクリプトを使用する特殊言語を検出することができる。必要に応じて、第2ステップは、複数の検出メソッド(例えば、バイトn-gramメソッド、ユーザ言語プロファイルに基づくメソッドおよび辞書に基づくメソッド)の組み合わせ(例えば、分類器からのもの)を使用して、メッセージに存在する他の言語(例えば、ラテン語など)を検出することができる。
一部の例において、言語検出のために提供または受信されたメッセージは、特定の言語に固有ではなくおよび/または言語嗜好に関係なく、任意のユーザに認識できる特定の数字、文字または画像(例えば、顔文字または絵文字)を含む。本開示に記載のシステムおよび方法は、言語検出を行う際に、このような文字または画像もしくはこのような文字または画像のみを含むメッセージを無視することができる。
図12は、メッセージの言語を検出する例示的な方法1200を示すフローチャートである。この方法は、検出メソッドモジュール16、分類器モジュール18およびマネージャーモジュール20を用いて、所定の入力メッセージ1204の最も可能性のある言語または最も良い言語1202を特定する。入力メッセージ1204は、ユーザまたはメッセージを作成するときに使用されたシステムに関する情報を含むことができる。例えば、入力メッセージ1204は、ユーザ識別番号(または他のユーザ識別子)、メッセージを作成するときに使用されたキーボードに関する情報(例えば、キーボード言語)、および/
またはメッセージを作成するときに使用されたオペレーティングシステムに関する情報(例えば、オペレーティングシステム言語)を含んでもよい。
図示された例示的な方法1200において、検出メソッドモジュール16は、10個の異なる言語検出メソッドを含む。検出メソッドモジュール16に含まれた3つの言語検出メソッドは、バイトn-gram A 1206)、バイトn-gram B 1208およびバイトn-gram C 1210である。これらは、全てバイトn-gramメソッドであり、異なるセットまたは数の言語を検出するように構成することができる。例えば、バイトn-gram A 1206は、97個の言語を検出するように構成され、バイトn-gram B 1208は、27個の言語を検出するように構成され、バイトn-gram C 1210は、20個の言語を検出するように構成されてもよい。検出メソッドモジュール16に含まれた言語検出メソッドのうち2つは、辞書に基づくメソッドであり、異なるセットまたは数の言語を検出するように構成され得る辞書A 1212および辞書B 1214である。例えば、辞書A 1212は
、9個の言語を検出するように構成され、辞書B 1214は、10個の言語を検出する
ように構成されてもよい。検出メソッドモジュール16に含まれた言語検出メソッドのうち2つは、ユーザ言語プロファイルメソッドであり、異なるセットまたは数の言語を検出するように構成することができる言語プロファイルA 1216および言語プロファイル
B 1218である。例えば、言語プロファイルA 1216は、20個の言語を検出するように構成されてもよく、言語プロファイルB 1218は、27個の言語を検出するよ
うに構成されてもよい。検出メソッドモジュール16に含まれた言語検出メソッドのうち2つは、アルファベットに基づくメソッドであり、異なるセットまたは数の言語を検出するように構成されたアルファベットA 1220およびアルファベットB 1222である。例えば、アルファベットA 1220は、20個の言語を検出するように構成されても
よく、アルファベットB 1222は、27個の言語を検出するように構成されてもよい
。検出メソッドモジュール16は、さらに、スクリプトに基づく言語検出メソッド1224を含む。
検出メソッドモジュール16内の異なる言語検出メソッドからの出力は、分類器モジュール18によって結合され処理される。例えば、補間分類器1226は、バイトn-gram
B 1208および辞書B 1214からの出力を結合する。バイトn-gram B 1208の補間重みは、例えば0.1であってもよく、辞書B 1214のの補間重みは、例えば0
.9であってもよい。分類器モジュール18は、バイトn-gram C 1210、辞書B 1
214、言語プロファイルB 1218、およびアルファベットB 1222からの出力を結合するSVM分類器1228を使用することもできる。分類器モジュール18は、スクリプトに基づくメソッド1224と、バイトn-gram C 1210、辞書A 1212、言
語プロファイルA 1216およびアルファベットA 1220のSVM分類器組み合わせとの第1組み合わせ1230を使用することもできる。さらに、分類器モジュール18は、スクリプトに基づくメソッド1224と、バイトn-gram C 1210、辞書A 121
2および言語プロファイルA 1216の線形SVM分類器組み合わせとの第2組み合わ
せ1232を使用することもできる。図12は、特定の分類器モジュール18に使用された言語検出テスト、分類器および/または検出テストの出力の組み合わせを示しているが、他の言語検出テスト、分類器および/または組み合わせを使用することもできる。
第1組み合わせ1230および第2組み合わせ1232の両方に、スクリプトに基づくメソッド1224および分類器を段階的な手法で使用することができる。例えば、スクリプトに基づくメソッド1224を用いて、独特なスクリプトを有する言語を迅速に特定することができる。メッセージ1204の言語を特定した場合、第1組み合わせ1230のSVM分類器または第2組み合わせの線形SVM分類器を使用する必要がない。
一般的に、管理モジュール20は、特定の言語検出メソッド、分類器および/または検
出メソッドの出力の組み合わせを選択することによって、メッセージ1204内の言語を特定することができる。管理モジュール20は、言語分野に従ってまたはメッセージの予測言語に従って、上記の選択を行うことができる。例えば、管理モジュール20は、分類器によって決定された信用度スコアに従って、特定の分類器を選択することができる。例えば、管理モジュール20は、分類器からの最も高い予測信用度スコアを有する出力を選択することができる。
特定の実現例において、本開示に記載のシステムおよび方法は、言語の検出をサービスとして複数のユーザに提供することに適している。このサービスは、システムおよび方法が言語を特定する速度によって可能になり、および/または多様なクライアントからのサービス要求に基づいて、実行時に複数の特定技術を処理するシステムおよび方法の能力によって強化される。
本開示に記載された主題および動作の実施形態は、本開示に開示された構造およびそれらの構造的均等物を含むデジタル電子回路、コンピュータソフトウェア、ファームウェアまたはハードウェア、もしくはそれらの1つ以上の組み合わせにおいて、実現することができる。本開示に記載された主題の実施形態は、1つ以上のコンピュータプログラム、すなわち、コンピュータ記憶媒体上に符号化され、データ処理装置によって実行されるまたはデータ処理装置の動作を制御するためのコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。これに代えてまたは加えて、プログラム命令は、人為的に生成された伝播信号、例えば、データ処理装置による実行のため、情報を適切な受信機に送信するために符号化することによって生成された機械生成電気信号上に符号化されてもよい。コンピュータ記憶媒体は、コンピュータ可読記憶装置、コンピュータ可読記憶基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、またはそれらの1つ以上の組み合わせであってもよく、またはそれらを含んでもよい。また、コンピュータ記憶媒体は、伝播信号ではないが、人工的に生成された伝播信号に符号化されたコンピュータプログラム命令のソースまたは宛先であってもよい。コンピュータ記憶媒体は、1つ以上の別個の物理要素または媒体(例えば、複数のCD、ディスク、または他の記憶装置)であってもよく、それらに含まれてもよい。
本開示に記載の動作は、データ処理装置によって、1つ以上のコンピュータ可読記憶装置に記憶されたデータまたは他のソースから受信されたデータに対して実行される動作として実現することができる。
「データ処理装置」という用語は、データを処理するための全ての種類の機械、デバイスおよびマシン、例えばプログラム可能なプロセッサ、コンピュータ、チップシステム、またはこれらの複数のものによる組み合わせを含む。装置は、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路を含むことができる。装置は、ハードウェアに加えて、関与するコンピュータプログラムの実行環境を生成するコード、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの1つ以上の組み合わせを構成するコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングインフラストラクチャおよびグリッドコンピューティングインフラストラクチャなど、さまざまな異なるコンピューティングモデルインフラストラクチャを実現することができる。
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとも知られている)コンピュータプログラムは、コンパイル言語またはインタープリタ言語、宣言型言語または手続き型言語を含む任意のプログラミング言語で記述することが
でき、スタンドアロンプログラムとしてまたはコンピューティング環境内の使用に適したモジュール、コンポーネント、サブルーチン、オブジェクトまたはその他のユニットとしての任意の形で使用することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、必ずしも対応する必要がない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語文書に記憶された1つ以上のスクリプト)を保持するファイルの一部、関与しているプログラムに専用の単一ファイル、または複数の同格ファイル(例えば、1つ以上のモジュール、サブプログラムまたはコードの一部を記憶するファイル)に記憶されてもよい。コンピュータプログラムは、1つのコンピュータ上で、または1つのサイトに配置されまたは複数のサイトにわたって分散され、通信ネットワークによって相互接続されている複数のコンピュータ上で実行するように実装することができる。
本開示に記載のプロセスおよびロジックフローは、入力データを操作して出力を生成することによって動作を行う1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実施することができる。また、プロセスおよびロジックフローは、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によっても実施することができ、装置は、専用論理回路として実装することもできる。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサ、専用マイクロプロセッサ、および任意のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、読出専用メモリまたはランダムアクセスメモリもしくはその両方から、命令およびデータを受信する。コンピュータの必須要素は、命令に従って動作を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上のメモリデバイスとである。一般的に、コンピュータはまた、データを記憶するための1つ以上の大容量記憶装置、例えば磁気ディスク、磁気光ディスクまたは光ディスクを含むおよび/またはこれらの大容量記憶装置とデータを送受信するように動作可能に結合される。しかしながら、コンピュータは、これらの装置を有する必要がない。さらに、コンピュータは、別のデバイス、例えば携帯電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、または携帯型記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)を含むことができる。コンピュータプログラム命令およびデータの記憶に適したデバイスは、例えば、EPROM、EEPROMおよびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、CD−ROMおよびDVD−ROMディスクを含む全ての種類の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完されてもよく、専用論理回路に組み込まれてもよい。
ユーザとの対話を提供するために、本開示に記載された主題の実施形態は、情報をユーザに提示するための表示装置(例えば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタ)、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を備えたコンピュータ上で実装することができる。他の種類の装置を用いて、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、任意種類の感覚フィードバック、例えば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであってもよく、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形で受信することができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、例えば、ウェブブラウザから受信した要求に応答して、ユーザのクライアント装置上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
本開示に記載された主題の実施形態は、例えばデータサーバなどのバックエンドコンポーネント、またはアプリケーションサーバなどのミドルウェアコンポーネント、ユーザが本開示に記載された主題の実装と対話することができるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータなどのフロントコンポーネント、または1つ以上のバックエンドコンポーネント、ミドルウェアコンポーネントまたはフロントエンドコンポーネントの組み合わせを含むコンピューティングシステムに実現することができる。システムのコンポーネントは、任意の形式または媒体のデジタルデータ通信、例えば通信ネットワークと相互接続することができる。通信ネットワークの例として、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(「WAN」)、ネットワーク間(例えば、インターネット)、およびピアツーピアネットワーク(例えば、臨時用ピアツーピアネットワーク)。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般的に互いに遠隔であり、典型的には通信ネットワークを介して相互作用する。クライアントとサーバとは、対応するコンピュータ上で実行し、互いにクライアント−サーバ関係を有するコンピュータプログラムである。いくつかの実施形態において、サーバは、(例えば、クライアント装置と対話するユーザにデータを表示し、ユーザから入力を受信するために)データ(例えば、HTMLページ)をクライアント装置に送信する。クライアント装置で生成されたデータ(例えば、ユーザ対話の結果)は、サーバ上でクライアント装置から受信することができる。
本開示は、多くの具体的な実施詳細を含むが、これらの詳細は、発明の範囲または請求可能な範囲を限定するものではなく、むしろ特定の発明の特定の実施形態に特有の特徴の説明として考えるべきである。本開示の別個の実施形態に記載された特定の特徴は、単一の実施形態において組み合わせとして実施することもできる。逆に、単一の実施形態に記載されたさまざまな特徴は、複数の実施形態において、別々にまたは任意の適切なサブ組み合わせで実施することもできる。さらに、上記で特徴を特定の組み合わせで作用するものとして説明したが、このような説明にも拘らず、1つ以上の特徴は、説明した組み合わせから削除されてもよく、説明した組み合わせは、サブコンビネーションに変形されてもよい。
同様に、動作が特定の順序で図面に示されているが、望ましい結果を達成するために、図示された順序または順番に従ってこれらの動作を実行する必要があるまたは図示された全ての動作を実行する必要があると理解すべきではない。特定の状況において、マルチ作業および並列処理は、有利である可能性がある。例えば、並列処理を使用して、複数の言語検出メソッドを同時に実行することができる。さらに、上述の実施形態におけるさまざまなシステム要素の分離は、全ての実施形態においてそのような分離が必要であると理解すべきではなく、記載されたプログラム要素およびシステムは、一般的に、単一のソフトウェア製品に一体化されまたは複数のソフトウェア製品にパッケージ化することができると理解すべきである。
したがって、主題の特定の実施形態を説明した。他の実施形態は、添付の特許請求の範囲内にある。場合によって、請求項に列挙された動作は、異なる順序で実行され、依然として望ましい結果を達成することができる。さらに、望ましい結果を達成するために、添付の図面に示されるプロセスは、必ずしも示された特定の順序または順番に従う必要がない。特定の実現例において、マルチ作業および並列処理が有利である可能性がある。

Claims (30)

  1. メッセージの言語を特定するためのコンピュータ実施方法であって、
    ユーザに関連するメッセージに対して、複数の異なる言語検出テストを実行するステップを含み、各言語検出テストは、それぞれ一組のスコアであるスコアセットを決定し、前記スコアセット内の各スコアは、メッセージが複数の異なる言語のうち1つの言語である尤度を表し、前記方法はさらに、
    前記スコアセットの1つ以上の組み合わせを入力として1つ以上の異なる分類器に与えるステップと、
    前記1つ以上の分類器の各々からの出力として、前記メッセージが前記複数の異なる言語のうち1つの言語であるという提示を取得するステップとを含み、前記提示は、信用度スコアを含み、前記方法はさらに、
    前記信用度スコアおよび特定された言語分野のうち少なくとも一方に基づいて、前記メッセージの前記言語を、前記1つ以上の分類器のうちの1つの分類器により提示された言語として特定するステップを含む、コンピュータ実施方法。
  2. 特定の分類器は、教師付き学習モデル、部分教師付き学習モデル、教師なし学習モデル、または補間法である、請求項1に記載の方法。
  3. 前記メッセージの前記言語を特定するステップは、前記信用度スコアに基づいて、前記提示された言語を選択することを含む、請求項1に記載の方法。
  4. 前記メッセージの前記言語を特定するステップは、前記特定された言語分野に基づいて、前記分類器を選択することを含む、請求項1に記載の方法。
  5. 前記言語分野は、ビデオゲーム、スポーツ、ニュース、議事、政治、健康、および旅行からなる群から選択される、請求項1に記載の方法。
  6. 前記メッセージは、文字、数字、記号および顔文字のうち2種以上を含む、請求項1に記載の方法。
  7. 前記複数の異なる言語検出テストは、バイトn-gramメソッド、辞書に基づくメソッド、アルファベットに基づくメソッド、スクリプトに基づくメソッド、およびユーザ言語プロファイルメソッドからなる群から選択される少なくとも2つのメソッドを含む、請求項1に記載の方法。
  8. 前記複数の異なる言語検出テストは、同時に実行される、請求項1に記載の方法。
  9. 前記1つ以上の組み合わせは、バイトn-gramメソッドおよび辞書に基づくメソッドから得られたスコアセットを含む、請求項1に記載の方法。
  10. 前記1つ以上の組み合わせは、ユーザ言語プロファイルメソッドおよびアルファベットに基づくメソッドのうち、少なくとも1つのメソッドから得られたスコアセットをさらに含む、請求項8に記載の方法。
  11. メッセージの言語を特定するためのシステムであって、
    命令を記憶するコンピュータ記憶装置と、
    前記命令を実行して以下の動作を実行するように構成されたデータ処理装置とを備え、
    前記動作は、
    ユーザに関連するメッセージに対して、複数の異なる言語検出テストを実行すること
    を含み、各言語検出テストは、それぞれ一組のスコアであるスコアセットを決定し、前記スコアセット内の各スコアは、メッセージが複数の異なる言語のうち1つの言語である尤度を表し、前記動作はさらに、
    前記スコアセットの1つ以上の組み合わせを入力として1つ以上の異なる分類器に与えることと、
    前記1つ以上の分類器の各々からの出力として、前記メッセージが前記複数の異なる言語のうち1つの言語であるという提示を取得することとを含み、前記提示は、信用度スコアを含み、前記動作はさらに、
    前記信用度スコアおよび特定された言語分野のうち少なくとも一方に基づいて、前記メッセージの前記言語を、前記1つ以上の分類器のうちの1つの分類器により提示された言語として特定することを含む、システム。
  12. 特定の分類器は、教師付き学習モデル、部分教師付き学習モデル、教師なし学習モデル、または補間法である、請求項11に記載のシステム。
  13. 前記メッセージの前記言語を特定することは、前記信用度スコアに基づいて、前記提示された言語を選択することを含む、請求項11に記載のシステム。
  14. 前記メッセージの前記言語を特定することは、前記特定された言語分野に基づいて、前記分類器を選択することを含む、請求項11に記載のシステム。
  15. 前記言語分野は、ビデオゲーム、スポーツ、ニュース、議事、政治、健康、および旅行からなる群から選択される、請求項11に記載のシステム。
  16. 前記メッセージは、文字、数字、記号、および顔文字のうち2種以上を含む、請求項11に記載のシステム。
  17. 前記複数の異なる言語検出テストは、バイトn-gramメソッド、辞書に基づくメソッド、アルファベットに基づくメソッド、スクリプトに基づくメソッド、およびユーザ言語プロファイルメソッドからなる群から選択される少なくとも2つのメソッドを含む、請求項11に記載のシステム。
  18. 前記複数の異なる言語検出テストは、同時に実行される、請求項11に記載のシステム。
  19. 前記1つ以上の組み合わせは、バイトn-gramメソッドおよび辞書に基づくメソッドから得られたスコアセットを含む、請求項11に記載のシステム。
  20. 前記1つ以上の組み合わせは、ユーザ言語プロファイルメソッドおよびアルファベットに基づくメソッドのうち、少なくとも1つのメソッドから得られたスコアセットをさらに含む、請求項18に記載のシステム。
  21. 1つ以上の記憶装置に記憶され、データ処理装置の処理モードを制御するためのコンピュータプログラム製品であって、
    前記コンピュータプログラム製品は、前記データ処理装置によって実行されると、前記データ処理装置に以下の動作を実行させ、
    前記動作は、
    ユーザに関連するメッセージに対して、複数の異なる言語検出テストを実行することを含み、各言語検出テストは、それぞれ一組のスコアであるスコアセットを決定し、前記スコアセット内の各スコアは、メッセージが複数の異なる言語のうち1つの言語である尤
    度を表し、前記動作はさらに、
    前記スコアセットの1つ以上の組み合わせを入力として1つ以上の異なる分類器に与えることと、
    前記1つ以上の分類器の各々からの出力として、前記メッセージが前記複数の異なる言語のうち1つの言語であるという提示を取得することとを含み、前記提示は、信用度スコアを含み、前記動作はさらに、
    前記信用度スコアおよび特定された言語分野のうち少なくとも一方に基づいて、前記メッセージの前記言語を、前記1つ以上の分類器のうちの1つの分類器により提示された言語として特定することを含む、コンピュータプログラム製品。
  22. 特定の分類器は、教師付き学習モデル、部分教師付き学習モデル、教師なし学習モデル、または補間法である、請求項21に記載のコンピュータプログラム製品。
  23. 前記メッセージの前記言語を特定することは、前記信用度スコアに基づいて、前記提示された言語を選択することを含む、請求項21に記載のコンピュータプログラム製品。
  24. 前記メッセージの前記言語を特定することは、前記特定された言語分野に基づいて、前記分類器を選択することを含む、請求項21に記載のコンピュータプログラム製品。
  25. 前記言語分野は、ビデオゲーム、スポーツ、ニュース、議事、政治、健康、および旅行からなる群から選択される、請求項21に記載のコンピュータプログラム製品。
  26. 前記メッセージは、文字、数字、記号、および顔文字のうち2種以上を含む、請求項21に記載のコンピュータプログラム製品。
  27. 前記複数の異なる言語検出テストは、バイトn-gramメソッド、辞書に基づくメソッド、アルファベットに基づくメソッド、スクリプトに基づくメソッド、およびユーザ言語プロファイルメソッドからなる群から選択される少なくとも2つのメソッドを含む、請求項21に記載のコンピュータプログラム製品。
  28. 前記複数の異なる言語検出テストは、同時に実行される、請求項21に記載のコンピュータプログラム製品。
  29. 前記1つ以上の組み合わせは、バイトn-gramメソッドおよび辞書に基づくメソッドから得られたスコアセットを含む、請求項21に記載のコンピュータプログラム製品。
  30. 前記1つ以上の組み合わせは、ユーザ言語プロファイルメソッドおよびアルファベットに基づくメソッドのうち、少なくとも1つのメソッドから得られたスコアセットをさらに含む、請求項28に記載のコンピュータプログラム製品。
JP2019124513A 2019-07-03 2019-07-03 言語検出を行うためのシステムおよび方法 Pending JP2019215876A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019124513A JP2019215876A (ja) 2019-07-03 2019-07-03 言語検出を行うためのシステムおよび方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019124513A JP2019215876A (ja) 2019-07-03 2019-07-03 言語検出を行うためのシステムおよび方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017520499A Division JP6553180B2 (ja) 2014-10-17 2014-10-17 言語検出を行うためのシステムおよび方法

Publications (1)

Publication Number Publication Date
JP2019215876A true JP2019215876A (ja) 2019-12-19

Family

ID=68918783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019124513A Pending JP2019215876A (ja) 2019-07-03 2019-07-03 言語検出を行うためのシステムおよび方法

Country Status (1)

Country Link
JP (1) JP2019215876A (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194696A (ja) * 1998-12-23 2000-07-14 Xerox Corp サンプルテキスト基調言語自動識別方法
JP2006221658A (ja) * 2005-02-11 2006-08-24 Microsoft Corp 効率のよい言語識別
JP2006302091A (ja) * 2005-04-22 2006-11-02 Konica Minolta Photo Imaging Inc 翻訳装置及びそのプログラム
US20060287848A1 (en) * 2005-06-20 2006-12-21 Microsoft Corporation Language classification with random feature clustering
US20070219777A1 (en) * 2006-03-20 2007-09-20 Microsoft Corporation Identifying language origin of words
JP2012103554A (ja) * 2010-11-11 2012-05-31 Advanced Telecommunication Research Institute International 音声言語識別装置の学習装置、音声言語の識別装置、及びそれらのためのプログラム
JP2014519104A (ja) * 2011-05-20 2014-08-07 グーグル インコーポレイテッド ソーシャルネットワークのためのフィード翻訳
WO2014124397A1 (en) * 2013-02-08 2014-08-14 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194696A (ja) * 1998-12-23 2000-07-14 Xerox Corp サンプルテキスト基調言語自動識別方法
JP2006221658A (ja) * 2005-02-11 2006-08-24 Microsoft Corp 効率のよい言語識別
JP2006302091A (ja) * 2005-04-22 2006-11-02 Konica Minolta Photo Imaging Inc 翻訳装置及びそのプログラム
US20060287848A1 (en) * 2005-06-20 2006-12-21 Microsoft Corporation Language classification with random feature clustering
US20070219777A1 (en) * 2006-03-20 2007-09-20 Microsoft Corporation Identifying language origin of words
JP2012103554A (ja) * 2010-11-11 2012-05-31 Advanced Telecommunication Research Institute International 音声言語識別装置の学習装置、音声言語の識別装置、及びそれらのためのプログラム
JP2014519104A (ja) * 2011-05-20 2014-08-07 グーグル インコーポレイテッド ソーシャルネットワークのためのフィード翻訳
WO2014124397A1 (en) * 2013-02-08 2014-08-14 Machine Zone, Inc. Systems and methods for multi-user multi-lingual communications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
水田 貴章 外2名: "仮説検定に基づいた言語識別", 情報処理学会研究報告, vol. 第2008巻 第113号, JPN6020042756, 19 November 2008 (2008-11-19), JP, pages 91 - 98, ISSN: 0004526947 *

Similar Documents

Publication Publication Date Title
US9535896B2 (en) Systems and methods for language detection
US10699073B2 (en) Systems and methods for language detection
CN109657054B (zh) 摘要生成方法、装置、服务器及存储介质
JP5475795B2 (ja) カスタム言語モデル
JP6553180B2 (ja) 言語検出を行うためのシステムおよび方法
JP5379138B2 (ja) 領域辞書の作成
CA3089001A1 (en) System and method for language translation
CN111460083A (zh) 文档标题树的构建方法、装置、电子设备及存储介质
JP2019504413A (ja) 絵文字を提案するためのシステムおよび方法
US20200301919A1 (en) Method and system of mining information, electronic device and readable storable medium
CN108475264B (zh) 机器翻译方法和装置
KR20210034679A (ko) 엔티티-속성 관계 식별
CN113655893B (zh) 一种词句生成方法、模型训练方法及相关设备
CN114154487A (zh) 文本自动纠错方法、装置、电子设备及存储介质
CN111859940A (zh) 一种关键词提取方法、装置、电子设备及存储介质
JP2019535082A (ja) 言語検出のためのシステムおよび方法
WO2023245869A1 (zh) 语音识别模型的训练方法、装置、电子设备及存储介质
JP2019215876A (ja) 言語検出を行うためのシステムおよび方法
KR20140146861A (ko) 입력되는 문자열로부터 사용자의 감정을 판단하는 방법
CN113807099B (zh) 实体信息识别方法、装置、电子设备以及存储介质
WO2019194124A1 (ja) タグ付与モデル生成装置、タグ付与装置、これらの方法及びプログラム
CN117668171A (zh) 文本生成方法、训练方法、装置、电子设备以及存储介质
CN114781366A (zh) 关键词提取方法、装置以及电子设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190801

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210615