言語変換において複数の読み方の曖昧性を除去する方法
【課題】同形異音異義語の漢字と関連付けられるピンインに対して望ましくない中国語変換候補を生成しない方法及び装置を提供する。
【解決手段】言語変換において複数の読み方の曖昧性を除去することが開示される。これは、対象記号系での入力データの記号表現を含む文字の集合に変換される入力データを受信することと、対象記号系の同形異音異義語の文字が入力データの対応する一部分を表すために使用されるべきである確率を判定するために文字の第1の読み方と第2の読み方とを区別する言語モデルを使用することとを含む。
【解決手段】言語変換において複数の読み方の曖昧性を除去することが開示される。これは、対象記号系での入力データの記号表現を含む文字の集合に変換される入力データを受信することと、対象記号系の同形異音異義語の文字が入力データの対応する一部分を表すために使用されるべきである確率を判定するために文字の第1の読み方と第2の読み方とを区別する言語モデルを使用することとを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、言語変換において複数の読み方の曖昧性を除去する方法に関する
【背景技術】
【0002】
Nグラムモデル(N-gram model)等の統計的言語モデルは、確率分布を使用して確率Pr(W)を単語列Wに割り当てることにより、1つの言語を別の言語に変換又は翻訳するために一般に使用される。そのような言語モデルは、通常大きなテキスト本文(コーパスと呼ばれる)からトレーニングされ、一般にコーパス内の各単語及び/又は2つ以上の単語の各列の発生頻度を取り込む。従来、特定の各状況における用法及び/又は読み方に関係なく、言語モデルのトレーニングは、コーパス中の特定の単語の発生を考慮する。コーパスの殆どの単語は一般にそれぞれ1つの意味及び場合によっては2つ以上の正確な発音と関連付けられ、その一方で、特定の単語は同様に書かれるが異なる意味及び発音/読み方を有する(すなわち、同形異音異義語)。例えば、英語での同形異音異義語の一例は「desert」であり、これは、ある状況及び用法/発音では「見捨てる」ことを意味し、別の状況及び用法/発音は「乾燥した不毛な地域」を意味する。従って、コーパスにおいて単語「desert」の使用の文脈を意識せずにその単語の頻度を考慮すると、第1の意味(「見捨てる」)及び第2の意味(「乾燥した不毛な地域」)での単語の使用頻度の区別は、従来の言語モデルでは十中八九は見落とされることになる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ピンイン(pinyin)は、ローマ字を使用して標準中国語を転記する標準的な方法である。ピンインの音訳(transliteration)において、漢字の発音/読み方は、ローマ字から成る音節にマッピングされる。ピンインは、変換システムを介して漢字をコンピュータに入力するのに一般に使用される。そのようなシステムは、変換精度を向上するために統計的言語モデルを組み込んでいることが多い。特定の漢字は、複数の発音/読み方を有する(すなわち、同形異音異義語の漢字)。しかし、同形異音異義語の種々の発音/読み方を区別しない従来の言語モデルは、同形異音異義語の漢字と関連付けられるピンインに対して望ましくない中国語変換候補を生成することがある。
【図面の簡単な説明】
【0004】
以下の詳細な説明及び添付の図面において、本発明の種々の実施形態を開示する。
【図1】言語変換のためのシステムの一実施形態を示す図である。
【図2】入力データを対象記号表現の出力に変換するように構成されたデバイスの一実施形態を示す図である。
【図3】言語変換を実行する処理の一実施形態を示すフローチャートである。
【図4A】コーパスにおいて見つけられるテキスト列の一例を示す図である。
【図4B】図4Aのテキストが見つけられたコーパスからトレーニングされた言語モデルに格納されたいくつかのデータの一例を示す図である。
【図5】言語変換に使用される言語モデルをトレーニングするために使用される注釈付きコーパスを作成するシステムの一実施形態を示す図である。
【図6】注釈をつけ且つ言語モデルを使用する処理の一実施形態を示すフローチャートである。
【図7A】同形異音異義語の文字に対する注釈を含まないコーパスに現れる文702と、同形異音異義語の文字に対する注釈を含むコーパスに現れる文704とを示す一例を示す図である。
【図7B】同形異音異義語の文字に対する注釈を含まないコーパスに現れる文710と、同形異音異義語の文字に対する注釈を含むコーパスに現れる文712とを示す一例を示す図である。
【図8A】同形異音異義語の文字に対して注釈をつけられていない漢字コーパス(「注釈のないコーパス」)を使用する一例を示す図である。
【図8B】同形異音異義語の文字に対して注釈をつけられた漢字コーパス(「注釈付きコーパス」)を使用する一例を示す図である。
【図9】言語変換処理の一実施形態を示すフローチャートである。
【図10】ピンインを漢字に変換する処理の一実施形態を示すフローチャートである。
【発明を実施するための形態】
【0005】
本発明は、多くの方法で実現される。そのような方法としては、例えば処理、装置、システム、組成物、コンピュータ可読記憶媒体で具体化されたコンピュータプログラム、並びに/あるいはプロセッサ(たとえば、プロセッサに結合されたメモリに格納され且つ/又はメモリにより提供された命令を実行するように構成されたようなプロセッサ)が含まれる。本明細書において、これらの実現例又は本発明がとる他のあらゆる形態を技術と呼ぶ。一般に、開示される処理のステップの順序は、本発明の範囲内で変更されてもよい。特に指定のない限り、タスクを実行するように構成されているものとして説明されるメモリ又はプロセッサ等の構成要素は、所定の時間にタスクを実行するように一時的に構成される一般的な構成要素又はタスクを実行するように製造される特定の構成要素として実現される。本明細書で使用されるように、「プロセッサ」という用語は、コンピュータプログラム命令等のデータを処理するように構成された1つ以上のデバイス、回路及び/又はプロセシングコアを示す。
【0006】
本発明の原理を示す添付の図面と共に本発明の1つ以上の実施形態の詳細な説明を以下に提供する。そのような実施形態と共に本発明を説明するが、本発明はいずれの実施形態にも限定されない。本発明の範囲は特許請求の範囲によってのみ限定され、本発明は多くの変更、変形及び等価物を含む。本発明を完全に理解できるように、多くの特定の詳細を以下の説明に示す。それら詳細は例示の目的で提供され、本発明はそれら特定の詳細の一部又は全てを含まずに特許請求の範囲に従って実施されてもよい。理解しやすいように、本発明に関連する技術分野において既知の技術論文については、本発明を不必要に曖昧にしないために詳細には説明していない。
【0007】
特定の文字と関連付けられた種々の読み方を区別するために注釈をつけられるコーパスでトレーニングされる言語モデルを使用することが開示される。いくつかの実施形態において、2つ以上の読み方/発音/用法/意味と関連付けられるコーパスに現れる文字のインスタンスは、その文字のインスタンスに適切な読み方/発音/用法/意味の注釈をつけられる。いくつかの実施形態において、そのような注釈付きコーパスでトレーニングされた言語モデルは、ピンインを漢字に変換するために使用される。
【0008】
図1は、言語変換のためのシステムの一実施形態を示す図である。この例において、システム100は、デバイス102と、ネットワーク104と、変換サーバ106とを含む。ネットワーク104は、種々の高速データ及び/又は通信ネットワークを含む。
【0009】
デバイス102は、入力データを受信するように構成される。いくつかの実施形態において、入力データは入力テキスト(例えば、ローマ字)を含む。例えば、入力データはピンインを含む。デバイス102はiPhone(登録商標)として示されるが、デバイス102の他の例は、デスクトップコンピュータ、ラップトップコンピュータ(例えば、MacBook(登録商標))、スマートフォン、移動デバイス、タブレットデバイス(例えば、iPad(登録商標)又はiPad2(登録商標))及びあらゆる他の種類のコンピューティングデバイスである。デバイス102は入力領域を含むように構成され、タイプ及び/又は手書きされた文字はデバイス102により取り込まれる/受信される。そのような入力領域の例は、タッチ画面キーボード(例えば、タブレット及び/又は移動電話デバイスの)、物理キーボード、トラックパッド(例えば、AppleのMagic Trackpad又はMacBook Proの内蔵トラックパッド)、電子書き込み面及びタッチパッドを含む。種々の実施形態において、ユーザは、デバイス102の入力領域と対話することにより(例えば、物理及び/又はタッチ画面キーボードにタイプすることにより)デバイス102において入力を選択する。いくつかの実施形態において、デバイス102は、変換サーバ106から受信された出力が表示される表示領域を含む。
【0010】
いくつかの実施形態において、デバイス102は、変換サーバ106が対象記号表現の出力(例えば、文字の集合)に変換するために、受信された入力を変換サーバ106にネットワーク104を介して送出するように構成される。いくつかの実施形態において、デバイス102は、同様の変換を実行することと関連付けられた論理、コード及び/又は格納データを含むため、ネットワーク104を介してリモート変換サーバ106にデータを送信する必要なく対象記号表現の出力への入力データの変換を実行できる。
【0011】
変換サーバ106は、データを受信し且つデータを別の形式(例えば、対象記号表現の文字)に変換するように構成される。例えば、対象記号表現は漢字である。いくつかの実施形態において、変換サーバ106は、言語モデル(例えば、漢字のコーパスからトレーニングされた言語モデル)及び/又は入力データのテキストと対象記号表現の文字の集合との間の関連付けを格納するために使用されるデータベース(例えば、入力データ対対象記号表現のディクショナリ)を含む。いくつかの実施形態において、変換サーバ106の出力は入力からの変換候補を含む。例えば出力に対する変換の候補は、言語モデル及び入力されたピンインから判定される統計的に最も可能性(すなわち、確率)の高い特定の数の漢字である。いくつかの実施形態において、変換サーバ106の出力は、デバイス102に返され且つ表示される(例えば、ユーザが閲覧し且つ/又は表示された情報に関して更なる選択を行うために)。
【0012】
図2は、入力データを対象記号表現の出力に変換するように構成されたデバイスの一実施形態を示す図である。いくつかの実施形態において、システム100のデバイス102は図2の例を使用して実現される。いくつかの実施形態において、図2に示すようなデバイスは、ネットワークを介してデータをリモートサーバに送信する必要なく変換を実行できるように変換サーバ106の1つ以上の機能性をローカルに含む。この例におけるデバイスの図示する構成要素(例えば、ディスプレイ202、変換エンジン206、ディクショナリ204、言語モデル208及び入力領域210)は、ハードウェア及びソフトウェアの一方又は双方を使用して実現される。いくつかの実施形態において、デバイスはこの例において示される構成要素より多くの構成要素又は少ない構成要素を有することができる。
【0013】
入力領域210は、第1の記号表現の文字の集合を取り込む/受信するように構成される。上述したように、入力領域210の例は、タッチ画面キーボード(例えば、タブレット及び/又は移動電話デバイスの)、物理キーボード、トラックパッド(例えば、AppleのMagic Trackpad又はMacBook Proの内蔵トラックパッド)、音声認識/変換/翻音機能と関連付けられた受信機(例えば、マイク)、電子書き込み面及びタッチパッドを含む。いくつかの実施形態において、入力領域210は、ローマ字(例えば、a、b、c、…等)から1つ以上のテキスト文字を受信するように構成される。例えば入力領域210はピンインを受信でき、これはローマ字の標準中国語を翻字するシステムとなる。例えばユーザは、デバイスの入力領域210にピンインを入力し、ユーザがデバイスにおいて中国語で「タイプ」するために選択できる中国語変換候補をデバイスに提示させる。いくつかの実施形態において、入力領域210は、対応するテキスト符号化文字として入力文字を格納する。テキスト符号化方式の例は、ASCII、Big5、UTF−8、UTF−16、HKSCS、GB18030及びJIS X 0213を含む。
【0014】
変換エンジン206は、入力領域210から受信した入力を使用し且つ対象記号表現の変換候補を判定するように構成される。いくつかの実施形態において、対象記号表現は漢字を含む。いくつかの実施形態において、変換エンジン206は、入力が変換される前に入力に対して前処理を実行するように構成される。例えば入力がピンインであった場合、一般に各漢字が単音節語として読まれる/発音されるため、変換エンジン206は、各単音節語を中国語変換候補にマッピングする準備をするためにピンインを単音節語に対応する1つ以上の文字群に分解する。変換エンジン206は、ディクショナリ204及び言語モデル208にアクセスするように構成される。ディクショナリ204は、入力データの文字の集合と対象記号表現の文字の集合との間のマッピング/関連付けを格納するために使用される1つ以上のデータベースを含む。言語モデル208は、対象記号表現のテキストのコーパスでトレーニングされるNグラムモデルである。いくつかの実施形態において、言語モデル208をトレーニングするために使用されるコーパスは、対象記号表現の同形異音異義語の文字の種々の読み方を区別するために注釈がつけられたものである。例えば変換エンジン206は、まずディクショナリ204を使用して入力データの分解されたピンインを1つ以上の潜在的な漢字変換にマッピングし、それらの潜在的な漢字変換に対応する言語モデル208から統計情報を検索して最も可能性の高い候補変換の組み合わせを判定する。最も可能性の高い文字の組み合わせは、ディスプレイ202に表示される(例えば、ユーザが閲覧し且つ/又は対話するために)。ディスプレイ202の例は、ユーザから対話を取り込めるタッチ画面又はユーザ対話を取り込めない他の種類のディスプレイを含む。
【0015】
例えば入力がピンイン「nihao」であった場合、変換エンジン206は、まず入力を「ni」及び「hao」の単音節から成る2つの文字群に分解する。漢字には多くの同音異義語(すなわち、同様に発音されるが異なる意味を有する単語)があるため、入力されたピンイン内の単音節から成る各群は、潜在的にディクショナリ204によりいくつかの可能な漢字にマッピングされる(そのような各文字は、単音節から成る対応するピンイン群の発音で読まれる)。変換エンジン206は、各漢字及び/又はそれらの組み合わせに関連付けられた統計情報を検索し、ユーザが意図したものである確率が最も高い文字の組み合わせを判定する。
【0016】
図3は、言語変換を実行する処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理300は、言語モデルを構築し且つ構築された言語モデルを使用して言語変換を実行するシステムにおいて実現される。
【0017】
302において、テキストのコーパスが受信される。テキストのコーパスは、構造化された大きなテキスト集合(例えば、種々のソースから収集された)を含む。テキストのコーパスは、デジタル方式で格納及び処理される。一般にコーパスは、単一言語のテキストを含み且つ/又はコーパスでトレーニングされる言語モデルの入力に類似する形式である。例えばピンインから漢字への変換のための言語モデルをトレーニングするために、コーパスは漢字の形式のテキストを含む。
【0018】
304において、コーパスが、言語モデルをトレーニングするために使用される。いくつかの実施形態において、言語モデリングツール(例えば、IRST Language Model Toolkit)は、コーパスから言語モデルをトレーニングして構築するために使用される。例えば言語モデリングツールは、コーパスで見つけられた文字毎及び/又は文字列毎にNグラム確率を生成する。例えばコーパスで見つけられる各文字列(例えば、長さが2文字又は3文字又はそれ以上の)は、ある生起確率を割り当てられる。文字列は、列内の文字に対するコンテキストが、隣接する文字/周囲の文字により提供されるコンテキストにより後で認識される(例えば、言語変換段階中に)ように解析される。従って、コーパスに全く又は殆ど現れない(例えば、誤植のため又は意味がないため)文字列の場合、それら列に対して生成される確率はゼロか又は非常に低い(入力データの裏にあるユーザの所望の意図を表す尤度を示すため)ものとなる。結果として得られる言語モデルは、少なくともモデルがトレーニングされたコーパスにおいて見つけられる1つ以上の文字の列(例えば、又はそれら文字を表す基礎となる記号)に対する確率の割り当ての集合を含む。漢字のコーパスの例に戻ると、結果として得られる言語モデルは、コーパスで見つけられる1つ以上の漢字の列に割り当てられた確率を含む。
【0019】
306において、言語モデルは言語変換を実行するために使用される。例えば言語モデルは、1つの形式の入力(例えば、音声又はテキスト)を第2の形式の1つ以上の出力(例えば、対象記号表現)に変換するために変換エンジン(例えば、変換エンジン206)又は変換サーバ(例えば、変換サーバ106)により使用される。いくつかの実施形態において、入力データは1つの正確な出力(例えば、入力を入力したユーザにより所望される)にマッピングされる。より正確な言語モデルは、所定の入力データに対して、ユーザにより所望された1つの出力を含む可能性がより高い入力データから変換される潜在的な出力を検索することができる。例えば入力データ(例えば、正確に綴られたピンイン)は、統計情報(例えば、確率)が言語モデルにより維持されている1つ以上の文字(例えば、漢字)にマッピングされる(例えば、ディクショナリを使用して)。検索された確率は、潜在的に入力にマッピングされる文字のうちのいずれが、正確なマッピングである可能性がより高いかを判定するために使用される。いくつかの実施形態において、言語モデルは、入力データから対象記号表現への文字レベル及び/又は単語レベル及び/又は文(例えば、文の開始及び文の終了)及び/又は句レベルの分解能で入力を出力にマッチングする他の統計ツールを含む。
【0020】
図4A及び図4Bは、言語モデルの作成及び使用の際のいくつかのステップを示す例である。
【0021】
図4Aは、コーパスで見つけられるテキスト列の一例を示す。この例において使用されるように、各文字(例えば、A、F、S、…等)は、いずれかの言語での文字又は単語を表すために使用される。大文字のローマ字は単に例示のために選択されたものである。したがって、例えば図4Aに示す各文字は、漢字コーパスに現れる漢字を表すものであってもよい。コーパスのテキストは、言語モデルのトレーニング中にNグラム(例えば、長さがN文字の文字列)に分割される。部分列、すなわちNグラム402(「AF」を含む)、404(「FSD」を含む)及び406(「WGSJ」を含む)は、言語モデルを構築するNグラム確率生成及び/又はトレーニング段階において使用されるコーパスにおいて見つけられる列のいくつかの例である。Nグラム確率が特定の言語モデルに対して生成される列の文字長は、例えば言語モデリングツール及び/又は言語モデルの設計者により選択される。
【0022】
図4Bは、図4Aのテキストが見つけられたコーパスからトレーニングされた言語モデルに格納された、いくつかのデータの一例を示す。この例に示すように、コーパスで見つけられた種々の列(可変長の列)の確率は計算及び格納され(例えば、テーブルエントリに)、各文字列に対応する。例えば408は、コーパスの「AF」の列の発生に対して言語モデルにより割り当てられたNグラム確率(0.0324)を示す例示的なテーブルのエントリを表す。いくつかの実施形態において、言語モデルは、図4Bに示した例示的なデータに加えて他の種類の情報を含む(例えば、入力データ対対象記号表現のディクショナリ、単語、いくつかの文字の単位、並びに名前及び場所のような種類の情報)。
【0023】
いくつかの実施形態において、入力データ(例えば、第1の記号又は他の表現に関連付けられた文字の集合)は、出力データ(例えば、対象記号表現に関連する1つ以上の変換候補を形成する文字の集合)を生成するために言語モデルを使用して変換される。例えば言語モデルは、入力デバイスを介して入力されたピンインテキストを対応する漢字に変換するために使用される。入力されたピンイン文字列は、1つ以上の潜在的な漢字にマッピングされる音節を判定するために構文解析され(例えば、言語モデル又は他のある技術により)、そのような漢字の各確率は、入力されたピンインからの望ましいマッピングであるより確率の高い漢字変換を判定するために使用される。
【0024】
一般的な文字のコーパスは、特定の注釈(例えば、音声タグ付けの一部)を含むが、文字の読み方/発音/用法/意味(本明細書では単に「読み方」と呼ぶこともある)又は文字が使用される状況に対する特定の読み方/発音/用法/意味(文字と関連付けられた可能な読み方/発音/用法/意味が2つ以上ある場合)の注釈を含まない。例えば、従来の漢字のコーパスは、一般に読み方/発音/用法/意味/ピンインの注釈を含まない。換言すると、従来の漢字コーパスは、同形異音異義語の漢字のそれぞれ異なるコンテキストに適した複数の読み方を区別しない。例えばコーパスの一部分におけるコンテキストは、第1の意味(読み方/発音/ピンイン)で同形異音異義語の文字を使用するが、その一方で、同一のコーパスの別の部分におけるコンテキストは、第1の意味とは異なる第2の意味(読み方/発音/ピンイン)で同形異音異義語の文字を使用する。しかし、コーパスにおいて同形異音異義語の文字の2つ(又はそれ以上)の意味を区別するための注釈がない場合、同形異音異義語の文字の特定の読み方がコーパスに現れる度にその同形異音異義語の文字の各読み方に対して別個の意味別の確率が判定されるのではなく、Nブラム確率生成は文字がコーパスに現れるといつでもその同形異音異義語の文字(複数の読み方を含む)に対してのみNグラム確立生成が実行される。従来のコーパスにおいて、特定の文字の可能な複数の読み方を区別できないことの結果として、そのようなコーパスを使用してトレーニングされた言語モデルは、同形異音異義語の文字を含む出力にデータ入力を変換する際の精度がより低下する。以下、言語モデルにおける文字の種々の読み方の曖昧性を除去することについて説明する。
【0025】
図5は、言語変換に使用される言語モデルをトレーニングするために使用される注釈付きコーパスを作成するシステムの一実施形態を示す図である。種々の実施形態において、コーパスの注釈により、コーパスにおける第1の読み方/発音/ピンイン/意味を示すための同形異音異義語の1つの用法と、コーパスにおける第2の読み方/発音/ピンイン/意味を示すための同一の同形異音異義語の別の用法とを区別することを促進する。ネットワーク508は、種々の高速データ及び/又は通信ネットワークを含み得る。いくつかの実施形態において、言語モデルトレーニングエンジン510、コーパス512及び言語モデル514は、変換サーバ(例えば、変換サーバ106)の一部として実現される。
【0026】
いくつかの実施形態において、言語モデルトレーニングエンジン510は、例えば第三者によりホストされるサーバからネットワーク508を介してテキストソース502、504及び506を検索する。いくつかの実施形態において、言語モデルトレーニングエンジン510は、ネットワーク508を使用せずにテキストを受信する(例えば、ローカル記憶装置又はソースを介してテキストを取得することにより)。いくつかの実施形態において、言語モデルトレーニングエンジン510は、検索し且つ/又は受信したテキストをコーパス512に格納するように構成される。コーパス512は、テキストソース502、テキストソース504及びテキストソース506等の種々のソースから抽出されたテキストにより形成される。いくつかの実施形態において、コーパス512に収集されたテキストの大部分が1つの言語のテキストである。例えばコーパス512のテキストの大部分が漢字である。テキストソース502、504及び506の例は、新聞、ウェブサイト、本、定期刊行物、ソーシャルメディア(例えば、Facebook(登録商標)、Twitter(登録商標))及び雑誌を含む。例えばテキストソース502、504及び506から収集されたテキストは、合計で約8億個の漢字である。また、例えば漢字のコーパスは8000個の異なる文字を含み、そのうち約50個が同形異音異義語の文字である。いくつかの実施形態において、コーパス512の注釈がない場合、テキストソースから抽出される別個の各文字は、コーパス512の1つの別個の記号により表され、テキストソースから複数回抽出される同一の文字は、その文字に対応する記号の複数のインスタンスとして格納される。
【0027】
いくつかの実施形態において、言語モデルトレーニングエンジン510は、コーパス512の文字に対する手動入力の注釈を受信するように構成される。いくつかの実施形態において、言語モデル514のシステム管理者及び/又は設計者(例えば、ユーザ)は、同形異音異義語の文字を見つけるためにコーパス512のテキストを走査し、同形異音異義語の文字が使用される状況のユーザの理解に基づいて(例えば、その文字が使用された文及び/又は周囲のテキストに基づいて)、適切な読み方/発音/ピンイン/意味を示すために同形異音異義語の文字のインスタンスに注釈をつける。例えばそのような注釈をつけるために、コーパス512において、(2つ以上の可能な読み方のうちの)特定の読み方の同形異音異義語の文字のインスタンスはコーパス512に存在する他の全ての文字を表す記号と区別可能であり、且つ同一の同形異音異義語の文字の別の読み方と関連付けられる別の記号とも区別可能である新しい記号(例えば、テキスト符号化)により置換される。換言すると、コーパス512における1つの読み方を有する同形異音異義語の文字はコーパス512において第1の記号と関連付けられ、第2の読み方を有する同一の同形異音異義語の文字はコーパス512において第2の記号と関連付けられる。従って、同形異音異義語の文字が第1の読み方と関連付けられた状況において使用される場合、その文字のインスタンスは、コーパス512において第1の記号として格納され、同形異音異義語の文字が第2の読み方と関連付けられた状況において使用される場合、その文字のインスタンスは第2の記号として格納される。注釈をつけた結果、同形異音異義語の文字は同一の記号の種々のインスタンスとしてコーパス512に現れなくなり、同形異音異義語の文字の異なる読み方の各々がコーパスにおいて別個の記号により置換される。従って、例えば3つの可能な読み方と関連付けられる同形異音異義語の文字は、注釈付きコーパスにおいて3つの異なる記号の種々のインスタンスとしてコーパス512に現れる。いくつかの実施形態において、2つ以上の記号がコーパスにおいて同形異音異義語の文字を表すが、それら記号の各々は同一の同形異音異義語の文字と依然として関連付けられる。
【0028】
例えば英語の単語に対するそのような注釈付きコーパスにおいて、「desert」は2つの可能な読み方を有する同形異音異義語の単語/文字である。すなわち、一方は1つの意味と関連付けられる「見捨てる」を意味する動詞であり、他方は異なる意味と関連付けられる「乾燥した不毛な地域」を意味する名詞である。コーパスに注釈をつける前は、コーパスのテキストにおける「desert」の出現は、「desert」に対する記号と関連付けられる。しかし、注釈をつけた後は、コーパスにおける「desert」の出現は、「desert」の2つの意味のうち「desert」のインスタンスがテキストに現れるコンテキストに適切な意味に依存して動詞又は名詞に対する記号と関連付けられる。
【0029】
いくつかの実施形態において、単語の可能な読み方の1つ又は記号又は記号列は、全ての発生に対する記号を符号化するのに使用された元の記号により表され、1つ以上の他の可能な読み方と関連付けられたインスタンスのみが注釈をつけられる。上述の例において、例えばdesert_v(「見捨てる」を意味する動詞)と関連付けられた方法で使用される「desert」は注釈をつけられないが、desert_n(「乾燥した不毛な地域」を意味する名詞)の意味で使用される「desert」のインスタンスの場合、「desert」を符号化するのに使用された記号はdesert_n(「乾燥した不毛な地域」を意味する)に対応する新しく定義された記号で置換される。その後、言語モデルのトレーニングにおいて、注釈をつけられていない「desert」の発生はdesert_v(「見捨てる」を意味する)と関連付けられると理解され、その一方で、desert_n(「乾燥した不毛な地域」を意味する)の発生は第2の読み方を示すと理解される。
【0030】
いくつかの実施形態において、ユーザはコーパス512のテキストの部分集合に手動入力で注釈をつけ、コーパス512の残りの部分は、例えば手動入力の注釈により作成された注釈付けのパターンに基づいて同様に自動的に注釈をつけられる(例えば、ソフトウェア及び/又はハードウェアの形態の機械学習技術を使用して)。例えば自動処理は、手動入力の注釈から学習されたパターンを使用して、同形異音異義語の文字に対する第1のコンテキスト及びそのコンテキストにおけるその文字の対応する適切な読み方を識別し、その文字の特定の読み方と関連付けられるコーパスにおける文字のインスタンスに注釈をつける(例えば、その文字の別の読み方を表す記号と異なり、且つ、コーパス512の別の文字を表す記号と異なる記号になるように、コーパスの同形異音異義語の文字と関連付けられた記号を置換することにより)。
【0031】
注釈をつけられた後のコーパス512を考慮する1つの方法は、記号の集合が拡張されることである。開示された注釈付けの前に、同形異音異義語の文字は機械により理解できるように文字を表すために使用されるユニコードコードポイント又は他の値等の1つの機械可読値にマッピングされる。また、その一方で、開示された注釈付けの後は、同形異音異義語の文字は注釈付きコーパス512で使用される2つ以上の機械可読値にマッピングされる。ここで、同形異音異義語の文字と関連付けられた各機械可読値は、同形異音異義語の文字の特定の読み方を表す。
【0032】
いくつかの実施形態において、言語モデル514は、例えば言語モデリングツール(例えば、IRST Language Model Toolkit)を使用して注釈付きコーパス512でトレーニングされる。例えば言語モデリングツールは、同形異音異義語の文字の複数の読み方に対して追加された新しい記号を含む注釈付きコーパス512の文字(又はそれらの記号)及び文字列に対してNグラム確率を生成する。
【0033】
いくつかの実施形態において、図2の変換エンジン206等の変換エンジンは、言語モデル514等の読み方の注釈付きコーパスでトレーニングされた言語モデルを使用して対象記号表現の1つ以上の変換候補を生成するために入力データを受信するように構成される。例えば、入力データはピンインと関連付けられ、言語モデル514は漢字と関連付けられると仮定する。言語モデル514において文字/記号及びそれらの列に対して生成された確率を使用して、変換エンジン206は、所定のピンイン入力と一致し且つ特に同形異音異義語の文字の特定の読み方に固有の確率を提供するモデルを使用して特定の同形異音異義語の文字が意図された尤度を過大評価することを回避する可能性が相対的に高い1つ以上の漢字を出力として生成する。
【0034】
図6は、注釈をつけ且つ言語モデルを使用する処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理600は、システム500を使用して少なくとも部分的に実現される。
【0035】
602において、コーパスと関連付けられたテキストの部分集合に対する1つ以上の手動入力の注釈が受信され、手動入力の注釈は、2つ以上の読み方と関連付けられた文字のインスタンスに対して、そのインスタンスと関連付けられた状況に少なくとも部分的に基づいて文字の適切な読み方を示す。
【0036】
例えばユーザは、同形異音異義語の文字/単語のインスタンスの場所を特定するためにコーパスのテキストの部分集合を読む。ユーザは、同形異音異義語の文字/単語のインスタンスを見つけると、文字のインスタンスが現れる状況(例えば、文字が現れる文、その文字の周囲の文字)及びその状況における文字の用法のユーザの知識に基づいてその文字のインスタンスに対する適切な読み方を判定し且つ注釈をつける。コーパスの文字のインスタンスに適切な同形異音異義語の文字の読み方が2つ以上あることは殆どない。従って、コーパスの同形異音異義語の文字の各インスタンスに対して判定される読み方は1つだけでよい。同形異音異義語の文字のインスタンスに対するこの判定された適切な読み方は、注釈として変換エンジンに入力され、コーパスに格納される。いくつかの実施形態において、特定の読み方を示すために同形異音異義語のインスタンスと関連付けられた注釈は、文字の元のインスタンスを表していたコーパスの記号(例えば、テキスト符号化)を置換する新しい記号(例えば、コーパスのあらゆる他の文字を表すのに使用される記号と異なり且つ先に割り当てられていないユニコード値、又は私用領域文字等の同一の同形異音異義語の別の読み方を表すのに使用される記号とも異なる記号)としてコーパスに格納される。いくつかの実施形態において、特定の読み方を示すために同形異音異義語のインスタンスと関連付けられた注釈は、コーパスの文字のインスタンスを表す記号に追加されるタグである。いくつかの実施形態において、コーパスは種々のソースから取得されたテキスト(殆どが1つの言語のテキスト)を含む。
【0037】
コーパス全体(数億個のテキストを含む可能性がある)に手動入力で注釈をつけるのは非効率的であるため、手動入力の注釈付けはコーパスの小さな部分集合に対して行われ、コーパスの残りの部分は、以下に説明するように自動化処理を使用して注釈をつけられる。
【0038】
604において、手動入力で注釈をつけられていないコーパスと関連付けられたテキストの少なくとも一部分は、受信された1つ以上の手動入力の注釈に少なくとも部分的に基づいて自動的に注釈をつけられる。
【0039】
いくつかの実施形態において、自動化処理は、手動入力で注釈をつけられていないコーパスの残りの部分に対して同形異音異義語の文字のインスタンスの種々の読み方に注釈を追加するために使用される。例えば自動化処理は、機械学習技術及び602で入力された手動入力の注釈を使用するソフトウェアにより行われる。
【0040】
606において、言語モデルは注釈付きコーパスを使用してトレーニングされる。
【0041】
いくつかの実施形態において、注釈付きコーパスは、注釈をつけられる前にコーパスで発生した同形異音異義語の文字の各インスタンスの種々の読み方を表すための別個の記号を含む。いくつかの実施形態において、言語モデルは、注釈付きコーパスにおいて見つけられた文字/記号及びそれらの列に対してNグラム確率生成を実行することにより作成され且つ注釈付きコーパスでトレーニングされる。いくつかの実施形態において、言語モデルは、コーパス内で見つけられる文の開始及び終了でトレーニングされる。結果として得られる言語モデルは、同形異音異義語の文字の各読み方と関連付けられた確率を含む。
【0042】
例えば注釈付きコーパスにおいて、テキスト中の同形異音異義語の「単語」の発生は、「word_reading1」又は「word_reading2」の記号で表されると仮定する。従って、注釈付きコーパスでトレーニングされる言語モデルは、「word_reading1」又は「word_reading2」の文字/記号を含む確率を含む(例えば、Pr(word_reading1)は「word_reading1」のユニグラムと関連付けられた確率を表すために使用され、Pr(word_reading2)は「word_reading2」のユニグラムと関連付けられた確率を表すために使用され、Pr(wordN,wordN-1,…,word_reading1)及びPr(wordN,wordN-1,…,word_reading2)等のNグラムと関連付けられた確率も生成される)。
【0043】
例えば2つの読み方を有する同形異音異義語の単語「desert」の場合、各読み方に対して別個の確率が判定される。例えばユニグラム、バイグラム、…、Nグラムと関連付けられる確率は、「desert_v」に対して判定され(例えば、Pr(desert_v)、Pr(he,would,desert_v)、Pr(soldier,said,he,would,desert_v))、ユニグラム、バイグラム、…、Nグラムと関連付けられる確率は、「desert_n」に対して判定される(例えば、Pr(desert_n)、Pr(crossed,through,a,desert_n)、Pr(camel,crossed,through,a,desert_n))。列(長さが1文字より長い)の確率を利用することにより、文字は、その文字が現れる適切なコンテキストを判定するためにそのような確率を使用して曖昧性が除去される。
【0044】
図7A及び図7Bは、同形異音異義語の漢字の種々の読み方を区別するために注釈をつけられる中国語コーパスのテキストの例である。漢字のコーパスがこれらの例において示されるが、コーパスは異なる言語(例えば、日本語)の文字を含むことができる。
【0045】
図7Aは、同形異音異義語の文字に対する注釈を含まないコーパスに現れる文702と、同形異音異義語の文字に対する注釈を含むコーパスに現れる文704とを示す一例である。文702において、同形異音異義語の文字706(「長(以下、文字706を「長」で代用する)」)は、「zhang」及び「chang」の少なくとも2つの異なる読み方/発音/ピンイン/意味と関連付けられる同形異音異義語の文字である。例えば「zhang」と読まれる場合の文字706「長」の意味は「a chief or leader(チーフ又はリーダ)」である。例えば「chang」と読まれる場合の文字706「長」の意味は「long(長い)」である。文702(同形異音異義語の文字に対する注釈を含まないコーパスの)の英語翻訳は、「he is one of the candidates running for mayor(彼は市長選に出馬している候補者の一人である)」である。従って、文702において、文字706(「長」)は、「zhang」の読み方/ピンインと関連付けられる意味で使用される。同形異音異義語の文字の注釈を含まないコーパスにおいて、文702における文字706(「長」)の出現は、コーパスの1つの記号にマッピングされる(例えば、文字706「長」のある形式のテキスト符号化を使用して)。しかし、注釈をつけた後、文702は文704になり、同形異音異義語の文字に対する注釈を含むコーパスに現れる。文704において、文字706(「長」)は、読み方708(「長_zhang」)を表すコーパスにおける記号で置換されている(例えば、読み方708「長_zhang」に対して新たに作成されるある形式のテキスト符号化又はコーパスに現れるあらゆる他の文字に対して先に使用されていないテキスト符号化を使用して)。
【0046】
図7Bは、同形異音異義語の文字に対する注釈を含まないコーパスに現れる文710と、同形異音異義語の文字に対する注釈を含むコーパスに現れる文712とを示す一例である。同形異音異義語の文字に対する注釈を含まないコーパスにおける文710の英語翻訳は、「I have been here for a long time already(私は既に長い時間ここにいる)」である。従って、文710において、文字706(「長」)は、「chang」の読み方/ピンインと関連付けられる意味で使用される。同形異音異義語の文字に対する注釈を含まないコーパスにおいて、文710の同形異音異義語の文字706(「長」)の出現は、コーパスの1つの記号にマッピングされる(例えば、文字706「長」のある形式のテキスト符号化を使用して)。しかし、注釈をつけた後、文710は文712になり、同形異音異義語の文字に対する注釈を含むコーパスに現れる。文712において、文字706(「長」)は読み方716(「長_chang」)を表すコーパスにおける記号で置換されている(例えば、読み方716「長_chang」に対して新たに作成されるある形式のテキスト符号化又はコーパスに現れるあらゆる他の文字に対して先に使用されていないテキスト符号化を使用して)。
【0047】
図8A及び図8Bは、ピンイン入力をある形式の漢字出力に変換する際に同形異音異義語の文字に対して注釈をつけられていないコーパス及び同形異音異義語の文字に対して注釈をつけられているコーパスを使用する例を示す。漢字のコーパスがこれらの例において示されるが、コーパスは異なる言語(例えば、日本語)の文字を含むことができる。図7A及び図7Bの例において、ピンイン入力はデバイス(例えば、デバイス102)の入力領域において受信される。
【0048】
この例において、同形異音異義語の文字「長」は、「chang」及び「zhang」の2つの潜在的な読み方/ピンインと関連付けられる。
【0049】
図8Aは、同形異音異義語の文字に対して注釈をつけられていない漢字コーパス(「注釈のないコーパス)を使用する一例を示す。この例において、ピンイン「chang」又は「zhang」が入力されるかに関係なく、注釈のないコーパスでトレーニングされた言語モデルは、例えばユニグラム「長」の確率(Pr(長))等の「長」と関連付けられる確率を検索する(例えば、ピンインが「長」の潜在的な中国語変換候補にマッピングされた後)。とはいえ、「長」を含む文字列(例えば、N>1のNグラム)と関連付けられる確率(例えば、Pr(市,長)も検索され得る。その結果、言語モデルは、「zhang」(「a chief(チーフ)」を意味する)の読み方/意味及び「chang」(「long(長い)」を意味する)の読み方/意味で「長」を使用する句及び/又は文を区別するために統計情報を提供する際の精度は低くなる。
【0050】
例えば「zhang」の読み方/意味の「長」は、コーパスにおいて「zhang」のピンインと関連付けられる他の漢字(例えば、章、掌)より非常に少ない頻度で使用されると仮定する。しかし、コーパスでトレーニングされた結果として得られる言語モデルは、コーパス内で使用された意味の数に関係なく同一の確率を「長」(例えば、「長」を含むNグラムに対応する)に与える。「長」に割り当てられた確率がコーパスにおいて「chang」の読み方/意味で「長」を少なくとも数回使用することを含むため、言語モデルにおける「長」の確率は、「zhang」のピンインにマッピングされる他の中国語変換候補と関連付けられた確率と比較して不適切に高く、言語変換における全体の精度は低くなる。
【0051】
図8Bは、同形異音異義語の文字に対して注釈をつけられた漢字コーパス(「注釈付きコーパス」)を使用する一例を示す。この例において、「chang」のピンイン入力(例えば、ピンインが「長」の潜在的な中国語変換候補にマッピングされた後)に対して、言語モデルは、例えば「長_chang」のユニグラムの確率(Pr(長_chang))等の文字のその読み方と関連付けられた確率を検索する。しかし、「長_chang」を含む文字列(例えば、N>1のNグラム)と関連付けられる確率(例えば、Pr(市,長_chang))も検索される。同様に、「zhang」のピンイン入力に対して、言語モデルは、例えば「長_zhang」のユニグラムの確率(例えば、Pr(長_zhang))等の文字のその読み方と関連付けられた確率を検索する。言語モデルがトレーニングされるコーパスに注釈をつけた結果、確率は同一の同形異音異義語の異なる各読み方に与えられ、それにより、より正確な変換が可能になる。
【0052】
「zhang」の読み方/意味の「長」がコーパスにおいて「zhang」のピンインと関連付けられる他の漢字(例えば、章、掌)より非常に少ない頻度で使用されると仮定された先の例に戻ると、注釈付きコーパスで言語モデルをトレーニングした後、「長」の種々の読み方(「chang」及び「zhang」)に与えられた別個の確率が存在する。ここで、「長_zhang」に割り当てられた確率は、コーパス内で「chang」の意味で「長」を使用することを全く含まず、同様に、「長_chang」に割り当てられた確率は、コーパス内で「zhang」の意味で「長」を使用することを全く含まない。従って、言語モデルの「長」の確率は、「zhang」又は「chang」のピンインにマッピングされる他の中国語変換候補と関連付けられた確率と比較してより精度が高く、言語変換における全体の精度が高くなる。
【0053】
図9は、言語変換処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理900は、システム100において少なくとも部分的に実現される。いくつかの実施形態において、処理900は、デバイス102において少なくとも部分的に実現される。
【0054】
902において、対象記号系での入力データの記号表現を含む文字の集合に変換される入力データが受信される。いくつかの実施形態において、入力データは、変換が行われるデバイス(例えば、デバイス102)において受信される。いくつかの実施形態において、入力データは、変換を実行するリモートサーバ(例えば、変換サーバ106)に送出される。いくつかの実施形態において、入力データは入力テキスト(例えば、ローマ字の)を含む。例えば、入力データはピンインの集合である。
【0055】
904において、入力データを変換して得られる対象記号表現の1つ以上の変換候補が生成される。いくつかの実施形態において、対象記号表現は漢字を含む。いくつかの実施形態において、入力データ又はその部分集合は、対象記号表現の1つ以上の可能な文字(例えば、変換候補)にマッピングされる。例えば入力データが音読み(phonetic readings)と関連付けられると仮定すると、対象記号表現の複数の文字は入力データの文字群と関連付けられた1つの読み方にマッピングされる。いくつかの実施形態において、対象記号表現の文字(又はその集合)に対する入力データの形式の文字(又はその集合)のディクショナリは、受信した入力データに基づいて変換候補を判定するために使用される。いくつかの実施形態において、例えば入力データ又はその一部分は同形異音異義語の文字と関連付けられた読み方の1つを形成するため、入力データは対象記号表現のその同形異音異義語の文字である変換候補にマッピングされる。
【0056】
906において、対象記号系の文字の第1の読み方と第2の読み方とを区別する言語モデルは、同形異音異義語の文字が入力データの対応する一部分を表すために使用されるべきである確率を判定するために使用される。種々の実施形態において、使用される言語モデルは、同形異音異義語の文字に対して注釈をつけられるコーパスでトレーニングされる(例えば、処理600の少なくとも一部を使用して)。その結果、言語モデルは、注釈付きコーパスにおいて見つけられた同形異音異義語の文字の種々の読み方を区別するためにトレーニングされたものとなる。いくつかの実施形態において、言語モデルは、同形異音異義語の文字の各読み方を1つ以上の確率の集合(例えば、その読み方を含むユニグラム、バイグラム及びトライグラム等と関連付けられた)と関連付ける。例えば変換候補を評価する時、それらの関連付けられた確率(例えば、ユニグラム、バイグラム、トライグラム…等の)は最も高い相対確率を有する変換候補を判定する(例えば、所定の状況に対して/隣接する文字又は周囲の文字に基づいて)ために言語により使用される。相対的に高い確率を有する変換候補は、所望の変換出力である可能性がより高い。例えば変換候補の1つが同形異音異義語の文字であった(例えば、入力データの少なくとも一部分がその文字と関連付けられた読み方の1つを形成するため)場合、その変換候補を評価する時、同形異音異義語の文字の特定の読み方と関連付けられた確率(例えば、その特定の読み方を含むユニグラム、バイグラム及びトライグラム等の)は検索され、他の変換候補と関連付けられた確率と比較するために使用される。
【0057】
図10は、ピンインを漢字に変換する処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理1000はシステム100を使用して実現される。いくつかの実施形態において、処理900の少なくとも一部(例えば、904及び906)は処理1000を使用して実現される。
【0058】
1002において、ピンインと関連付けられた文字の入力集合は、1つ以上の文字群に分解され、各文字群は1つの漢字に変換される。いくつかの実施形態において、ピンインと関連付けられた文字の集合は、デバイス(例えば、デバイス102)の入力領域において受信される。いくつかの実施形態において、入力ピンインは、1つ以上の漢字に変換される。いくつかの実施形態において、入力ピンイン(例えば、少なくともいくつかの英字の間に1つ以上のスペースを有するか又は有さないローマ字の文字列)は正確に綴られる。通常、各漢字は、単音節語であるため、単音節語として読まれるピンイン入力の隣接する英字群にマッピングされる。従って、入力ピンインが中国語変換候補にマッピングされる前に、いくつかの実施形態において、入力ピンインは単音節語として読まれる英字群に分解される必要がある。
【0059】
例えば、入力ピンインが「shizhang」であると仮定する。入力は2つの音節(「shi」及び「zhang」)を含むため、単音節から成る2つの英字群「shi」及び「zhang」に分解される。
【0060】
1004において、1つ以上のピンイン群の各々に対応する1つ以上の中国語変換候補が判定される。中国語において、同様に読まれる/発音されるが意味が異なる文字である同音異義語の漢字がいくつか存在する。同音異義語の文字は、同一のピンインと関連付けられる。ピンインを漢字に変換する処理において、いくつかの同音異義語の文字(例えば、同一の音調又は異なる音調を有する)は単音節から成るピンイン群毎に識別される。しかし、1つの文字のみがピンイン群に対する所望の変換である。この所望の文字は、最も高い確率と関連付けられる1つ以上の変換候補を判定するために各中国語変換候補と関連付けられた1つ以上の確率を関連付ける言語モデルを使用することにより取得される。
【0061】
先の例を継続すると、例えば「shi」に対する中国語変換候補は「是」、「市」及び「十」を含む。「zhang」に対する中国語変換候補は、例えば「章」、「掌」及び「長」を含む。
【0062】
1006において、ピンインの1つの文字群が同形異音異義語の漢字の1つの読み方と関連付けられるかが判定される。ピンイン群が同形異音異義語の文字と関連付けられた第1の読み方と関連付けられると判定される場合、その第1の読み方と関連付けられた情報が検索される。いくつかの実施形態において、単音節から成る分解された1つ以上のピンイン群は同形異音異義語の文字の1つの読み方と関連付けられると判定される。そのような群が判定される場合、同形異音異義語の文字の読み方と関連付けられた確率は検索され、対応する中国語変換候補を評価するために使用される(例えば、同形異音異義語の漢字の種々の読み方を区別するために注釈をつけられたコーパスでトレーニングされた言語モデルにより)。
【0063】
先の例を継続すると、「zhang」のピンインが同形異音異義語の文字「長」の1つの読み方と関連付けられると判定されるため、「shi」及び「zhang」に対する中国語変換候補を評価する際、「長_zhang」と関連付けられた確率が検索される(例えば、Pr(長_zhang))。更に入力「shizhang」が1つの句(2つの漢字を含む)を形成するために使用されると仮定すると、「shi」及び「zhang」の中国語変換候補の種々の組み合わせと関連付けられた確率(例えば、Pr(是,章)、Pr(是,掌)、Pr(是,長_zang)、Pr(市,章)、Pr(市、掌)、Pr(市,長_zhang)、Pr(十,章)、Pr(十,掌)、Pr(十,長_zhang)、Pr(十,章)、Pr(十,掌)、Pr(十,長_zhang))は、最も高い確率を有する組み合わせを判定するために評価される。コーパスが適切に注釈をつけられ、言語モデルが適切にトレーニングされたと仮定すると、中国語変換候補の可能な組み合わせと関連付けられた確率のうち、Pr(市,長_zhang)の値が最大である(例えば、残りの漢字の組み合わせが無意味であり且つ/又は注釈をつけられたコーパスに頻繁に現れないため)。従って、この例において、「市長」(英語で「mayor」を意味する)は「shizhang」の入力に対する出力中国語変換である。コーパスが同形異音異義語の漢字の種々の読み方を区別するために注釈をつけられていない場合、例えば全ての読み方(「chang」及び「zhang」)で使用される「長」が注釈をつけられていないコーパスにおいて「市」以外の漢字の隣に現れるのがより一般的であるため、Pr(市,長)の値(注釈をつけられていないコーパスから判定されるような)は、Pr(市,長_zhang)の値程大きくない可能性がある(従って、「市長」は出力中国語変換として選択されない可能性がある)。
【0064】
上述した実施形態は理解しやすくするために詳細に説明したが、本発明は提供した詳細に限定されない。本発明を実現する別の方法が多く存在する。開示された実施形態は例示であり、限定するものではない。
【技術分野】
【0001】
本発明は、言語変換において複数の読み方の曖昧性を除去する方法に関する
【背景技術】
【0002】
Nグラムモデル(N-gram model)等の統計的言語モデルは、確率分布を使用して確率Pr(W)を単語列Wに割り当てることにより、1つの言語を別の言語に変換又は翻訳するために一般に使用される。そのような言語モデルは、通常大きなテキスト本文(コーパスと呼ばれる)からトレーニングされ、一般にコーパス内の各単語及び/又は2つ以上の単語の各列の発生頻度を取り込む。従来、特定の各状況における用法及び/又は読み方に関係なく、言語モデルのトレーニングは、コーパス中の特定の単語の発生を考慮する。コーパスの殆どの単語は一般にそれぞれ1つの意味及び場合によっては2つ以上の正確な発音と関連付けられ、その一方で、特定の単語は同様に書かれるが異なる意味及び発音/読み方を有する(すなわち、同形異音異義語)。例えば、英語での同形異音異義語の一例は「desert」であり、これは、ある状況及び用法/発音では「見捨てる」ことを意味し、別の状況及び用法/発音は「乾燥した不毛な地域」を意味する。従って、コーパスにおいて単語「desert」の使用の文脈を意識せずにその単語の頻度を考慮すると、第1の意味(「見捨てる」)及び第2の意味(「乾燥した不毛な地域」)での単語の使用頻度の区別は、従来の言語モデルでは十中八九は見落とされることになる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ピンイン(pinyin)は、ローマ字を使用して標準中国語を転記する標準的な方法である。ピンインの音訳(transliteration)において、漢字の発音/読み方は、ローマ字から成る音節にマッピングされる。ピンインは、変換システムを介して漢字をコンピュータに入力するのに一般に使用される。そのようなシステムは、変換精度を向上するために統計的言語モデルを組み込んでいることが多い。特定の漢字は、複数の発音/読み方を有する(すなわち、同形異音異義語の漢字)。しかし、同形異音異義語の種々の発音/読み方を区別しない従来の言語モデルは、同形異音異義語の漢字と関連付けられるピンインに対して望ましくない中国語変換候補を生成することがある。
【図面の簡単な説明】
【0004】
以下の詳細な説明及び添付の図面において、本発明の種々の実施形態を開示する。
【図1】言語変換のためのシステムの一実施形態を示す図である。
【図2】入力データを対象記号表現の出力に変換するように構成されたデバイスの一実施形態を示す図である。
【図3】言語変換を実行する処理の一実施形態を示すフローチャートである。
【図4A】コーパスにおいて見つけられるテキスト列の一例を示す図である。
【図4B】図4Aのテキストが見つけられたコーパスからトレーニングされた言語モデルに格納されたいくつかのデータの一例を示す図である。
【図5】言語変換に使用される言語モデルをトレーニングするために使用される注釈付きコーパスを作成するシステムの一実施形態を示す図である。
【図6】注釈をつけ且つ言語モデルを使用する処理の一実施形態を示すフローチャートである。
【図7A】同形異音異義語の文字に対する注釈を含まないコーパスに現れる文702と、同形異音異義語の文字に対する注釈を含むコーパスに現れる文704とを示す一例を示す図である。
【図7B】同形異音異義語の文字に対する注釈を含まないコーパスに現れる文710と、同形異音異義語の文字に対する注釈を含むコーパスに現れる文712とを示す一例を示す図である。
【図8A】同形異音異義語の文字に対して注釈をつけられていない漢字コーパス(「注釈のないコーパス」)を使用する一例を示す図である。
【図8B】同形異音異義語の文字に対して注釈をつけられた漢字コーパス(「注釈付きコーパス」)を使用する一例を示す図である。
【図9】言語変換処理の一実施形態を示すフローチャートである。
【図10】ピンインを漢字に変換する処理の一実施形態を示すフローチャートである。
【発明を実施するための形態】
【0005】
本発明は、多くの方法で実現される。そのような方法としては、例えば処理、装置、システム、組成物、コンピュータ可読記憶媒体で具体化されたコンピュータプログラム、並びに/あるいはプロセッサ(たとえば、プロセッサに結合されたメモリに格納され且つ/又はメモリにより提供された命令を実行するように構成されたようなプロセッサ)が含まれる。本明細書において、これらの実現例又は本発明がとる他のあらゆる形態を技術と呼ぶ。一般に、開示される処理のステップの順序は、本発明の範囲内で変更されてもよい。特に指定のない限り、タスクを実行するように構成されているものとして説明されるメモリ又はプロセッサ等の構成要素は、所定の時間にタスクを実行するように一時的に構成される一般的な構成要素又はタスクを実行するように製造される特定の構成要素として実現される。本明細書で使用されるように、「プロセッサ」という用語は、コンピュータプログラム命令等のデータを処理するように構成された1つ以上のデバイス、回路及び/又はプロセシングコアを示す。
【0006】
本発明の原理を示す添付の図面と共に本発明の1つ以上の実施形態の詳細な説明を以下に提供する。そのような実施形態と共に本発明を説明するが、本発明はいずれの実施形態にも限定されない。本発明の範囲は特許請求の範囲によってのみ限定され、本発明は多くの変更、変形及び等価物を含む。本発明を完全に理解できるように、多くの特定の詳細を以下の説明に示す。それら詳細は例示の目的で提供され、本発明はそれら特定の詳細の一部又は全てを含まずに特許請求の範囲に従って実施されてもよい。理解しやすいように、本発明に関連する技術分野において既知の技術論文については、本発明を不必要に曖昧にしないために詳細には説明していない。
【0007】
特定の文字と関連付けられた種々の読み方を区別するために注釈をつけられるコーパスでトレーニングされる言語モデルを使用することが開示される。いくつかの実施形態において、2つ以上の読み方/発音/用法/意味と関連付けられるコーパスに現れる文字のインスタンスは、その文字のインスタンスに適切な読み方/発音/用法/意味の注釈をつけられる。いくつかの実施形態において、そのような注釈付きコーパスでトレーニングされた言語モデルは、ピンインを漢字に変換するために使用される。
【0008】
図1は、言語変換のためのシステムの一実施形態を示す図である。この例において、システム100は、デバイス102と、ネットワーク104と、変換サーバ106とを含む。ネットワーク104は、種々の高速データ及び/又は通信ネットワークを含む。
【0009】
デバイス102は、入力データを受信するように構成される。いくつかの実施形態において、入力データは入力テキスト(例えば、ローマ字)を含む。例えば、入力データはピンインを含む。デバイス102はiPhone(登録商標)として示されるが、デバイス102の他の例は、デスクトップコンピュータ、ラップトップコンピュータ(例えば、MacBook(登録商標))、スマートフォン、移動デバイス、タブレットデバイス(例えば、iPad(登録商標)又はiPad2(登録商標))及びあらゆる他の種類のコンピューティングデバイスである。デバイス102は入力領域を含むように構成され、タイプ及び/又は手書きされた文字はデバイス102により取り込まれる/受信される。そのような入力領域の例は、タッチ画面キーボード(例えば、タブレット及び/又は移動電話デバイスの)、物理キーボード、トラックパッド(例えば、AppleのMagic Trackpad又はMacBook Proの内蔵トラックパッド)、電子書き込み面及びタッチパッドを含む。種々の実施形態において、ユーザは、デバイス102の入力領域と対話することにより(例えば、物理及び/又はタッチ画面キーボードにタイプすることにより)デバイス102において入力を選択する。いくつかの実施形態において、デバイス102は、変換サーバ106から受信された出力が表示される表示領域を含む。
【0010】
いくつかの実施形態において、デバイス102は、変換サーバ106が対象記号表現の出力(例えば、文字の集合)に変換するために、受信された入力を変換サーバ106にネットワーク104を介して送出するように構成される。いくつかの実施形態において、デバイス102は、同様の変換を実行することと関連付けられた論理、コード及び/又は格納データを含むため、ネットワーク104を介してリモート変換サーバ106にデータを送信する必要なく対象記号表現の出力への入力データの変換を実行できる。
【0011】
変換サーバ106は、データを受信し且つデータを別の形式(例えば、対象記号表現の文字)に変換するように構成される。例えば、対象記号表現は漢字である。いくつかの実施形態において、変換サーバ106は、言語モデル(例えば、漢字のコーパスからトレーニングされた言語モデル)及び/又は入力データのテキストと対象記号表現の文字の集合との間の関連付けを格納するために使用されるデータベース(例えば、入力データ対対象記号表現のディクショナリ)を含む。いくつかの実施形態において、変換サーバ106の出力は入力からの変換候補を含む。例えば出力に対する変換の候補は、言語モデル及び入力されたピンインから判定される統計的に最も可能性(すなわち、確率)の高い特定の数の漢字である。いくつかの実施形態において、変換サーバ106の出力は、デバイス102に返され且つ表示される(例えば、ユーザが閲覧し且つ/又は表示された情報に関して更なる選択を行うために)。
【0012】
図2は、入力データを対象記号表現の出力に変換するように構成されたデバイスの一実施形態を示す図である。いくつかの実施形態において、システム100のデバイス102は図2の例を使用して実現される。いくつかの実施形態において、図2に示すようなデバイスは、ネットワークを介してデータをリモートサーバに送信する必要なく変換を実行できるように変換サーバ106の1つ以上の機能性をローカルに含む。この例におけるデバイスの図示する構成要素(例えば、ディスプレイ202、変換エンジン206、ディクショナリ204、言語モデル208及び入力領域210)は、ハードウェア及びソフトウェアの一方又は双方を使用して実現される。いくつかの実施形態において、デバイスはこの例において示される構成要素より多くの構成要素又は少ない構成要素を有することができる。
【0013】
入力領域210は、第1の記号表現の文字の集合を取り込む/受信するように構成される。上述したように、入力領域210の例は、タッチ画面キーボード(例えば、タブレット及び/又は移動電話デバイスの)、物理キーボード、トラックパッド(例えば、AppleのMagic Trackpad又はMacBook Proの内蔵トラックパッド)、音声認識/変換/翻音機能と関連付けられた受信機(例えば、マイク)、電子書き込み面及びタッチパッドを含む。いくつかの実施形態において、入力領域210は、ローマ字(例えば、a、b、c、…等)から1つ以上のテキスト文字を受信するように構成される。例えば入力領域210はピンインを受信でき、これはローマ字の標準中国語を翻字するシステムとなる。例えばユーザは、デバイスの入力領域210にピンインを入力し、ユーザがデバイスにおいて中国語で「タイプ」するために選択できる中国語変換候補をデバイスに提示させる。いくつかの実施形態において、入力領域210は、対応するテキスト符号化文字として入力文字を格納する。テキスト符号化方式の例は、ASCII、Big5、UTF−8、UTF−16、HKSCS、GB18030及びJIS X 0213を含む。
【0014】
変換エンジン206は、入力領域210から受信した入力を使用し且つ対象記号表現の変換候補を判定するように構成される。いくつかの実施形態において、対象記号表現は漢字を含む。いくつかの実施形態において、変換エンジン206は、入力が変換される前に入力に対して前処理を実行するように構成される。例えば入力がピンインであった場合、一般に各漢字が単音節語として読まれる/発音されるため、変換エンジン206は、各単音節語を中国語変換候補にマッピングする準備をするためにピンインを単音節語に対応する1つ以上の文字群に分解する。変換エンジン206は、ディクショナリ204及び言語モデル208にアクセスするように構成される。ディクショナリ204は、入力データの文字の集合と対象記号表現の文字の集合との間のマッピング/関連付けを格納するために使用される1つ以上のデータベースを含む。言語モデル208は、対象記号表現のテキストのコーパスでトレーニングされるNグラムモデルである。いくつかの実施形態において、言語モデル208をトレーニングするために使用されるコーパスは、対象記号表現の同形異音異義語の文字の種々の読み方を区別するために注釈がつけられたものである。例えば変換エンジン206は、まずディクショナリ204を使用して入力データの分解されたピンインを1つ以上の潜在的な漢字変換にマッピングし、それらの潜在的な漢字変換に対応する言語モデル208から統計情報を検索して最も可能性の高い候補変換の組み合わせを判定する。最も可能性の高い文字の組み合わせは、ディスプレイ202に表示される(例えば、ユーザが閲覧し且つ/又は対話するために)。ディスプレイ202の例は、ユーザから対話を取り込めるタッチ画面又はユーザ対話を取り込めない他の種類のディスプレイを含む。
【0015】
例えば入力がピンイン「nihao」であった場合、変換エンジン206は、まず入力を「ni」及び「hao」の単音節から成る2つの文字群に分解する。漢字には多くの同音異義語(すなわち、同様に発音されるが異なる意味を有する単語)があるため、入力されたピンイン内の単音節から成る各群は、潜在的にディクショナリ204によりいくつかの可能な漢字にマッピングされる(そのような各文字は、単音節から成る対応するピンイン群の発音で読まれる)。変換エンジン206は、各漢字及び/又はそれらの組み合わせに関連付けられた統計情報を検索し、ユーザが意図したものである確率が最も高い文字の組み合わせを判定する。
【0016】
図3は、言語変換を実行する処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理300は、言語モデルを構築し且つ構築された言語モデルを使用して言語変換を実行するシステムにおいて実現される。
【0017】
302において、テキストのコーパスが受信される。テキストのコーパスは、構造化された大きなテキスト集合(例えば、種々のソースから収集された)を含む。テキストのコーパスは、デジタル方式で格納及び処理される。一般にコーパスは、単一言語のテキストを含み且つ/又はコーパスでトレーニングされる言語モデルの入力に類似する形式である。例えばピンインから漢字への変換のための言語モデルをトレーニングするために、コーパスは漢字の形式のテキストを含む。
【0018】
304において、コーパスが、言語モデルをトレーニングするために使用される。いくつかの実施形態において、言語モデリングツール(例えば、IRST Language Model Toolkit)は、コーパスから言語モデルをトレーニングして構築するために使用される。例えば言語モデリングツールは、コーパスで見つけられた文字毎及び/又は文字列毎にNグラム確率を生成する。例えばコーパスで見つけられる各文字列(例えば、長さが2文字又は3文字又はそれ以上の)は、ある生起確率を割り当てられる。文字列は、列内の文字に対するコンテキストが、隣接する文字/周囲の文字により提供されるコンテキストにより後で認識される(例えば、言語変換段階中に)ように解析される。従って、コーパスに全く又は殆ど現れない(例えば、誤植のため又は意味がないため)文字列の場合、それら列に対して生成される確率はゼロか又は非常に低い(入力データの裏にあるユーザの所望の意図を表す尤度を示すため)ものとなる。結果として得られる言語モデルは、少なくともモデルがトレーニングされたコーパスにおいて見つけられる1つ以上の文字の列(例えば、又はそれら文字を表す基礎となる記号)に対する確率の割り当ての集合を含む。漢字のコーパスの例に戻ると、結果として得られる言語モデルは、コーパスで見つけられる1つ以上の漢字の列に割り当てられた確率を含む。
【0019】
306において、言語モデルは言語変換を実行するために使用される。例えば言語モデルは、1つの形式の入力(例えば、音声又はテキスト)を第2の形式の1つ以上の出力(例えば、対象記号表現)に変換するために変換エンジン(例えば、変換エンジン206)又は変換サーバ(例えば、変換サーバ106)により使用される。いくつかの実施形態において、入力データは1つの正確な出力(例えば、入力を入力したユーザにより所望される)にマッピングされる。より正確な言語モデルは、所定の入力データに対して、ユーザにより所望された1つの出力を含む可能性がより高い入力データから変換される潜在的な出力を検索することができる。例えば入力データ(例えば、正確に綴られたピンイン)は、統計情報(例えば、確率)が言語モデルにより維持されている1つ以上の文字(例えば、漢字)にマッピングされる(例えば、ディクショナリを使用して)。検索された確率は、潜在的に入力にマッピングされる文字のうちのいずれが、正確なマッピングである可能性がより高いかを判定するために使用される。いくつかの実施形態において、言語モデルは、入力データから対象記号表現への文字レベル及び/又は単語レベル及び/又は文(例えば、文の開始及び文の終了)及び/又は句レベルの分解能で入力を出力にマッチングする他の統計ツールを含む。
【0020】
図4A及び図4Bは、言語モデルの作成及び使用の際のいくつかのステップを示す例である。
【0021】
図4Aは、コーパスで見つけられるテキスト列の一例を示す。この例において使用されるように、各文字(例えば、A、F、S、…等)は、いずれかの言語での文字又は単語を表すために使用される。大文字のローマ字は単に例示のために選択されたものである。したがって、例えば図4Aに示す各文字は、漢字コーパスに現れる漢字を表すものであってもよい。コーパスのテキストは、言語モデルのトレーニング中にNグラム(例えば、長さがN文字の文字列)に分割される。部分列、すなわちNグラム402(「AF」を含む)、404(「FSD」を含む)及び406(「WGSJ」を含む)は、言語モデルを構築するNグラム確率生成及び/又はトレーニング段階において使用されるコーパスにおいて見つけられる列のいくつかの例である。Nグラム確率が特定の言語モデルに対して生成される列の文字長は、例えば言語モデリングツール及び/又は言語モデルの設計者により選択される。
【0022】
図4Bは、図4Aのテキストが見つけられたコーパスからトレーニングされた言語モデルに格納された、いくつかのデータの一例を示す。この例に示すように、コーパスで見つけられた種々の列(可変長の列)の確率は計算及び格納され(例えば、テーブルエントリに)、各文字列に対応する。例えば408は、コーパスの「AF」の列の発生に対して言語モデルにより割り当てられたNグラム確率(0.0324)を示す例示的なテーブルのエントリを表す。いくつかの実施形態において、言語モデルは、図4Bに示した例示的なデータに加えて他の種類の情報を含む(例えば、入力データ対対象記号表現のディクショナリ、単語、いくつかの文字の単位、並びに名前及び場所のような種類の情報)。
【0023】
いくつかの実施形態において、入力データ(例えば、第1の記号又は他の表現に関連付けられた文字の集合)は、出力データ(例えば、対象記号表現に関連する1つ以上の変換候補を形成する文字の集合)を生成するために言語モデルを使用して変換される。例えば言語モデルは、入力デバイスを介して入力されたピンインテキストを対応する漢字に変換するために使用される。入力されたピンイン文字列は、1つ以上の潜在的な漢字にマッピングされる音節を判定するために構文解析され(例えば、言語モデル又は他のある技術により)、そのような漢字の各確率は、入力されたピンインからの望ましいマッピングであるより確率の高い漢字変換を判定するために使用される。
【0024】
一般的な文字のコーパスは、特定の注釈(例えば、音声タグ付けの一部)を含むが、文字の読み方/発音/用法/意味(本明細書では単に「読み方」と呼ぶこともある)又は文字が使用される状況に対する特定の読み方/発音/用法/意味(文字と関連付けられた可能な読み方/発音/用法/意味が2つ以上ある場合)の注釈を含まない。例えば、従来の漢字のコーパスは、一般に読み方/発音/用法/意味/ピンインの注釈を含まない。換言すると、従来の漢字コーパスは、同形異音異義語の漢字のそれぞれ異なるコンテキストに適した複数の読み方を区別しない。例えばコーパスの一部分におけるコンテキストは、第1の意味(読み方/発音/ピンイン)で同形異音異義語の文字を使用するが、その一方で、同一のコーパスの別の部分におけるコンテキストは、第1の意味とは異なる第2の意味(読み方/発音/ピンイン)で同形異音異義語の文字を使用する。しかし、コーパスにおいて同形異音異義語の文字の2つ(又はそれ以上)の意味を区別するための注釈がない場合、同形異音異義語の文字の特定の読み方がコーパスに現れる度にその同形異音異義語の文字の各読み方に対して別個の意味別の確率が判定されるのではなく、Nブラム確率生成は文字がコーパスに現れるといつでもその同形異音異義語の文字(複数の読み方を含む)に対してのみNグラム確立生成が実行される。従来のコーパスにおいて、特定の文字の可能な複数の読み方を区別できないことの結果として、そのようなコーパスを使用してトレーニングされた言語モデルは、同形異音異義語の文字を含む出力にデータ入力を変換する際の精度がより低下する。以下、言語モデルにおける文字の種々の読み方の曖昧性を除去することについて説明する。
【0025】
図5は、言語変換に使用される言語モデルをトレーニングするために使用される注釈付きコーパスを作成するシステムの一実施形態を示す図である。種々の実施形態において、コーパスの注釈により、コーパスにおける第1の読み方/発音/ピンイン/意味を示すための同形異音異義語の1つの用法と、コーパスにおける第2の読み方/発音/ピンイン/意味を示すための同一の同形異音異義語の別の用法とを区別することを促進する。ネットワーク508は、種々の高速データ及び/又は通信ネットワークを含み得る。いくつかの実施形態において、言語モデルトレーニングエンジン510、コーパス512及び言語モデル514は、変換サーバ(例えば、変換サーバ106)の一部として実現される。
【0026】
いくつかの実施形態において、言語モデルトレーニングエンジン510は、例えば第三者によりホストされるサーバからネットワーク508を介してテキストソース502、504及び506を検索する。いくつかの実施形態において、言語モデルトレーニングエンジン510は、ネットワーク508を使用せずにテキストを受信する(例えば、ローカル記憶装置又はソースを介してテキストを取得することにより)。いくつかの実施形態において、言語モデルトレーニングエンジン510は、検索し且つ/又は受信したテキストをコーパス512に格納するように構成される。コーパス512は、テキストソース502、テキストソース504及びテキストソース506等の種々のソースから抽出されたテキストにより形成される。いくつかの実施形態において、コーパス512に収集されたテキストの大部分が1つの言語のテキストである。例えばコーパス512のテキストの大部分が漢字である。テキストソース502、504及び506の例は、新聞、ウェブサイト、本、定期刊行物、ソーシャルメディア(例えば、Facebook(登録商標)、Twitter(登録商標))及び雑誌を含む。例えばテキストソース502、504及び506から収集されたテキストは、合計で約8億個の漢字である。また、例えば漢字のコーパスは8000個の異なる文字を含み、そのうち約50個が同形異音異義語の文字である。いくつかの実施形態において、コーパス512の注釈がない場合、テキストソースから抽出される別個の各文字は、コーパス512の1つの別個の記号により表され、テキストソースから複数回抽出される同一の文字は、その文字に対応する記号の複数のインスタンスとして格納される。
【0027】
いくつかの実施形態において、言語モデルトレーニングエンジン510は、コーパス512の文字に対する手動入力の注釈を受信するように構成される。いくつかの実施形態において、言語モデル514のシステム管理者及び/又は設計者(例えば、ユーザ)は、同形異音異義語の文字を見つけるためにコーパス512のテキストを走査し、同形異音異義語の文字が使用される状況のユーザの理解に基づいて(例えば、その文字が使用された文及び/又は周囲のテキストに基づいて)、適切な読み方/発音/ピンイン/意味を示すために同形異音異義語の文字のインスタンスに注釈をつける。例えばそのような注釈をつけるために、コーパス512において、(2つ以上の可能な読み方のうちの)特定の読み方の同形異音異義語の文字のインスタンスはコーパス512に存在する他の全ての文字を表す記号と区別可能であり、且つ同一の同形異音異義語の文字の別の読み方と関連付けられる別の記号とも区別可能である新しい記号(例えば、テキスト符号化)により置換される。換言すると、コーパス512における1つの読み方を有する同形異音異義語の文字はコーパス512において第1の記号と関連付けられ、第2の読み方を有する同一の同形異音異義語の文字はコーパス512において第2の記号と関連付けられる。従って、同形異音異義語の文字が第1の読み方と関連付けられた状況において使用される場合、その文字のインスタンスは、コーパス512において第1の記号として格納され、同形異音異義語の文字が第2の読み方と関連付けられた状況において使用される場合、その文字のインスタンスは第2の記号として格納される。注釈をつけた結果、同形異音異義語の文字は同一の記号の種々のインスタンスとしてコーパス512に現れなくなり、同形異音異義語の文字の異なる読み方の各々がコーパスにおいて別個の記号により置換される。従って、例えば3つの可能な読み方と関連付けられる同形異音異義語の文字は、注釈付きコーパスにおいて3つの異なる記号の種々のインスタンスとしてコーパス512に現れる。いくつかの実施形態において、2つ以上の記号がコーパスにおいて同形異音異義語の文字を表すが、それら記号の各々は同一の同形異音異義語の文字と依然として関連付けられる。
【0028】
例えば英語の単語に対するそのような注釈付きコーパスにおいて、「desert」は2つの可能な読み方を有する同形異音異義語の単語/文字である。すなわち、一方は1つの意味と関連付けられる「見捨てる」を意味する動詞であり、他方は異なる意味と関連付けられる「乾燥した不毛な地域」を意味する名詞である。コーパスに注釈をつける前は、コーパスのテキストにおける「desert」の出現は、「desert」に対する記号と関連付けられる。しかし、注釈をつけた後は、コーパスにおける「desert」の出現は、「desert」の2つの意味のうち「desert」のインスタンスがテキストに現れるコンテキストに適切な意味に依存して動詞又は名詞に対する記号と関連付けられる。
【0029】
いくつかの実施形態において、単語の可能な読み方の1つ又は記号又は記号列は、全ての発生に対する記号を符号化するのに使用された元の記号により表され、1つ以上の他の可能な読み方と関連付けられたインスタンスのみが注釈をつけられる。上述の例において、例えばdesert_v(「見捨てる」を意味する動詞)と関連付けられた方法で使用される「desert」は注釈をつけられないが、desert_n(「乾燥した不毛な地域」を意味する名詞)の意味で使用される「desert」のインスタンスの場合、「desert」を符号化するのに使用された記号はdesert_n(「乾燥した不毛な地域」を意味する)に対応する新しく定義された記号で置換される。その後、言語モデルのトレーニングにおいて、注釈をつけられていない「desert」の発生はdesert_v(「見捨てる」を意味する)と関連付けられると理解され、その一方で、desert_n(「乾燥した不毛な地域」を意味する)の発生は第2の読み方を示すと理解される。
【0030】
いくつかの実施形態において、ユーザはコーパス512のテキストの部分集合に手動入力で注釈をつけ、コーパス512の残りの部分は、例えば手動入力の注釈により作成された注釈付けのパターンに基づいて同様に自動的に注釈をつけられる(例えば、ソフトウェア及び/又はハードウェアの形態の機械学習技術を使用して)。例えば自動処理は、手動入力の注釈から学習されたパターンを使用して、同形異音異義語の文字に対する第1のコンテキスト及びそのコンテキストにおけるその文字の対応する適切な読み方を識別し、その文字の特定の読み方と関連付けられるコーパスにおける文字のインスタンスに注釈をつける(例えば、その文字の別の読み方を表す記号と異なり、且つ、コーパス512の別の文字を表す記号と異なる記号になるように、コーパスの同形異音異義語の文字と関連付けられた記号を置換することにより)。
【0031】
注釈をつけられた後のコーパス512を考慮する1つの方法は、記号の集合が拡張されることである。開示された注釈付けの前に、同形異音異義語の文字は機械により理解できるように文字を表すために使用されるユニコードコードポイント又は他の値等の1つの機械可読値にマッピングされる。また、その一方で、開示された注釈付けの後は、同形異音異義語の文字は注釈付きコーパス512で使用される2つ以上の機械可読値にマッピングされる。ここで、同形異音異義語の文字と関連付けられた各機械可読値は、同形異音異義語の文字の特定の読み方を表す。
【0032】
いくつかの実施形態において、言語モデル514は、例えば言語モデリングツール(例えば、IRST Language Model Toolkit)を使用して注釈付きコーパス512でトレーニングされる。例えば言語モデリングツールは、同形異音異義語の文字の複数の読み方に対して追加された新しい記号を含む注釈付きコーパス512の文字(又はそれらの記号)及び文字列に対してNグラム確率を生成する。
【0033】
いくつかの実施形態において、図2の変換エンジン206等の変換エンジンは、言語モデル514等の読み方の注釈付きコーパスでトレーニングされた言語モデルを使用して対象記号表現の1つ以上の変換候補を生成するために入力データを受信するように構成される。例えば、入力データはピンインと関連付けられ、言語モデル514は漢字と関連付けられると仮定する。言語モデル514において文字/記号及びそれらの列に対して生成された確率を使用して、変換エンジン206は、所定のピンイン入力と一致し且つ特に同形異音異義語の文字の特定の読み方に固有の確率を提供するモデルを使用して特定の同形異音異義語の文字が意図された尤度を過大評価することを回避する可能性が相対的に高い1つ以上の漢字を出力として生成する。
【0034】
図6は、注釈をつけ且つ言語モデルを使用する処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理600は、システム500を使用して少なくとも部分的に実現される。
【0035】
602において、コーパスと関連付けられたテキストの部分集合に対する1つ以上の手動入力の注釈が受信され、手動入力の注釈は、2つ以上の読み方と関連付けられた文字のインスタンスに対して、そのインスタンスと関連付けられた状況に少なくとも部分的に基づいて文字の適切な読み方を示す。
【0036】
例えばユーザは、同形異音異義語の文字/単語のインスタンスの場所を特定するためにコーパスのテキストの部分集合を読む。ユーザは、同形異音異義語の文字/単語のインスタンスを見つけると、文字のインスタンスが現れる状況(例えば、文字が現れる文、その文字の周囲の文字)及びその状況における文字の用法のユーザの知識に基づいてその文字のインスタンスに対する適切な読み方を判定し且つ注釈をつける。コーパスの文字のインスタンスに適切な同形異音異義語の文字の読み方が2つ以上あることは殆どない。従って、コーパスの同形異音異義語の文字の各インスタンスに対して判定される読み方は1つだけでよい。同形異音異義語の文字のインスタンスに対するこの判定された適切な読み方は、注釈として変換エンジンに入力され、コーパスに格納される。いくつかの実施形態において、特定の読み方を示すために同形異音異義語のインスタンスと関連付けられた注釈は、文字の元のインスタンスを表していたコーパスの記号(例えば、テキスト符号化)を置換する新しい記号(例えば、コーパスのあらゆる他の文字を表すのに使用される記号と異なり且つ先に割り当てられていないユニコード値、又は私用領域文字等の同一の同形異音異義語の別の読み方を表すのに使用される記号とも異なる記号)としてコーパスに格納される。いくつかの実施形態において、特定の読み方を示すために同形異音異義語のインスタンスと関連付けられた注釈は、コーパスの文字のインスタンスを表す記号に追加されるタグである。いくつかの実施形態において、コーパスは種々のソースから取得されたテキスト(殆どが1つの言語のテキスト)を含む。
【0037】
コーパス全体(数億個のテキストを含む可能性がある)に手動入力で注釈をつけるのは非効率的であるため、手動入力の注釈付けはコーパスの小さな部分集合に対して行われ、コーパスの残りの部分は、以下に説明するように自動化処理を使用して注釈をつけられる。
【0038】
604において、手動入力で注釈をつけられていないコーパスと関連付けられたテキストの少なくとも一部分は、受信された1つ以上の手動入力の注釈に少なくとも部分的に基づいて自動的に注釈をつけられる。
【0039】
いくつかの実施形態において、自動化処理は、手動入力で注釈をつけられていないコーパスの残りの部分に対して同形異音異義語の文字のインスタンスの種々の読み方に注釈を追加するために使用される。例えば自動化処理は、機械学習技術及び602で入力された手動入力の注釈を使用するソフトウェアにより行われる。
【0040】
606において、言語モデルは注釈付きコーパスを使用してトレーニングされる。
【0041】
いくつかの実施形態において、注釈付きコーパスは、注釈をつけられる前にコーパスで発生した同形異音異義語の文字の各インスタンスの種々の読み方を表すための別個の記号を含む。いくつかの実施形態において、言語モデルは、注釈付きコーパスにおいて見つけられた文字/記号及びそれらの列に対してNグラム確率生成を実行することにより作成され且つ注釈付きコーパスでトレーニングされる。いくつかの実施形態において、言語モデルは、コーパス内で見つけられる文の開始及び終了でトレーニングされる。結果として得られる言語モデルは、同形異音異義語の文字の各読み方と関連付けられた確率を含む。
【0042】
例えば注釈付きコーパスにおいて、テキスト中の同形異音異義語の「単語」の発生は、「word_reading1」又は「word_reading2」の記号で表されると仮定する。従って、注釈付きコーパスでトレーニングされる言語モデルは、「word_reading1」又は「word_reading2」の文字/記号を含む確率を含む(例えば、Pr(word_reading1)は「word_reading1」のユニグラムと関連付けられた確率を表すために使用され、Pr(word_reading2)は「word_reading2」のユニグラムと関連付けられた確率を表すために使用され、Pr(wordN,wordN-1,…,word_reading1)及びPr(wordN,wordN-1,…,word_reading2)等のNグラムと関連付けられた確率も生成される)。
【0043】
例えば2つの読み方を有する同形異音異義語の単語「desert」の場合、各読み方に対して別個の確率が判定される。例えばユニグラム、バイグラム、…、Nグラムと関連付けられる確率は、「desert_v」に対して判定され(例えば、Pr(desert_v)、Pr(he,would,desert_v)、Pr(soldier,said,he,would,desert_v))、ユニグラム、バイグラム、…、Nグラムと関連付けられる確率は、「desert_n」に対して判定される(例えば、Pr(desert_n)、Pr(crossed,through,a,desert_n)、Pr(camel,crossed,through,a,desert_n))。列(長さが1文字より長い)の確率を利用することにより、文字は、その文字が現れる適切なコンテキストを判定するためにそのような確率を使用して曖昧性が除去される。
【0044】
図7A及び図7Bは、同形異音異義語の漢字の種々の読み方を区別するために注釈をつけられる中国語コーパスのテキストの例である。漢字のコーパスがこれらの例において示されるが、コーパスは異なる言語(例えば、日本語)の文字を含むことができる。
【0045】
図7Aは、同形異音異義語の文字に対する注釈を含まないコーパスに現れる文702と、同形異音異義語の文字に対する注釈を含むコーパスに現れる文704とを示す一例である。文702において、同形異音異義語の文字706(「長(以下、文字706を「長」で代用する)」)は、「zhang」及び「chang」の少なくとも2つの異なる読み方/発音/ピンイン/意味と関連付けられる同形異音異義語の文字である。例えば「zhang」と読まれる場合の文字706「長」の意味は「a chief or leader(チーフ又はリーダ)」である。例えば「chang」と読まれる場合の文字706「長」の意味は「long(長い)」である。文702(同形異音異義語の文字に対する注釈を含まないコーパスの)の英語翻訳は、「he is one of the candidates running for mayor(彼は市長選に出馬している候補者の一人である)」である。従って、文702において、文字706(「長」)は、「zhang」の読み方/ピンインと関連付けられる意味で使用される。同形異音異義語の文字の注釈を含まないコーパスにおいて、文702における文字706(「長」)の出現は、コーパスの1つの記号にマッピングされる(例えば、文字706「長」のある形式のテキスト符号化を使用して)。しかし、注釈をつけた後、文702は文704になり、同形異音異義語の文字に対する注釈を含むコーパスに現れる。文704において、文字706(「長」)は、読み方708(「長_zhang」)を表すコーパスにおける記号で置換されている(例えば、読み方708「長_zhang」に対して新たに作成されるある形式のテキスト符号化又はコーパスに現れるあらゆる他の文字に対して先に使用されていないテキスト符号化を使用して)。
【0046】
図7Bは、同形異音異義語の文字に対する注釈を含まないコーパスに現れる文710と、同形異音異義語の文字に対する注釈を含むコーパスに現れる文712とを示す一例である。同形異音異義語の文字に対する注釈を含まないコーパスにおける文710の英語翻訳は、「I have been here for a long time already(私は既に長い時間ここにいる)」である。従って、文710において、文字706(「長」)は、「chang」の読み方/ピンインと関連付けられる意味で使用される。同形異音異義語の文字に対する注釈を含まないコーパスにおいて、文710の同形異音異義語の文字706(「長」)の出現は、コーパスの1つの記号にマッピングされる(例えば、文字706「長」のある形式のテキスト符号化を使用して)。しかし、注釈をつけた後、文710は文712になり、同形異音異義語の文字に対する注釈を含むコーパスに現れる。文712において、文字706(「長」)は読み方716(「長_chang」)を表すコーパスにおける記号で置換されている(例えば、読み方716「長_chang」に対して新たに作成されるある形式のテキスト符号化又はコーパスに現れるあらゆる他の文字に対して先に使用されていないテキスト符号化を使用して)。
【0047】
図8A及び図8Bは、ピンイン入力をある形式の漢字出力に変換する際に同形異音異義語の文字に対して注釈をつけられていないコーパス及び同形異音異義語の文字に対して注釈をつけられているコーパスを使用する例を示す。漢字のコーパスがこれらの例において示されるが、コーパスは異なる言語(例えば、日本語)の文字を含むことができる。図7A及び図7Bの例において、ピンイン入力はデバイス(例えば、デバイス102)の入力領域において受信される。
【0048】
この例において、同形異音異義語の文字「長」は、「chang」及び「zhang」の2つの潜在的な読み方/ピンインと関連付けられる。
【0049】
図8Aは、同形異音異義語の文字に対して注釈をつけられていない漢字コーパス(「注釈のないコーパス)を使用する一例を示す。この例において、ピンイン「chang」又は「zhang」が入力されるかに関係なく、注釈のないコーパスでトレーニングされた言語モデルは、例えばユニグラム「長」の確率(Pr(長))等の「長」と関連付けられる確率を検索する(例えば、ピンインが「長」の潜在的な中国語変換候補にマッピングされた後)。とはいえ、「長」を含む文字列(例えば、N>1のNグラム)と関連付けられる確率(例えば、Pr(市,長)も検索され得る。その結果、言語モデルは、「zhang」(「a chief(チーフ)」を意味する)の読み方/意味及び「chang」(「long(長い)」を意味する)の読み方/意味で「長」を使用する句及び/又は文を区別するために統計情報を提供する際の精度は低くなる。
【0050】
例えば「zhang」の読み方/意味の「長」は、コーパスにおいて「zhang」のピンインと関連付けられる他の漢字(例えば、章、掌)より非常に少ない頻度で使用されると仮定する。しかし、コーパスでトレーニングされた結果として得られる言語モデルは、コーパス内で使用された意味の数に関係なく同一の確率を「長」(例えば、「長」を含むNグラムに対応する)に与える。「長」に割り当てられた確率がコーパスにおいて「chang」の読み方/意味で「長」を少なくとも数回使用することを含むため、言語モデルにおける「長」の確率は、「zhang」のピンインにマッピングされる他の中国語変換候補と関連付けられた確率と比較して不適切に高く、言語変換における全体の精度は低くなる。
【0051】
図8Bは、同形異音異義語の文字に対して注釈をつけられた漢字コーパス(「注釈付きコーパス」)を使用する一例を示す。この例において、「chang」のピンイン入力(例えば、ピンインが「長」の潜在的な中国語変換候補にマッピングされた後)に対して、言語モデルは、例えば「長_chang」のユニグラムの確率(Pr(長_chang))等の文字のその読み方と関連付けられた確率を検索する。しかし、「長_chang」を含む文字列(例えば、N>1のNグラム)と関連付けられる確率(例えば、Pr(市,長_chang))も検索される。同様に、「zhang」のピンイン入力に対して、言語モデルは、例えば「長_zhang」のユニグラムの確率(例えば、Pr(長_zhang))等の文字のその読み方と関連付けられた確率を検索する。言語モデルがトレーニングされるコーパスに注釈をつけた結果、確率は同一の同形異音異義語の異なる各読み方に与えられ、それにより、より正確な変換が可能になる。
【0052】
「zhang」の読み方/意味の「長」がコーパスにおいて「zhang」のピンインと関連付けられる他の漢字(例えば、章、掌)より非常に少ない頻度で使用されると仮定された先の例に戻ると、注釈付きコーパスで言語モデルをトレーニングした後、「長」の種々の読み方(「chang」及び「zhang」)に与えられた別個の確率が存在する。ここで、「長_zhang」に割り当てられた確率は、コーパス内で「chang」の意味で「長」を使用することを全く含まず、同様に、「長_chang」に割り当てられた確率は、コーパス内で「zhang」の意味で「長」を使用することを全く含まない。従って、言語モデルの「長」の確率は、「zhang」又は「chang」のピンインにマッピングされる他の中国語変換候補と関連付けられた確率と比較してより精度が高く、言語変換における全体の精度が高くなる。
【0053】
図9は、言語変換処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理900は、システム100において少なくとも部分的に実現される。いくつかの実施形態において、処理900は、デバイス102において少なくとも部分的に実現される。
【0054】
902において、対象記号系での入力データの記号表現を含む文字の集合に変換される入力データが受信される。いくつかの実施形態において、入力データは、変換が行われるデバイス(例えば、デバイス102)において受信される。いくつかの実施形態において、入力データは、変換を実行するリモートサーバ(例えば、変換サーバ106)に送出される。いくつかの実施形態において、入力データは入力テキスト(例えば、ローマ字の)を含む。例えば、入力データはピンインの集合である。
【0055】
904において、入力データを変換して得られる対象記号表現の1つ以上の変換候補が生成される。いくつかの実施形態において、対象記号表現は漢字を含む。いくつかの実施形態において、入力データ又はその部分集合は、対象記号表現の1つ以上の可能な文字(例えば、変換候補)にマッピングされる。例えば入力データが音読み(phonetic readings)と関連付けられると仮定すると、対象記号表現の複数の文字は入力データの文字群と関連付けられた1つの読み方にマッピングされる。いくつかの実施形態において、対象記号表現の文字(又はその集合)に対する入力データの形式の文字(又はその集合)のディクショナリは、受信した入力データに基づいて変換候補を判定するために使用される。いくつかの実施形態において、例えば入力データ又はその一部分は同形異音異義語の文字と関連付けられた読み方の1つを形成するため、入力データは対象記号表現のその同形異音異義語の文字である変換候補にマッピングされる。
【0056】
906において、対象記号系の文字の第1の読み方と第2の読み方とを区別する言語モデルは、同形異音異義語の文字が入力データの対応する一部分を表すために使用されるべきである確率を判定するために使用される。種々の実施形態において、使用される言語モデルは、同形異音異義語の文字に対して注釈をつけられるコーパスでトレーニングされる(例えば、処理600の少なくとも一部を使用して)。その結果、言語モデルは、注釈付きコーパスにおいて見つけられた同形異音異義語の文字の種々の読み方を区別するためにトレーニングされたものとなる。いくつかの実施形態において、言語モデルは、同形異音異義語の文字の各読み方を1つ以上の確率の集合(例えば、その読み方を含むユニグラム、バイグラム及びトライグラム等と関連付けられた)と関連付ける。例えば変換候補を評価する時、それらの関連付けられた確率(例えば、ユニグラム、バイグラム、トライグラム…等の)は最も高い相対確率を有する変換候補を判定する(例えば、所定の状況に対して/隣接する文字又は周囲の文字に基づいて)ために言語により使用される。相対的に高い確率を有する変換候補は、所望の変換出力である可能性がより高い。例えば変換候補の1つが同形異音異義語の文字であった(例えば、入力データの少なくとも一部分がその文字と関連付けられた読み方の1つを形成するため)場合、その変換候補を評価する時、同形異音異義語の文字の特定の読み方と関連付けられた確率(例えば、その特定の読み方を含むユニグラム、バイグラム及びトライグラム等の)は検索され、他の変換候補と関連付けられた確率と比較するために使用される。
【0057】
図10は、ピンインを漢字に変換する処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理1000はシステム100を使用して実現される。いくつかの実施形態において、処理900の少なくとも一部(例えば、904及び906)は処理1000を使用して実現される。
【0058】
1002において、ピンインと関連付けられた文字の入力集合は、1つ以上の文字群に分解され、各文字群は1つの漢字に変換される。いくつかの実施形態において、ピンインと関連付けられた文字の集合は、デバイス(例えば、デバイス102)の入力領域において受信される。いくつかの実施形態において、入力ピンインは、1つ以上の漢字に変換される。いくつかの実施形態において、入力ピンイン(例えば、少なくともいくつかの英字の間に1つ以上のスペースを有するか又は有さないローマ字の文字列)は正確に綴られる。通常、各漢字は、単音節語であるため、単音節語として読まれるピンイン入力の隣接する英字群にマッピングされる。従って、入力ピンインが中国語変換候補にマッピングされる前に、いくつかの実施形態において、入力ピンインは単音節語として読まれる英字群に分解される必要がある。
【0059】
例えば、入力ピンインが「shizhang」であると仮定する。入力は2つの音節(「shi」及び「zhang」)を含むため、単音節から成る2つの英字群「shi」及び「zhang」に分解される。
【0060】
1004において、1つ以上のピンイン群の各々に対応する1つ以上の中国語変換候補が判定される。中国語において、同様に読まれる/発音されるが意味が異なる文字である同音異義語の漢字がいくつか存在する。同音異義語の文字は、同一のピンインと関連付けられる。ピンインを漢字に変換する処理において、いくつかの同音異義語の文字(例えば、同一の音調又は異なる音調を有する)は単音節から成るピンイン群毎に識別される。しかし、1つの文字のみがピンイン群に対する所望の変換である。この所望の文字は、最も高い確率と関連付けられる1つ以上の変換候補を判定するために各中国語変換候補と関連付けられた1つ以上の確率を関連付ける言語モデルを使用することにより取得される。
【0061】
先の例を継続すると、例えば「shi」に対する中国語変換候補は「是」、「市」及び「十」を含む。「zhang」に対する中国語変換候補は、例えば「章」、「掌」及び「長」を含む。
【0062】
1006において、ピンインの1つの文字群が同形異音異義語の漢字の1つの読み方と関連付けられるかが判定される。ピンイン群が同形異音異義語の文字と関連付けられた第1の読み方と関連付けられると判定される場合、その第1の読み方と関連付けられた情報が検索される。いくつかの実施形態において、単音節から成る分解された1つ以上のピンイン群は同形異音異義語の文字の1つの読み方と関連付けられると判定される。そのような群が判定される場合、同形異音異義語の文字の読み方と関連付けられた確率は検索され、対応する中国語変換候補を評価するために使用される(例えば、同形異音異義語の漢字の種々の読み方を区別するために注釈をつけられたコーパスでトレーニングされた言語モデルにより)。
【0063】
先の例を継続すると、「zhang」のピンインが同形異音異義語の文字「長」の1つの読み方と関連付けられると判定されるため、「shi」及び「zhang」に対する中国語変換候補を評価する際、「長_zhang」と関連付けられた確率が検索される(例えば、Pr(長_zhang))。更に入力「shizhang」が1つの句(2つの漢字を含む)を形成するために使用されると仮定すると、「shi」及び「zhang」の中国語変換候補の種々の組み合わせと関連付けられた確率(例えば、Pr(是,章)、Pr(是,掌)、Pr(是,長_zang)、Pr(市,章)、Pr(市、掌)、Pr(市,長_zhang)、Pr(十,章)、Pr(十,掌)、Pr(十,長_zhang)、Pr(十,章)、Pr(十,掌)、Pr(十,長_zhang))は、最も高い確率を有する組み合わせを判定するために評価される。コーパスが適切に注釈をつけられ、言語モデルが適切にトレーニングされたと仮定すると、中国語変換候補の可能な組み合わせと関連付けられた確率のうち、Pr(市,長_zhang)の値が最大である(例えば、残りの漢字の組み合わせが無意味であり且つ/又は注釈をつけられたコーパスに頻繁に現れないため)。従って、この例において、「市長」(英語で「mayor」を意味する)は「shizhang」の入力に対する出力中国語変換である。コーパスが同形異音異義語の漢字の種々の読み方を区別するために注釈をつけられていない場合、例えば全ての読み方(「chang」及び「zhang」)で使用される「長」が注釈をつけられていないコーパスにおいて「市」以外の漢字の隣に現れるのがより一般的であるため、Pr(市,長)の値(注釈をつけられていないコーパスから判定されるような)は、Pr(市,長_zhang)の値程大きくない可能性がある(従って、「市長」は出力中国語変換として選択されない可能性がある)。
【0064】
上述した実施形態は理解しやすくするために詳細に説明したが、本発明は提供した詳細に限定されない。本発明を実現する別の方法が多く存在する。開示された実施形態は例示であり、限定するものではない。
【特許請求の範囲】
【請求項1】
メモリ及び1つ以上のプロセッサを含むデバイスにおいて、
文字の集合に変換される入力データを受信することと、前記文字の集合は、対象記号系における前記入力データの記号表現を含み、
同形異音異義語の文字が前記入力データの対応する部分を表す確率のそれぞれを判定するために、前記対象記号系における前記同形異音異義語の文字の第1の読み方と第2の読み方とを区別する言語モデルを使用することと、を有することを特徴とする方法。
【請求項2】
前記入力データが変換される前記対象記号系における、1つ以上の変換候補を生成することを更に有することを特徴とする請求項1に記載の方法。
【請求項3】
前記入力データは、ピンインで書かれた入力テキストを含むことを特徴とする請求項1又は2に記載の方法。
【請求項4】
前記入力データは、ローマ字の文字で書かれた入力テキストを含むことを特徴とする請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記入力データは、単音節から成る1つ以上の文字群に分解されることを特徴とする請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記対象記号系は漢字を含むことを特徴とする請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方と前記同形異音異義語の文字の前記第2の読み方とを区別するために注釈をつけられたコーパスを使用してトレーニングされ、前記同形異音異義語の文字の前記第1の読み方及び前記第2の読み方のうち少なくとも一方に対して、対応する新しい記号又はその符号化表現が作成され且つ前記注釈をつけられたコーパスに追加されることを特徴とする請求項1から6のいずれか1項に記載の方法。
【請求項8】
コーパスと関連付けられたテキストの部分集合に対する1つ以上の手動入力の注釈を受信することと、前記1つ以上の手動入力の注釈は、各々が同形異音異義語の各文字のインスタンスに対して前記インスタンスと関連付けられた状況に少なくとも部分的に基づいて前記同形異音異義語の各文字の適切な読み方を示し且つ前記同形異音異義語の各文字と関連付けられた各記号と関連付けられ、
前記受信された1つ以上の手動入力の注釈に少なくとも部分的に基づいて、手動入力で注釈をつけられていない前記コーパスと関連付けられた前記テキストの少なくとも一部分に自動的に注釈をつけることと、を更に有することを特徴とする請求項1から7のいずれか1項に記載の方法。
【請求項9】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方に対応する第1の確率と前記同形異音異義語の文字の前記第2の読み方に対応する第2の確率とを関連付けるためにトレーニングされることを特徴とする請求項1から8のいずれか1項に記載の方法。
【請求項10】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方を含む第1の文字列に対応する第1の確率と前記同形異音異義語の文字の前記第2の読み方を含む第2の文字列に対応する第2の確率とを関連付けるためにトレーニングされ、前記第1及び前記第2の文字列はそれぞれ2つ以上の文字を含むことを特徴とする請求項1から9のいずれか1項に記載の方法。
【請求項11】
1つ以上のプロセッサと、
命令を格納したメモリと、を備え、前記命令は、前記1つ以上のプロセッサにより実行されたときに、前記プロセッサに、
文字の集合に変換される入力データを受信することと、前記文字の集合は、対象記号系における前記入力データの記号表現を含み、
同形異音異義語の文字が前記入力データの対応する部分を表す確率のそれぞれを判定するために、前記対象記号系における前記同形異音異義語の文字の第1の読み方と第2の読み方とを区別する言語モデルを使用することと、
を含む動作を実行させることを特徴とする電子デバイス。
【請求項12】
前記動作は、前記入力データが変換される前記対象記号系における、1つ以上の変換候補を生成することを更に含むことを特徴とする請求項11記載の電子デバイス。
【請求項13】
前記入力データは、ピンインで書かれた入力テキストを含むことを特徴とする請求項11又は12に記載の電子デバイス。
【請求項14】
前記入力データは、ローマ字の文字で書かれた入力テキストを含むことを特徴とする請求項11から13のいずれか1項に記載の電子デバイス。
【請求項15】
前記対象記号系は漢字を含むことを特徴とする請求項11から14のいずれか1項に記載の電子デバイス。
【請求項16】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方と前記同形異音異義語の文字の前記第2の読み方とを区別するために注釈をつけられたコーパスを使用してトレーニングされ、前記同形異音異義語の文字の前記第1の読み方及び前記第2の読み方のうち少なくとも一方に対して、対応する新しい記号又はその符号化表現が作成され且つ前記注釈をつけられたコーパスに追加されることを特徴とする請求項11から15のいずれか1項に記載の電子デバイス。
【請求項17】
前記動作は、
コーパスと関連付けられたテキストの部分集合に対する1つ以上の手動入力の注釈を受信することと、前記1つ以上の手動入力の注釈は、各々が同形異音異義語の各文字のインスタンスに対して前記インスタンスと関連付けられた状況に少なくとも部分的に基づいて前記同形異音異義語の各文字の適切な読み方を示し且つ前記同形異音異義語の各文字と関連付けられた各記号と関連付けられ、
前記受信された1つ以上の手動入力の注釈に少なくとも部分的に基づいて、手動入力で注釈をつけられていない前記コーパスと関連付けられた前記テキストの少なくとも一部分に自動的に注釈をつけることと、を更に含むことを特徴とする請求項11から16のいずれか1項に記載の電子デバイス。
【請求項18】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方に対応する第1の確率と前記同形異音異義語の文字の前記第2の読み方に対応する第2の確率とを関連付けるためにトレーニングされることを特徴とする請求項11から17のいずれか1項に記載の電子デバイス。
【請求項19】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方を含む第1の文字列に対応する第1の確率と前記同形異音異義語の文字の前記第2の読み方を含む第2の文字列に対応する第2の確率とを関連付けるためにトレーニングされ、前記第1及び前記第2の文字列はそれぞれ2つ以上の文字を含むことを特徴とする請求項11から18のいずれか1項に記載の電子デバイス。
【請求項20】
命令を格納したコンピュータ読み取り可能な記録媒体であって、前記命令は、電子デバイスの1つ以上のプロセッサにより実行されたときに、前記電子デバイスに
文字の集合に変換される入力データを受信させ、前記文字の集合は、対象記号系における前記入力データの記号表現を含み、
同形異音異義語の文字が前記入力データの対応する部分を表す確率のそれぞれを判定するために、前記対象記号系における前記同形異音異義語の文字の第1の読み方と第2の読み方とを区別する言語モデルを使用させる、ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項1】
メモリ及び1つ以上のプロセッサを含むデバイスにおいて、
文字の集合に変換される入力データを受信することと、前記文字の集合は、対象記号系における前記入力データの記号表現を含み、
同形異音異義語の文字が前記入力データの対応する部分を表す確率のそれぞれを判定するために、前記対象記号系における前記同形異音異義語の文字の第1の読み方と第2の読み方とを区別する言語モデルを使用することと、を有することを特徴とする方法。
【請求項2】
前記入力データが変換される前記対象記号系における、1つ以上の変換候補を生成することを更に有することを特徴とする請求項1に記載の方法。
【請求項3】
前記入力データは、ピンインで書かれた入力テキストを含むことを特徴とする請求項1又は2に記載の方法。
【請求項4】
前記入力データは、ローマ字の文字で書かれた入力テキストを含むことを特徴とする請求項1から3のいずれか1項に記載の方法。
【請求項5】
前記入力データは、単音節から成る1つ以上の文字群に分解されることを特徴とする請求項1から4のいずれか1項に記載の方法。
【請求項6】
前記対象記号系は漢字を含むことを特徴とする請求項1から5のいずれか1項に記載の方法。
【請求項7】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方と前記同形異音異義語の文字の前記第2の読み方とを区別するために注釈をつけられたコーパスを使用してトレーニングされ、前記同形異音異義語の文字の前記第1の読み方及び前記第2の読み方のうち少なくとも一方に対して、対応する新しい記号又はその符号化表現が作成され且つ前記注釈をつけられたコーパスに追加されることを特徴とする請求項1から6のいずれか1項に記載の方法。
【請求項8】
コーパスと関連付けられたテキストの部分集合に対する1つ以上の手動入力の注釈を受信することと、前記1つ以上の手動入力の注釈は、各々が同形異音異義語の各文字のインスタンスに対して前記インスタンスと関連付けられた状況に少なくとも部分的に基づいて前記同形異音異義語の各文字の適切な読み方を示し且つ前記同形異音異義語の各文字と関連付けられた各記号と関連付けられ、
前記受信された1つ以上の手動入力の注釈に少なくとも部分的に基づいて、手動入力で注釈をつけられていない前記コーパスと関連付けられた前記テキストの少なくとも一部分に自動的に注釈をつけることと、を更に有することを特徴とする請求項1から7のいずれか1項に記載の方法。
【請求項9】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方に対応する第1の確率と前記同形異音異義語の文字の前記第2の読み方に対応する第2の確率とを関連付けるためにトレーニングされることを特徴とする請求項1から8のいずれか1項に記載の方法。
【請求項10】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方を含む第1の文字列に対応する第1の確率と前記同形異音異義語の文字の前記第2の読み方を含む第2の文字列に対応する第2の確率とを関連付けるためにトレーニングされ、前記第1及び前記第2の文字列はそれぞれ2つ以上の文字を含むことを特徴とする請求項1から9のいずれか1項に記載の方法。
【請求項11】
1つ以上のプロセッサと、
命令を格納したメモリと、を備え、前記命令は、前記1つ以上のプロセッサにより実行されたときに、前記プロセッサに、
文字の集合に変換される入力データを受信することと、前記文字の集合は、対象記号系における前記入力データの記号表現を含み、
同形異音異義語の文字が前記入力データの対応する部分を表す確率のそれぞれを判定するために、前記対象記号系における前記同形異音異義語の文字の第1の読み方と第2の読み方とを区別する言語モデルを使用することと、
を含む動作を実行させることを特徴とする電子デバイス。
【請求項12】
前記動作は、前記入力データが変換される前記対象記号系における、1つ以上の変換候補を生成することを更に含むことを特徴とする請求項11記載の電子デバイス。
【請求項13】
前記入力データは、ピンインで書かれた入力テキストを含むことを特徴とする請求項11又は12に記載の電子デバイス。
【請求項14】
前記入力データは、ローマ字の文字で書かれた入力テキストを含むことを特徴とする請求項11から13のいずれか1項に記載の電子デバイス。
【請求項15】
前記対象記号系は漢字を含むことを特徴とする請求項11から14のいずれか1項に記載の電子デバイス。
【請求項16】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方と前記同形異音異義語の文字の前記第2の読み方とを区別するために注釈をつけられたコーパスを使用してトレーニングされ、前記同形異音異義語の文字の前記第1の読み方及び前記第2の読み方のうち少なくとも一方に対して、対応する新しい記号又はその符号化表現が作成され且つ前記注釈をつけられたコーパスに追加されることを特徴とする請求項11から15のいずれか1項に記載の電子デバイス。
【請求項17】
前記動作は、
コーパスと関連付けられたテキストの部分集合に対する1つ以上の手動入力の注釈を受信することと、前記1つ以上の手動入力の注釈は、各々が同形異音異義語の各文字のインスタンスに対して前記インスタンスと関連付けられた状況に少なくとも部分的に基づいて前記同形異音異義語の各文字の適切な読み方を示し且つ前記同形異音異義語の各文字と関連付けられた各記号と関連付けられ、
前記受信された1つ以上の手動入力の注釈に少なくとも部分的に基づいて、手動入力で注釈をつけられていない前記コーパスと関連付けられた前記テキストの少なくとも一部分に自動的に注釈をつけることと、を更に含むことを特徴とする請求項11から16のいずれか1項に記載の電子デバイス。
【請求項18】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方に対応する第1の確率と前記同形異音異義語の文字の前記第2の読み方に対応する第2の確率とを関連付けるためにトレーニングされることを特徴とする請求項11から17のいずれか1項に記載の電子デバイス。
【請求項19】
前記言語モデルは、前記同形異音異義語の文字の前記第1の読み方を含む第1の文字列に対応する第1の確率と前記同形異音異義語の文字の前記第2の読み方を含む第2の文字列に対応する第2の確率とを関連付けるためにトレーニングされ、前記第1及び前記第2の文字列はそれぞれ2つ以上の文字を含むことを特徴とする請求項11から18のいずれか1項に記載の電子デバイス。
【請求項20】
命令を格納したコンピュータ読み取り可能な記録媒体であって、前記命令は、電子デバイスの1つ以上のプロセッサにより実行されたときに、前記電子デバイスに
文字の集合に変換される入力データを受信させ、前記文字の集合は、対象記号系における前記入力データの記号表現を含み、
同形異音異義語の文字が前記入力データの対応する部分を表す確率のそれぞれを判定するために、前記対象記号系における前記同形異音異義語の文字の第1の読み方と第2の読み方とを区別する言語モデルを使用させる、ことを特徴とするコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6】
【図7A】
【図7B】
【図8A】
【図8B】
【図9】
【図10】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6】
【図7A】
【図7B】
【図8A】
【図8B】
【図9】
【図10】
【公開番号】特開2013−65284(P2013−65284A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−178885(P2012−178885)
【出願日】平成24年8月10日(2012.8.10)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2012−178885(P2012−178885)
【出願日】平成24年8月10日(2012.8.10)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】
[ Back to top ]