日本語仮想辞書
【課題】日本語平仮名文字列を片仮名文字列に自動的かつ効率的に変換する。
【解決手段】ソース文字列を有する第1文字列を受け取ることと、第1文字列を複数の部分列に分割することと、辞書を介して、複数の部分列を第2文字列に変換することと、複数の部分列に対応する第3文字列を作成することと、第2文字列および第3文字列を分析することと、分析に基づいて、第2文字列および第3文字列から第4文字列を構成することと、第4文字列に基づいて候補リストを作成することと、候補リストからターゲット文字列を選択することと、ターゲット文字列を出力することとが含まれる。
【解決手段】ソース文字列を有する第1文字列を受け取ることと、第1文字列を複数の部分列に分割することと、辞書を介して、複数の部分列を第2文字列に変換することと、複数の部分列に対応する第3文字列を作成することと、第2文字列および第3文字列を分析することと、分析に基づいて、第2文字列および第3文字列から第4文字列を構成することと、第4文字列に基づいて候補リストを作成することと、候補リストからターゲット文字列を選択することと、ターゲット文字列を出力することとが含まれる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、全般的には電子テキスト・エントリの分野に関し、具体的には、日本語平仮名文字を入力させ、平仮名、片仮名、漢字の組合せを使用する適当な日本語に変換する方法に関する。
【背景技術】
【0002】
書かれた日本語は3つの別々の文字列を含む。音声的音節を表す単純な日本語文字が、平仮名と片仮名の文字セット(一緒にして「仮名」と称する)である。筆写体の字体を特徴とする平仮名文字は、通常は、日本特有の単語に使用される。より角張った字体を特徴とする片仮名文字は、通常は、他の文化から借用した単語、あるいは強調または音声に使用される。日本語の第3の文字セットが漢字である。漢字は、中国語から借用した複雑な日本文字である。日本語には9000文字を超える漢字の文字がある。約4000文字の漢字が、ほぼ普通に使用され、一般に、漢字2000文字の知識が新聞を読んだり日本で生活するのに必要である。書かれた日本語の複雑さによって、コンピュータや、ワード・プロセッサ、他の電子デバイスでの効率的なテキスト・エントリに関する多くの問題が生じる。
【0003】
図1Aに、日本語の平仮名の文字と片仮名の文字の例を示す。平仮名セット151と片仮名セット152のそれぞれに46の基本文字が含まれる。仮名の両方のセットが同一の発音と同一の構成規則を有し、単に文字の形だけが異なり、単語の異なる使用を強調するだけである。基本仮名文字の一部は、ある組合せで使用され、特殊形(「にごり」や「まる」と呼ばれる)と共に、基本音節の有声音変形や帯気音変形が作られ、したがって、約120個の日本語の音声的音を表す完全な文字セットがもたらされる。日本語キーボードに、基本音節の有声音変形と帯気音変形のすべてについて別々のキーが含まれるならば、そのキーボードに、少なくとも80個の文字キーが含まれる必要がある。そのように多数のキーはキーで込み合ったキーボードを作ることになり、これらのキーを区別することが容易でなくなる。にごり形キーとまる形キーを別々にするならば、文字キーの数を57キーまで減らすことができる。しかし、基本文字の有声音変形または帯気音変形を生成するために、ユーザが、単一文字に対して複数のキーストロークを入力することが必要になる。
【0004】
コンピュータおよび類似するデバイスでの日本語テキスト・エントリの一般的な方法では、標準日本語文字キーボードかローマ字キーボードを使用することが必要であり、これらのキーボードは、日本での使用に適合されてきた。典型的な仮名キーボードは、通常は、キーボードから直接に入力できる1つの仮名セット(通常は平仮名)だけを表すキーを有する。通常の方法は、入力として平仮名キーを含むキーボードから平仮名テキストを取り込み、仮名漢字変換と称する処理を使用して日本語テキストに変換する。通常の日本語テキストは、文150(「Watch a movie in San Jose」という英語の意味を有する)など、平仮名や片仮名、漢字によって表される。文150には、「San Jose」という外国語単語に対応する片仮名文字154、通常はパーティクル(助詞、接尾語、接頭語、無意味な文字など)として使用される平仮名文字155、さらに漢字文字153が含まれている。
【0005】
図1Bに、平仮名テキストから日本語テキストへの変換の通常の方法を示す。図1を参照すると、日本語平仮名文字がキーボードを介して入力される101。データベース(たとえば辞書)で文字をルック・アップすることによって、平仮名文字が日本語テキストに変換される102。ユーザが調べ103、変換が正しいことを検査しなければならない104。変換が正しくない場合(たとえば、辞書にその変換が含まれない)、ユーザは、手動でシステムに平仮名テキストを変換させなければならない。通常のユーザ対話に、平仮名テキストの、誤って変換された部分を選択することと105と、システムにその部分を変換するように明示的に指示すること106が含まれる。システムは、すべての可能な選択肢を含む候補リストを提示する107。ユーザは、通常、変換が正しいかどうかを検査する109。変換が正しい場合には、ユーザは最良の出力としてある選択を選び108、正しい結果を挿入して最終的な出力テキストを形成する。変換が正しくない場合には、ユーザは、入力の異なる部分を再選択し、再選択された部分の手動変換をもう一度試みる。
【0006】
通常の方法の1つである書換え(平仮名から片仮名への直接変換)は、通常は、ほとんどの場合に正しい結果をもたらさない。というのは、通常は、ユーザが、片仮名単語ではなく、単語と、最終的な形で平仮名で書かれる1つまたは複数の接尾辞を選択する(たとえば、図1Bに示された方法で)からである。通常の書換えでは、すべての接尾辞が片仮名の形に変換されるが、これは正しくない。
【0007】
もう1つの変換方法では、文字列の先頭からの部分列を書換えることによって、代替候補を生成する。この方法では、接尾辞が必ず後に続き、すべて平仮名であるという事実が利用される。この方法では、多数の候補が作成され、その中に正しいものが含まれる可能性がある。下記は、この変換方法の例の図である(英語での)。
入力: inthehouse
出力1: INTHEHOUSE
出力2: i NTHEHOUSE
出力3: in THEHOUSE
出力4: int HEHOUSE
出力5: inth EHOUSE
出力6: inthe HOUSE − (正しい候補)
出力7: intheh OUSE
出力8: intheho USE
出力9: inthehou SE
出力10: inthehous E
出力11: inthehouse
上で説明したように、この変換方法では、ユーザが、入力テキストの訂正される部分を選択した後に多数の候補が生成される。それは、その候補中に正しい選択肢が含まれる場合であっても、最終的な選択での混乱につながる可能性がある。もう1つの変換方法では、接尾辞を認識できるアナライザが用いられる。このアナライザは、末尾からの範囲を、それ以上接尾辞を見つけられなくなるまで分析する。しかし、普通の方法では、正確な結果を達成するために、ユーザが対話する必要があり、これによって、潜在的に効率が低い。
【発明の開示】
【発明が解決しようとする課題】
【0008】
従来の方法の短所の1つは、片仮名単語が辞書にない場合に、片仮名単語を含む変換が通常は失敗することである。この方法のもう1つの短所は、変換し、最良の候補を選択するのに、ユーザ固有の対話が必要であることである。ユーザが、変換の可能な出力を知らない場合に、より多くの時間と労力が費やされる。したがって、日本語平仮名文字列を片仮名文字列に自動的かつ効率的に変換する方法が非常に望ましい。
【課題を解決するための手段】
【0009】
本発明では、第1文字列を第2文字列に変換する方法および装置を開示する。通常の辞書の他に、本発明は、第1文字列に基づいて人為的な文字列を生成する仮想辞書を含む。通常の辞書を介して第1文字列を変換できない(たとえば、通常の辞書に第1文字列が含まれない)時に、本発明では、仮想辞書によって生成される人為的な文字列を使用して、第1文字列を変換する。したがって、本発明の仮想辞書を用いると、変換は決して失敗しない。
【0010】
例示的な方法である本発明の1態様は、平仮名入力を受け取ることと、平仮名入力に基づいて複数の可能な片仮名候補を自動的に判定することと、平仮名入力を片仮名文字に変換するために複数の可能な片仮名候補を分析することと、片仮名候補の1つを選択することと、片仮名候補の1つと、少なくともいくつかの場合に漢字文字を含む変換されたテキストを出力することとが含まれる。
【0011】
例示的方法である本発明のもう1つの態様は、ソース文字列を有する第1文字列を受け取ることと、第1文字列を複数の部分列に分割することと、その複数の部分列を辞書を介して第2文字列に変換することと、前記複数の部分列に対応する第3文字列を作成することと、第2文字列と第3文字列を分析することと、その分析に基づいて、第2文字列と第3文字列から第4文字列を構成することと、第4文字列に基づいて候補リストを作成することと、候補リストからターゲット文字列を選択することと、前記ターゲット文字列を出力することとを含む。
【0012】
1特定の実施態様の方法は、第2文字列が第1文字列に対応する文字列を含む場合に、第2文字列から第4文字列を構成することと、第2文字列が第1文字列を含まない場合に、第3文字列から第4文字列を構成することとが含まれる。もう1つの実施態様の方法は、変換が正しいかどうかを判定するために変換の出力を調べることと、変換が正しくない場合に代替文字列の候補リストを提供することと、最終出力として候補リストから文字列を選択することとが含まれる。もう1つの実施態様では、方法に、人為的なターゲット文字列を提供することと、人為的に作成された文字列に基づいてデータベースを更新することとが含まれる。
【0013】
本発明には、これらの方法を実行する装置と、データ処理システム上で実行される時にシステムにこれらの方法を実行させる計算機可読媒体が含まれる。本発明の他の特徴は、添付図面および以下の詳細な説明から明白になる。
【発明を実施するための最良の形態】
【0014】
本発明を制限ではなく例として添付図面に示すが、図面では、類似する符号が類似する要素を指す。
図1Aは、平仮名文字、片仮名文字、および漢字文字を含む日本語文字の例を示す図である。
図1Bは、平仮名テキストを日本語テキストに変換する変換方法を示す図である。
図2は、本発明と共に使用することができるコンピュータ・システムを示す図である。
図3は、本発明の仮名漢字変換システムの一実施形態を示す図である。
図4は、本発明の一実施形態によって使用される片仮名文字のコスト値の計算の例を示す図である。
図5は、本発明のユーザ対話を伴う仮名漢字変換システムのもう1つの例を示す図である。
図6Aは、本発明の平仮名文字セットから片仮名文字セットへの変換処理の実施形態を示す図である。
図6Bは、本発明の例に対する普通の方法の処理を示す図である。
図7は、本発明の平仮名文字を片仮名文字に変換する方法を示す図である。
図8は、本発明の平仮名文字セットから片仮名文字セットへの変換処理のもう1つの実施形態を示す図である。
図9A、9Bは、本発明の平仮名文字から片仮名文字への変換のもう1つの方法を示す図である。
【0015】
以下の説明および図面は本発明の例示であって、本発明の制限と解釈してはならない。本発明の完全な理解をもたらすために、多数の具体的な詳細を説明する。しかし、いくつかの場合に、詳細で本発明を無用に不明瞭にしないようにするために、周知のまたは通常の詳細は説明しない。
【0016】
日本語は、漢字(中国が源の文字)と2組の音声的仮名文字すなわち平仮名と片仮名を用いて書かれる。単一の漢字文字が1つの形または複数の形(偏と旁など)を含む場合があり、単一の漢字文字はそれ自体で完全な単語または対象を表す。漢字と異なって、仮名は、他の仮名か漢字と組み合わされて単語を形成しない限り、固有の意味を有しない。平仮名および片仮名の両方に、それぞれ46個の文字が含まれる。仮名文字の組合せや変形によって、日本語に存在する音声的音のすべての基礎が提供される。すべての日本語テキストを平仮名か片仮名で書くことができる。しかし、日本語の単語の間にはスペースがないので、文の単語が平仮名か片仮名のいずれかだけで構成される時には、文を読むのに不都合である。したがって、ほとんどの日本語テキストに、平仮名文字、片仮名文字、漢字文字が含まれる。通常、漢字文字は、名詞、形容詞、または動詞として使用され、平仮名と片仮名は、助詞など(たとえば、「の」、「で」など)に使用される。
【0017】
コンピュータ化されたワード・プロセッサが非常に改良されたので、日本語のワード・プロセッシングを、ワード・プロセッシング・ソフトウェアを介して改善することができる。通常、日本語文字は平仮名だけで入力される。というのは、平仮名文字、片仮名文字、漢字文字のすべて(仮名漢字)をキーボードに含めることが実用的でないからである。
したがって、平仮名文字を片仮名文字に変換する改善された方法を作成することが、非常に重要である。本発明では、独自の方法を導入して、平仮名文字と片仮名文字の間の所定の関係に基づいて、平仮名文字を自動的に片仮名文字に変換する。この方法は、通常は、コンピュータ・システム内で実行されるソフトウェアによって実施される。
【0018】
図2に、本発明と共に使用することができる通常のコンピュータ・システムの1例を示す。図2には、コンピュータ・システムのさまざまな構成要素が示されているが、特定のアーキテクチャまたは構成要素の相互接続の形を表すことは意図されておらず、したがって、詳細は、本発明に密接には関係しないことに留意されたい。また、より少数の構成要素またはより多数の構成要素を有するネットワーク・コンピュータおよび他のデータ処理システム(たとえば、携帯情報端末)も、本発明と共に使用できることを諒解されたい。図2のコンピュータ・システムは、たとえば、Apple Macintoshコンピュータまたは携帯情報端末(PDA)とすることができる。
【0019】
図2からわかるように、データ処理システムを形成するコンピュータ・システム200には、マイクロプロセッサ203、ROM207、揮発性RAM205、不揮発性メモリ206に結合されたバス202が含まれる。マイクロプロセッサ203は、Motorola,Inc.社またはIBM社のG3またはG4マイクロプロセッサとすることができるが、図2の例に示されているように、キャッシュ・メモリ204に接続される。バス202によって、これらのさまざまな構成要素が相互接続され、これらの構成要素203、207、205、206が、ディスプレイ・コントローラやディスプレイ・デバイス208さらには入出力デバイスなどの周辺デバイスに相互接続される。入出力デバイスは、マウス、キーボード、モデム、ネットワーク・インターフェース、プリンタ、および当技術分野で周知の他のデバイスとすることができる。通常、入出力デバイス210は、入出力コントローラ209を介してシステムに結合される。揮発性RAM205は、通常は、メモリ内のデータをリフレッシュすなわち維持するために継続的に電力を必要とするダイナミックRAM(DRAM)として実装される。不揮発性メモリ206は、通常は、磁気ハード・ドライブ、光磁気ドライブ、光ドライブ、DVD RAM、またはシステムから電力が除去された後であってもデータを維持する他のタイプのメモリ・システムである。通常、不揮発性メモリはランダム・アクセス・メモリであるが、これは必須ではない。図2では、不揮発性メモリが、データ処理システムの構成要素の残りに直接に結合される論理デバイスであるが、本発明で、モデムまたはイーサネット(登録商標)・インターフェースなどのネットワーク・インターフェースを介してデータ処理システムに結合されるネットワーク・ストレージ・デバイスなど、システムから離れている不揮発性メモリを利用できることを諒解されたい。バス202には、当技術分野で周知のとおり、さまざまなブリッジ、コントローラ、および/またはアダプタを介して互いに接続される1つまたは複数のバスを含めることができる。一実施形態では、入出力コントローラ209に、USB(Universal Serial Bus)周辺機器を制御するUSBアダプタが含まれる。
【0020】
図3に、本発明の実施形態によって使用されるシステムを示す。図3を参照すると、システム300には、通常は、入力ユニット301、入力メソッドUIおよびシステム・インターフェース302、形態素解析エンジン(MAE)303、辞書管理モジュール(DMM)305、および出力ユニット308が含まれる。入力ユニット301は、図2の入出力デバイス210などのキーボードとすることができる。入力ユニットは、携帯情報端末(PDA)などのタッチ・パッドでもよい。入力ユニットは、アプリケーションから入力を受け取るアプリケーション・プログラミング・インターフェース(API)の組とすることもできる。入力の他のタイプが存在してもよい。入力ユニット301は、入力された日本語文字(たとえば、日本語平仮名文字)を受け入れる。平仮名文字は、入力メソッドとインターフェース302に送られ、これによってMAE303に送られる。MAE303は、DMM305を介して、通常の辞書307や仮想辞書306などのデータベースにアクセスする。通常の辞書307には、平仮名単語に対応するほとんどの既知の日本語単語を含んでいる。通常の辞書307は、揮発性RAM205などのランダム・アクセス・メモリ(RAM)に格納され、あるいは、不揮発性メモリ206などのハード・ディスクに格納されている。一実施形態では、通常の辞書307を、ネットワークを介してリモート・ストレージ・ロケーション(たとえば、ネットワーク・ストレージ)に格納することができる。本発明をネットワーク・コンピューティング環境で実現することができ、そこでは、通常の辞書をサーバに格納するとができ、クライアントで実行されるアプリケーションによって、ネットワーク・インターフェースを介してネットワーク上の通常の辞書にアクセスすることに留意することが有用である。複数のクライアントで実行される複数のアプリケーションによって、通常の辞書に同時にアクセスすることができ、通常の辞書の情報がネットワークを介して共用される。通常の辞書307は、単一の辞書として図示されているが、通常の辞書307に、複数の辞書またはデータベースを含めることができることを諒解されたい。もう1つの実施形態では、通常の辞書307に、複数のルックアップ・テーブルが含まれる。仮想辞書306によって、すべての単一の平仮名文字を片仮名文字に直接に変換することができる。仮想辞書に、平仮名文字ごとにすべての単一の片仮名文字をルックアップするルックアップ・テーブルを含めることができる。DMM305は、辞書306、307を含むすべての辞書を管理する責任を負う。DMM305は、MAE303からの要求時に、辞書へのすべての情報を更新する責任も負う。一実施形態では、DMM305が、すべての規則またはポリシを格納するもう1つのデータベース304を管理する。
【0021】
仮想辞書306は、平仮名文字の片仮名文字への直接変換を含んでいる。仮想辞書306は異なった品詞の多数の単語を返す。一実施形態では、仮想辞書によって、3つの品詞を返すことができる。それらは、名詞、動詞として使用することができる名詞、それに形容詞である。仮想辞書から返された後は、仮想辞書から人為的に生成された片仮名単語も通常の単語と異ならないことに留意することが有用である。
【0022】
もう1つの実施形態では、辞書データベースを複数の辞書に分割することができる。その1つは、通常の単語を含む通常の辞書である。他の辞書は、特殊な辞書(たとえば、いわゆる仮想辞書)である。特殊な辞書には、処理中に作成される人為的な片仮名文字を含むすべての可能な片仮名文字を含めることができる。片仮名は、平仮名入力の直接の書換えである。仮想辞書によって、異なる品詞を伴う複数の単語を返すことができる。各単語は、優先順位値を有する。そのような優先順位値は、仮想辞書によって割り当てることができる。たとえば、文字列「A−Ka−Ma−I」の実施形態では、辞書によって、下記の、異なる品詞すなわち、名詞、動詞に関連する名詞、および形容詞を伴う3つの出力を返すことができる。
A−Ka−Ma−I POS:名詞、優先順位:100
A−Ka−Ma−I POS:動詞として働くことができる名詞、優先順位:100
A−Ka−Ma−I POS:形容詞、優先順位:100
他の実装が可能である。
【0023】
3つの単語は、1レコードと考えることができ、あるいは、3つの別々のレコードと考えることができる。優先順位値は、辞書から返されるすべての単語について同一とすることができる。優先順位値を、片仮名および/または品詞から計算することができる。一実施形態では、優先順位値が単語の長さによって決定される。もう1つの実施形態では、優先順位を、片仮名のバイグラム(bi-gram)およびトライグラム(tri-gram)の統計に基づくものとすることができ、品詞に基づいて調節することができる。通常、優先順位値は、使用可能な正しい通常の単語がある時に人為的な片仮名単語が最も確率の高い変換として表示されないようにするために、通常の辞書の通常の単語のすべてまたはほとんどより低く設定される。
【0024】
品詞によって、ある品詞の単語が、ある品詞の他の単語の次になることがいかに多くまたはいかに良くあるかが決まる。これを、単にイエス/ノー値にすることができる。実施形態によって、1つの単語が2つの品詞を有する場合がある。一方が右側接続であり、他方が左側接続である。また、次の単語または前の単語だけではなく、前の単語のその前または次の単語のその後の単語との接続を判定するのに使用される場合もある。
【0025】
図3を参照すると、MAE303によって、入力された平仮名単語を変換する要求がDMM305に送られる。DMM305によって、対応する日本語単語のために通常の辞書307が検索される。それと同時に、MAE303によって、DMM305に、仮想辞書306からすべての可能な片仮名文字の組合せを検索する要求が送られる。一般に、MAE303は、辞書307にそのような直接の変換が含まれる場合に、通常の辞書307からの単語を選択する。そうでない場合には、MAE303は、仮想辞書306によって作成される人為的な片仮名単語を選択する。
【0026】
MAE303は、データベース304から規則の組を呼び出し、その規則の組を、すべての可能な組合せの分析に適用する。規則が含まれるデータベース304は、別々のデータベースとすることができ、あるいは、辞書306または307と同一のデータベースとすることができる。可能な組合せのそれぞれが使用頻度に関連する。使用頻度は、以前に文字がどれほど頻繁に使用されているかを表す。辞書には、各文字セット(たとえば、名詞、形容詞、動詞など)の間の接続関係も含める。規則の組に、使用頻度と接続関係の情報を含める。MAE303によって、これらの規則が適用されて、規則の組に基づいて、辞書306からの可能な組合せから可能な候補のプールまたはリストが構成される。一実施形態では、規則の組に、候補リストを構成させるための意味論的規則または文法的規則を含めることができる。たとえば、単語「hot」は、高い温度を意味することがあり、辛い食べ物を意味する場合もある。たとえば「hot summer」など、単語「hot」が単語「summer」に関連する時には、単語「hot」は、「辛い」ではなく「高い温度」を意味する。MAE303によって、ルールの組に基づいて候補のコスト値を計算することができる。最終的な候補は、候補リストの中で最も低いコスト値のものとする。
【0027】
図4に、単語のそれぞれが使用頻度を含む、単語「San Jose」を表すために構成されている2つの候補の例を示す。最初の選択には、文字401と402が含まれ、第2の選択には文字セット404が含まれる。文字404はパーティクルである。文字401はf1の使用頻度を有し、文字402はf2の使用頻度を有する。パーティクル文字403はf3の使用頻度を有する。さらに、文字401と402の間の接続はc1であり、文字402と403の間の接続はc2である。その結果、最初の選択のコスト値は、
コスト値1=f1+f2+f3+c1+c2
である。同様に、第2の選択は、
コスト値2=fa+f3+ca
のコスト値を有する。一実施形態では、コスト値は、意味論的要因または文法的要因を含む。評価ユニット303によって、2つの選択のコスト値が評価され、最小のコスト値、この例ではコスト値2を有する選択が変換の最終出力として選択される。
【0028】
しかし、評価ユニットによって、最小コスト値に基づいて最終出力が選択され、そしてほとんどの場合に、選択された出力が正しいのであるが、まれな場合に、正しい出力が最小コスト値を有しない場合がある。そのような情況では、本発明によって、ユーザが対話する機会が与えられる。図5に、本発明のもう1つの実施形態を示す。図5を参照すると、システム300がユーザ対話309を提供し、このユーザ対話309で、ユーザが、MAE303によって生成された出力を検査でき、出力が正しいかどうかを判定することができる。ユーザが出力が正しくないと判断する場合には、MAE303が、データベース(たとえば仮想辞書306)からDMM305を介して候補リストを検索し、その候補リストがユーザ・インターフェースに表示される。一実施形態では、ユーザ・インターフェースをポップアップ・ウィンドウとすることができる。ユーザは、出力として、候補リストから最良の選択(たとえば最終的な選択)を選ぶことができる。もう1つの実施形態では、出力を、アプリケーション・プログラミング・インターフェース(API)を介してアプリケーションに送ることができ、このアプリケーションから、最終的な選択を選ぶことができる。
【0029】
もう1つの実施形態では、ユーザが望む正しい出力が候補リストに含まれない場合に、本発明では、ユーザが最終出力を直接に手で入力し、システムに平仮名文字を片仮名文字に強制的に変換させる手段を設ける。システムは、そのデータベース(たとえば、仮想辞書306または通常の辞書307)を更新して、ユーザが入力した最終出力の片仮名単語を将来の参照として含める。もう1つの実施形態では、ユーザが、変換に適用される規則を実際に修正し、ユーザ固有の規則をデータベース304に格納する。
【0030】
図6Aに、本発明の実施形態のブロック図を示す。英語で「Watch a movie in San Jose」という意味の日本語平仮名文字列601がシステムに入力される。形態素解析エンジン(MAE)604によって、辞書307などのデータベースがルック・アップされ、対応する日本語単語が検索される。システムによって、部分602が、ユーザ・インターフェース616を介して形態素解析エンジン(MAE)604に送られる。MAE604が、入力を複数の部分列に分割し、辞書管理モジュール(DMM)608と通信し、各部分列の直接翻訳のために辞書606をルック・アップする。それ
と同時に、DMMによって、仮想辞書607が指示されて、各部分列に対応するすべての可能な片仮名単語が作成される。その結果、通常の辞書606からの通常の日本語単語および仮想辞書609からの人為的に作成された片仮名単語を有する単語のプール605が形成される。一実施形態では、これらの日本語文字列605のそれぞれが、使用頻度値に関連付けられ、文字セットのそれぞれの間に接続関係情報がある。もう1つの実施形態では、文字列605のそれぞれが、優先順位値に関連付けられる。通常、混乱を避けるために、人為的に作成された片仮名単語の優先順位は通常の辞書からの単語より低い。すなわち、このシステムでは、通常の辞書からの通常の単語が人為的に作成された片仮名単語より優先して選択される。このシステムでは、辞書606に対応する通常の単語がない時に限って人為的に作成された単語が使用される。優先順位情報も辞書606に格納することができる。次に、MAE604によって、文字列605が評価され、分析され、データベース607からの規則の組が適用される。データベース607と辞書606は別々のデータベースとして図示されているが、この2つのデータベースを組み合わせた単一のデータベースを形成できることを諒解されたい。MAE604によって、規則の組に基づいて、文字列605から文字列のもう1つの組610が構成される。単語610は候補リストと考えられ、単語611などの最小のコスト値を有する単語が高い優先順位と考えられ、単語612などの高いコスト値を有する文字セットが低い優先順位と考えられる。他の優先順位方式が存在してもよい。候補リストに基づいて、MAE604によって、文字列613などより高い優先順位の候補が最終的なターゲット文字列として選択される。文字列613が、文字列の残りに加えられて最終的な文614が形成される。
【0031】
図6Bに、普通の方法に対する、本発明によって使用される方法を示す。図6Bを参照すると、「San Jose」という英語の意味を有する日本語平仮名文字列651が入力メソッドを介して入力される。入力メソッドによって、通常は、入力が複数の部分列652に分割される。複数の部分列のそれぞれについて、辞書653を使用して、部分列652を日本語単語の可能な限りの異なる組654に変換する。辞書653には、通常は、単語663など既知の単語のほとんどが含まれる。しかし、単語「San Jose」の場合の単語662などは辞書に既知でない。したがって、辞書は、これを変換することができず、単語662が使用不能のままになる。普通の方法では、単語654に対する分析が実行され、規則664が適用され(たとえば文法的規則)、候補リスト660が生成される。その候補リストから、単語661が最終候補として選択されるが、これは正しくない。その結果、ユーザは、入力651を手動で変換して、正しい変換を生成しなければならない。
【0032】
本発明では、仮想片仮名辞書655が導入される。通常の辞書を使用する変換の他に、仮想辞書655によって部分列652を選択し、対応する人為的な片仮名単語の組656を作成する。辞書653からの通常の単語654と仮想辞書655から生成される人為的な片仮名単語656を組み合わせ、規則の組を適用することによって、部分列に対応する単語の完全な組658が作成される。その結果、部分列のそれぞれがそれに対応する変換された列を有する。その変換された列は、単語663などの通常の日本語の単語または人為的な片仮名単語である。その後、本発明では、規則の組657に基づいて候補リスト658が作成される。候補のそれぞれは規則に基づいて優先順位が関連付けられている。候補リストから最も高い優先順位の単語が最終的な正しい候補659として選択される。
【0033】
図7に、本発明の実施形態の方法を示す。図6Aおよび7を参照すると、この方法は、日本語平仮名文字列601などの日本語平仮名文字を入力すること701から始まる。日本語文字列を複数の部分列に分解702し、辞書606などの辞書を介して部分列のそれぞれを日本語単語に変換する708。それと同時に、この方法では、仮想辞書609を介して、入力に関係するすべての可能なカタカナ文字列を作成する703。日本語単語のプール605が通常の単語および人為的な片仮名単語の両方から形成される。その後、候補リスト610を構成する704が、このリストでは、より低いコスト値を有する候補がより高い優先順位を有し、より高いコスト値を有する候補がより低い優先順位を有する。人為的に作成された片仮名単語の優先順位は仮想辞書によって割り当てられる。この方法では、その後、候補リストを分析し705、分析に基づいて最良の候補613(たとえば最低のコスト値)を選択する707。その後、最終候補を出力して708、最終的な文614を形成する。
【0034】
図8に、本発明のもう1つの実施形態を示すが、ここでは、本発明に、ユーザ対話を含めることができる。入力601に、日本語平仮名文字列が含まれ、ここで、部分602(たとえば「San Jose」)を直接には変換できないが、部分603を、通常の辞書606を介して変換することができる。このシステムでは、仮想辞書609を使用して、部分602のすべての単一の部分列に関するすべての可能な対応する片仮名単語を作成する。形態素解析エンジン(MAE)604によって、規則の組に基づいて候補リスト610が構成される。規則の組に、文字の使用頻度および文字の間の接続関係情報を含めることができる。もう1つの実施形態では、規則の組に、意味論的規則および文法的規則を含先順位を有する。図8からわかるように、候補611が、リストの候補の中で最高の優先順位を有する。その結果、候補611が、評価ユニット609による変換の最終的な選択として選ばれる。しかし、まれな場合に、候補611が正しくない場合があり、その場合には、ユーザ対話615が用いられる。ユーザ対話中に、ユーザは、入力のうちで、部分602など、英語の意味「San Jose」を有する部分を選択し、システムにそれを変換するように指示する。システムは、候補リスト610など、すべての候補のプールを取り出す。一実施形態では、候補リストが、ポップアップ・ウィンドウなど、ユーザ・インターフェースを介して表示される。このリストから、ユーザが、最終出力616を選択し、最終的な文614を形成する。ユーザの選択に基づいて、システムが、そのデータベース(たとえば、辞書606および仮想辞書609)を更新することができ、その結果、後続の変換が、成功する可能性が最も高くなる。
【0035】
図9に、ソース文字列をターゲット文字列に変換する、本発明のもう1つの実施形態の方法を示す。この方法では、ソース文字列を有する第1文字列をユーザ・インターフェースから受け取る。第1文字列を複数の部分列に分割する。次に、辞書を介して部分列を第2文字列に変換する。それと同時に、この方法では、仮想辞書を介して部分列に対応する第3文字列を作成する。次に、第2文字列と第3文字列を分析し、その分析に基づいて第4文字列を構成する。次に、優先順位情報に基づいて候補リストを作成し、最高の優先順位を有する最終候補を候補リストから選択する。
【0036】
図9を参照すると、キーボードなどのユーザ・インターフェースを介して日本語平仮名文字列を受け取る901。一実施形態では、ユーザ・インターフェースに、パーム・パイロットのタッチ・パッドまたは他の入力デバイスを含めることができる。もう1つの実施形態では、日本語平仮名文字列を、アプリケーション・プログラミング・インターフェース(API)を介してアプリケーション・ソフトウェアから受け取ることができる。平仮名文字列を複数の部分列に分割する902。形態素解析エンジン(MAE)によって、辞書管理モジュール(DMM)と通信して、通常の辞書を介して、部分列のそれぞれを対応する日本語単語に変換する903。それと同時に、MAEは、仮想辞書を介して部分列に対応するすべての可能なカタカナ単語を作成する904ようにDMMに指示する。次に、システムは、通常の辞書からの日本語単語と仮想辞書から生成された人為的な片仮名単語を含む可能なすべての単語から利用できる候補を構成し905、候補リストを形成する。仮想辞書からの片仮名単語の利用できる選択に品詞情報を含めることができる。このシステムは規則の組を使用して候補を構成する。一実施形態では、規則の組に、各片仮名文字セットの使用頻度と各選択間の接続関係を含む。もう1つの実施形態では、規則の組に、単語の意味論的規則または文法的規則を含む。この情報は、データベースに格納することができ、このデータベースにすべての可能なカタカナ文字セットが格納される。もう1つの実施形態では、これらの規則を別々のデータベースに格納することができる。次に、システムは、使用頻度と接続関係をデータベースから検索し906、意味論的規則または文法的規則を分析に適用する907。この情報に基づいて、システムはすべての候補のコスト値を計算する908。最小のコスト値を有する候補が最終ターゲット文字セットとして選択される909。最終ターゲット文字セットをディスプレイ・デバイス内のユーザ・インターフェースに表示する。
【0037】
本発明のもう1つの実施形態では、ユーザが、仮名漢字変換エンジンによって供給される結果を検査して910、変換が正しいかどうかを検査する911。ユーザが結果に満足する場合には、変換が終了する。しかし、変換が正しくない場合には、ユーザは入力の一部(たとえば、最初の平仮名入力)を選択し912、システムにそれを明示的に変換するように指示する。システムは、人為的な片仮名単語を含む日本語単語のすべての可能な組合せを候補リストの形で供給する。ユーザはその候補リストを検索し913、ユーザ・インターフェースに表示する。一実施形態では、ユーザ・インターフェースが、ポップアップ・ウィンドウの形である。次に、ユーザは、候補リストに正しい変換が含まれるかどうかを検査することができる914。候補リストに正しい変換が含まれる場合には、ユーザは候補リストから最良の候補を選択する915。次に、システムによって、ユーザ選択に関するパラメータ(たとえば、使用頻度、接続関係など)のデータベース(たとえば知識ベース)が更新される916。次に、最終的な選択がアプリケーションに出力される917。一実施形態では、候補リストに正しい結果が含まれない場合に、ユーザは、ユーザ・インターフェースを介して手動で正しい結果を構成し918、作成する。人為的な変換がユーザによって作成されたならば、システムはその結果が将来の参照としてデータベースに保存する919。
【0038】
前述で、本発明を、その特定の例示的実施形態に関して説明した。請求項に示された広義の趣旨および範囲から逸脱せずに、本発明に対するさまざまな修正を行えることは明白である。したがって、明細書および図面は、制限的な意味ではなく、例示的な意味のものと解釈されなければならない。
【図面の簡単な説明】
【0039】
【図1A】平仮名文字、片仮名文字、および漢字文字を含む日本語文字の例を示す図である。
【図1B】平仮名テキストを日本語テキストに変換する変換方法を示す図である。
【図2】本発明と共に使用することができるコンピュータ・システムを示す図である。
【図3】本発明の仮名漢字変換システムの一実施形態を示す図である。
【図4】本発明の一実施形態によって使用される片仮名文字のコスト値の計算の例を示す図である。
【図5】本発明のユーザ対話を伴う仮名漢字変換システムのもう1つの例を示す図である。
【図6A】本発明の平仮名文字セットから片仮名文字セットへの変換処理の実施形態を示す図である。
【図6B】本発明の例に対する普通の方法の処理を示す図である。
【図7】本発明の平仮名文字を片仮名文字に変換する方法を示す図である。
【図8】本発明の平仮名文字セットから片仮名文字セットへの変換処理のもう1つの実施形態を示す図である。
【図9A】本発明の平仮名文字から片仮名文字への変換のもう1つの方法を示す図である。
【図9B】本発明の平仮名文字から片仮名文字への変換のもう1つの方法を示す図である。
【技術分野】
【0001】
本発明は、全般的には電子テキスト・エントリの分野に関し、具体的には、日本語平仮名文字を入力させ、平仮名、片仮名、漢字の組合せを使用する適当な日本語に変換する方法に関する。
【背景技術】
【0002】
書かれた日本語は3つの別々の文字列を含む。音声的音節を表す単純な日本語文字が、平仮名と片仮名の文字セット(一緒にして「仮名」と称する)である。筆写体の字体を特徴とする平仮名文字は、通常は、日本特有の単語に使用される。より角張った字体を特徴とする片仮名文字は、通常は、他の文化から借用した単語、あるいは強調または音声に使用される。日本語の第3の文字セットが漢字である。漢字は、中国語から借用した複雑な日本文字である。日本語には9000文字を超える漢字の文字がある。約4000文字の漢字が、ほぼ普通に使用され、一般に、漢字2000文字の知識が新聞を読んだり日本で生活するのに必要である。書かれた日本語の複雑さによって、コンピュータや、ワード・プロセッサ、他の電子デバイスでの効率的なテキスト・エントリに関する多くの問題が生じる。
【0003】
図1Aに、日本語の平仮名の文字と片仮名の文字の例を示す。平仮名セット151と片仮名セット152のそれぞれに46の基本文字が含まれる。仮名の両方のセットが同一の発音と同一の構成規則を有し、単に文字の形だけが異なり、単語の異なる使用を強調するだけである。基本仮名文字の一部は、ある組合せで使用され、特殊形(「にごり」や「まる」と呼ばれる)と共に、基本音節の有声音変形や帯気音変形が作られ、したがって、約120個の日本語の音声的音を表す完全な文字セットがもたらされる。日本語キーボードに、基本音節の有声音変形と帯気音変形のすべてについて別々のキーが含まれるならば、そのキーボードに、少なくとも80個の文字キーが含まれる必要がある。そのように多数のキーはキーで込み合ったキーボードを作ることになり、これらのキーを区別することが容易でなくなる。にごり形キーとまる形キーを別々にするならば、文字キーの数を57キーまで減らすことができる。しかし、基本文字の有声音変形または帯気音変形を生成するために、ユーザが、単一文字に対して複数のキーストロークを入力することが必要になる。
【0004】
コンピュータおよび類似するデバイスでの日本語テキスト・エントリの一般的な方法では、標準日本語文字キーボードかローマ字キーボードを使用することが必要であり、これらのキーボードは、日本での使用に適合されてきた。典型的な仮名キーボードは、通常は、キーボードから直接に入力できる1つの仮名セット(通常は平仮名)だけを表すキーを有する。通常の方法は、入力として平仮名キーを含むキーボードから平仮名テキストを取り込み、仮名漢字変換と称する処理を使用して日本語テキストに変換する。通常の日本語テキストは、文150(「Watch a movie in San Jose」という英語の意味を有する)など、平仮名や片仮名、漢字によって表される。文150には、「San Jose」という外国語単語に対応する片仮名文字154、通常はパーティクル(助詞、接尾語、接頭語、無意味な文字など)として使用される平仮名文字155、さらに漢字文字153が含まれている。
【0005】
図1Bに、平仮名テキストから日本語テキストへの変換の通常の方法を示す。図1を参照すると、日本語平仮名文字がキーボードを介して入力される101。データベース(たとえば辞書)で文字をルック・アップすることによって、平仮名文字が日本語テキストに変換される102。ユーザが調べ103、変換が正しいことを検査しなければならない104。変換が正しくない場合(たとえば、辞書にその変換が含まれない)、ユーザは、手動でシステムに平仮名テキストを変換させなければならない。通常のユーザ対話に、平仮名テキストの、誤って変換された部分を選択することと105と、システムにその部分を変換するように明示的に指示すること106が含まれる。システムは、すべての可能な選択肢を含む候補リストを提示する107。ユーザは、通常、変換が正しいかどうかを検査する109。変換が正しい場合には、ユーザは最良の出力としてある選択を選び108、正しい結果を挿入して最終的な出力テキストを形成する。変換が正しくない場合には、ユーザは、入力の異なる部分を再選択し、再選択された部分の手動変換をもう一度試みる。
【0006】
通常の方法の1つである書換え(平仮名から片仮名への直接変換)は、通常は、ほとんどの場合に正しい結果をもたらさない。というのは、通常は、ユーザが、片仮名単語ではなく、単語と、最終的な形で平仮名で書かれる1つまたは複数の接尾辞を選択する(たとえば、図1Bに示された方法で)からである。通常の書換えでは、すべての接尾辞が片仮名の形に変換されるが、これは正しくない。
【0007】
もう1つの変換方法では、文字列の先頭からの部分列を書換えることによって、代替候補を生成する。この方法では、接尾辞が必ず後に続き、すべて平仮名であるという事実が利用される。この方法では、多数の候補が作成され、その中に正しいものが含まれる可能性がある。下記は、この変換方法の例の図である(英語での)。
入力: inthehouse
出力1: INTHEHOUSE
出力2: i NTHEHOUSE
出力3: in THEHOUSE
出力4: int HEHOUSE
出力5: inth EHOUSE
出力6: inthe HOUSE − (正しい候補)
出力7: intheh OUSE
出力8: intheho USE
出力9: inthehou SE
出力10: inthehous E
出力11: inthehouse
上で説明したように、この変換方法では、ユーザが、入力テキストの訂正される部分を選択した後に多数の候補が生成される。それは、その候補中に正しい選択肢が含まれる場合であっても、最終的な選択での混乱につながる可能性がある。もう1つの変換方法では、接尾辞を認識できるアナライザが用いられる。このアナライザは、末尾からの範囲を、それ以上接尾辞を見つけられなくなるまで分析する。しかし、普通の方法では、正確な結果を達成するために、ユーザが対話する必要があり、これによって、潜在的に効率が低い。
【発明の開示】
【発明が解決しようとする課題】
【0008】
従来の方法の短所の1つは、片仮名単語が辞書にない場合に、片仮名単語を含む変換が通常は失敗することである。この方法のもう1つの短所は、変換し、最良の候補を選択するのに、ユーザ固有の対話が必要であることである。ユーザが、変換の可能な出力を知らない場合に、より多くの時間と労力が費やされる。したがって、日本語平仮名文字列を片仮名文字列に自動的かつ効率的に変換する方法が非常に望ましい。
【課題を解決するための手段】
【0009】
本発明では、第1文字列を第2文字列に変換する方法および装置を開示する。通常の辞書の他に、本発明は、第1文字列に基づいて人為的な文字列を生成する仮想辞書を含む。通常の辞書を介して第1文字列を変換できない(たとえば、通常の辞書に第1文字列が含まれない)時に、本発明では、仮想辞書によって生成される人為的な文字列を使用して、第1文字列を変換する。したがって、本発明の仮想辞書を用いると、変換は決して失敗しない。
【0010】
例示的な方法である本発明の1態様は、平仮名入力を受け取ることと、平仮名入力に基づいて複数の可能な片仮名候補を自動的に判定することと、平仮名入力を片仮名文字に変換するために複数の可能な片仮名候補を分析することと、片仮名候補の1つを選択することと、片仮名候補の1つと、少なくともいくつかの場合に漢字文字を含む変換されたテキストを出力することとが含まれる。
【0011】
例示的方法である本発明のもう1つの態様は、ソース文字列を有する第1文字列を受け取ることと、第1文字列を複数の部分列に分割することと、その複数の部分列を辞書を介して第2文字列に変換することと、前記複数の部分列に対応する第3文字列を作成することと、第2文字列と第3文字列を分析することと、その分析に基づいて、第2文字列と第3文字列から第4文字列を構成することと、第4文字列に基づいて候補リストを作成することと、候補リストからターゲット文字列を選択することと、前記ターゲット文字列を出力することとを含む。
【0012】
1特定の実施態様の方法は、第2文字列が第1文字列に対応する文字列を含む場合に、第2文字列から第4文字列を構成することと、第2文字列が第1文字列を含まない場合に、第3文字列から第4文字列を構成することとが含まれる。もう1つの実施態様の方法は、変換が正しいかどうかを判定するために変換の出力を調べることと、変換が正しくない場合に代替文字列の候補リストを提供することと、最終出力として候補リストから文字列を選択することとが含まれる。もう1つの実施態様では、方法に、人為的なターゲット文字列を提供することと、人為的に作成された文字列に基づいてデータベースを更新することとが含まれる。
【0013】
本発明には、これらの方法を実行する装置と、データ処理システム上で実行される時にシステムにこれらの方法を実行させる計算機可読媒体が含まれる。本発明の他の特徴は、添付図面および以下の詳細な説明から明白になる。
【発明を実施するための最良の形態】
【0014】
本発明を制限ではなく例として添付図面に示すが、図面では、類似する符号が類似する要素を指す。
図1Aは、平仮名文字、片仮名文字、および漢字文字を含む日本語文字の例を示す図である。
図1Bは、平仮名テキストを日本語テキストに変換する変換方法を示す図である。
図2は、本発明と共に使用することができるコンピュータ・システムを示す図である。
図3は、本発明の仮名漢字変換システムの一実施形態を示す図である。
図4は、本発明の一実施形態によって使用される片仮名文字のコスト値の計算の例を示す図である。
図5は、本発明のユーザ対話を伴う仮名漢字変換システムのもう1つの例を示す図である。
図6Aは、本発明の平仮名文字セットから片仮名文字セットへの変換処理の実施形態を示す図である。
図6Bは、本発明の例に対する普通の方法の処理を示す図である。
図7は、本発明の平仮名文字を片仮名文字に変換する方法を示す図である。
図8は、本発明の平仮名文字セットから片仮名文字セットへの変換処理のもう1つの実施形態を示す図である。
図9A、9Bは、本発明の平仮名文字から片仮名文字への変換のもう1つの方法を示す図である。
【0015】
以下の説明および図面は本発明の例示であって、本発明の制限と解釈してはならない。本発明の完全な理解をもたらすために、多数の具体的な詳細を説明する。しかし、いくつかの場合に、詳細で本発明を無用に不明瞭にしないようにするために、周知のまたは通常の詳細は説明しない。
【0016】
日本語は、漢字(中国が源の文字)と2組の音声的仮名文字すなわち平仮名と片仮名を用いて書かれる。単一の漢字文字が1つの形または複数の形(偏と旁など)を含む場合があり、単一の漢字文字はそれ自体で完全な単語または対象を表す。漢字と異なって、仮名は、他の仮名か漢字と組み合わされて単語を形成しない限り、固有の意味を有しない。平仮名および片仮名の両方に、それぞれ46個の文字が含まれる。仮名文字の組合せや変形によって、日本語に存在する音声的音のすべての基礎が提供される。すべての日本語テキストを平仮名か片仮名で書くことができる。しかし、日本語の単語の間にはスペースがないので、文の単語が平仮名か片仮名のいずれかだけで構成される時には、文を読むのに不都合である。したがって、ほとんどの日本語テキストに、平仮名文字、片仮名文字、漢字文字が含まれる。通常、漢字文字は、名詞、形容詞、または動詞として使用され、平仮名と片仮名は、助詞など(たとえば、「の」、「で」など)に使用される。
【0017】
コンピュータ化されたワード・プロセッサが非常に改良されたので、日本語のワード・プロセッシングを、ワード・プロセッシング・ソフトウェアを介して改善することができる。通常、日本語文字は平仮名だけで入力される。というのは、平仮名文字、片仮名文字、漢字文字のすべて(仮名漢字)をキーボードに含めることが実用的でないからである。
したがって、平仮名文字を片仮名文字に変換する改善された方法を作成することが、非常に重要である。本発明では、独自の方法を導入して、平仮名文字と片仮名文字の間の所定の関係に基づいて、平仮名文字を自動的に片仮名文字に変換する。この方法は、通常は、コンピュータ・システム内で実行されるソフトウェアによって実施される。
【0018】
図2に、本発明と共に使用することができる通常のコンピュータ・システムの1例を示す。図2には、コンピュータ・システムのさまざまな構成要素が示されているが、特定のアーキテクチャまたは構成要素の相互接続の形を表すことは意図されておらず、したがって、詳細は、本発明に密接には関係しないことに留意されたい。また、より少数の構成要素またはより多数の構成要素を有するネットワーク・コンピュータおよび他のデータ処理システム(たとえば、携帯情報端末)も、本発明と共に使用できることを諒解されたい。図2のコンピュータ・システムは、たとえば、Apple Macintoshコンピュータまたは携帯情報端末(PDA)とすることができる。
【0019】
図2からわかるように、データ処理システムを形成するコンピュータ・システム200には、マイクロプロセッサ203、ROM207、揮発性RAM205、不揮発性メモリ206に結合されたバス202が含まれる。マイクロプロセッサ203は、Motorola,Inc.社またはIBM社のG3またはG4マイクロプロセッサとすることができるが、図2の例に示されているように、キャッシュ・メモリ204に接続される。バス202によって、これらのさまざまな構成要素が相互接続され、これらの構成要素203、207、205、206が、ディスプレイ・コントローラやディスプレイ・デバイス208さらには入出力デバイスなどの周辺デバイスに相互接続される。入出力デバイスは、マウス、キーボード、モデム、ネットワーク・インターフェース、プリンタ、および当技術分野で周知の他のデバイスとすることができる。通常、入出力デバイス210は、入出力コントローラ209を介してシステムに結合される。揮発性RAM205は、通常は、メモリ内のデータをリフレッシュすなわち維持するために継続的に電力を必要とするダイナミックRAM(DRAM)として実装される。不揮発性メモリ206は、通常は、磁気ハード・ドライブ、光磁気ドライブ、光ドライブ、DVD RAM、またはシステムから電力が除去された後であってもデータを維持する他のタイプのメモリ・システムである。通常、不揮発性メモリはランダム・アクセス・メモリであるが、これは必須ではない。図2では、不揮発性メモリが、データ処理システムの構成要素の残りに直接に結合される論理デバイスであるが、本発明で、モデムまたはイーサネット(登録商標)・インターフェースなどのネットワーク・インターフェースを介してデータ処理システムに結合されるネットワーク・ストレージ・デバイスなど、システムから離れている不揮発性メモリを利用できることを諒解されたい。バス202には、当技術分野で周知のとおり、さまざまなブリッジ、コントローラ、および/またはアダプタを介して互いに接続される1つまたは複数のバスを含めることができる。一実施形態では、入出力コントローラ209に、USB(Universal Serial Bus)周辺機器を制御するUSBアダプタが含まれる。
【0020】
図3に、本発明の実施形態によって使用されるシステムを示す。図3を参照すると、システム300には、通常は、入力ユニット301、入力メソッドUIおよびシステム・インターフェース302、形態素解析エンジン(MAE)303、辞書管理モジュール(DMM)305、および出力ユニット308が含まれる。入力ユニット301は、図2の入出力デバイス210などのキーボードとすることができる。入力ユニットは、携帯情報端末(PDA)などのタッチ・パッドでもよい。入力ユニットは、アプリケーションから入力を受け取るアプリケーション・プログラミング・インターフェース(API)の組とすることもできる。入力の他のタイプが存在してもよい。入力ユニット301は、入力された日本語文字(たとえば、日本語平仮名文字)を受け入れる。平仮名文字は、入力メソッドとインターフェース302に送られ、これによってMAE303に送られる。MAE303は、DMM305を介して、通常の辞書307や仮想辞書306などのデータベースにアクセスする。通常の辞書307には、平仮名単語に対応するほとんどの既知の日本語単語を含んでいる。通常の辞書307は、揮発性RAM205などのランダム・アクセス・メモリ(RAM)に格納され、あるいは、不揮発性メモリ206などのハード・ディスクに格納されている。一実施形態では、通常の辞書307を、ネットワークを介してリモート・ストレージ・ロケーション(たとえば、ネットワーク・ストレージ)に格納することができる。本発明をネットワーク・コンピューティング環境で実現することができ、そこでは、通常の辞書をサーバに格納するとができ、クライアントで実行されるアプリケーションによって、ネットワーク・インターフェースを介してネットワーク上の通常の辞書にアクセスすることに留意することが有用である。複数のクライアントで実行される複数のアプリケーションによって、通常の辞書に同時にアクセスすることができ、通常の辞書の情報がネットワークを介して共用される。通常の辞書307は、単一の辞書として図示されているが、通常の辞書307に、複数の辞書またはデータベースを含めることができることを諒解されたい。もう1つの実施形態では、通常の辞書307に、複数のルックアップ・テーブルが含まれる。仮想辞書306によって、すべての単一の平仮名文字を片仮名文字に直接に変換することができる。仮想辞書に、平仮名文字ごとにすべての単一の片仮名文字をルックアップするルックアップ・テーブルを含めることができる。DMM305は、辞書306、307を含むすべての辞書を管理する責任を負う。DMM305は、MAE303からの要求時に、辞書へのすべての情報を更新する責任も負う。一実施形態では、DMM305が、すべての規則またはポリシを格納するもう1つのデータベース304を管理する。
【0021】
仮想辞書306は、平仮名文字の片仮名文字への直接変換を含んでいる。仮想辞書306は異なった品詞の多数の単語を返す。一実施形態では、仮想辞書によって、3つの品詞を返すことができる。それらは、名詞、動詞として使用することができる名詞、それに形容詞である。仮想辞書から返された後は、仮想辞書から人為的に生成された片仮名単語も通常の単語と異ならないことに留意することが有用である。
【0022】
もう1つの実施形態では、辞書データベースを複数の辞書に分割することができる。その1つは、通常の単語を含む通常の辞書である。他の辞書は、特殊な辞書(たとえば、いわゆる仮想辞書)である。特殊な辞書には、処理中に作成される人為的な片仮名文字を含むすべての可能な片仮名文字を含めることができる。片仮名は、平仮名入力の直接の書換えである。仮想辞書によって、異なる品詞を伴う複数の単語を返すことができる。各単語は、優先順位値を有する。そのような優先順位値は、仮想辞書によって割り当てることができる。たとえば、文字列「A−Ka−Ma−I」の実施形態では、辞書によって、下記の、異なる品詞すなわち、名詞、動詞に関連する名詞、および形容詞を伴う3つの出力を返すことができる。
A−Ka−Ma−I POS:名詞、優先順位:100
A−Ka−Ma−I POS:動詞として働くことができる名詞、優先順位:100
A−Ka−Ma−I POS:形容詞、優先順位:100
他の実装が可能である。
【0023】
3つの単語は、1レコードと考えることができ、あるいは、3つの別々のレコードと考えることができる。優先順位値は、辞書から返されるすべての単語について同一とすることができる。優先順位値を、片仮名および/または品詞から計算することができる。一実施形態では、優先順位値が単語の長さによって決定される。もう1つの実施形態では、優先順位を、片仮名のバイグラム(bi-gram)およびトライグラム(tri-gram)の統計に基づくものとすることができ、品詞に基づいて調節することができる。通常、優先順位値は、使用可能な正しい通常の単語がある時に人為的な片仮名単語が最も確率の高い変換として表示されないようにするために、通常の辞書の通常の単語のすべてまたはほとんどより低く設定される。
【0024】
品詞によって、ある品詞の単語が、ある品詞の他の単語の次になることがいかに多くまたはいかに良くあるかが決まる。これを、単にイエス/ノー値にすることができる。実施形態によって、1つの単語が2つの品詞を有する場合がある。一方が右側接続であり、他方が左側接続である。また、次の単語または前の単語だけではなく、前の単語のその前または次の単語のその後の単語との接続を判定するのに使用される場合もある。
【0025】
図3を参照すると、MAE303によって、入力された平仮名単語を変換する要求がDMM305に送られる。DMM305によって、対応する日本語単語のために通常の辞書307が検索される。それと同時に、MAE303によって、DMM305に、仮想辞書306からすべての可能な片仮名文字の組合せを検索する要求が送られる。一般に、MAE303は、辞書307にそのような直接の変換が含まれる場合に、通常の辞書307からの単語を選択する。そうでない場合には、MAE303は、仮想辞書306によって作成される人為的な片仮名単語を選択する。
【0026】
MAE303は、データベース304から規則の組を呼び出し、その規則の組を、すべての可能な組合せの分析に適用する。規則が含まれるデータベース304は、別々のデータベースとすることができ、あるいは、辞書306または307と同一のデータベースとすることができる。可能な組合せのそれぞれが使用頻度に関連する。使用頻度は、以前に文字がどれほど頻繁に使用されているかを表す。辞書には、各文字セット(たとえば、名詞、形容詞、動詞など)の間の接続関係も含める。規則の組に、使用頻度と接続関係の情報を含める。MAE303によって、これらの規則が適用されて、規則の組に基づいて、辞書306からの可能な組合せから可能な候補のプールまたはリストが構成される。一実施形態では、規則の組に、候補リストを構成させるための意味論的規則または文法的規則を含めることができる。たとえば、単語「hot」は、高い温度を意味することがあり、辛い食べ物を意味する場合もある。たとえば「hot summer」など、単語「hot」が単語「summer」に関連する時には、単語「hot」は、「辛い」ではなく「高い温度」を意味する。MAE303によって、ルールの組に基づいて候補のコスト値を計算することができる。最終的な候補は、候補リストの中で最も低いコスト値のものとする。
【0027】
図4に、単語のそれぞれが使用頻度を含む、単語「San Jose」を表すために構成されている2つの候補の例を示す。最初の選択には、文字401と402が含まれ、第2の選択には文字セット404が含まれる。文字404はパーティクルである。文字401はf1の使用頻度を有し、文字402はf2の使用頻度を有する。パーティクル文字403はf3の使用頻度を有する。さらに、文字401と402の間の接続はc1であり、文字402と403の間の接続はc2である。その結果、最初の選択のコスト値は、
コスト値1=f1+f2+f3+c1+c2
である。同様に、第2の選択は、
コスト値2=fa+f3+ca
のコスト値を有する。一実施形態では、コスト値は、意味論的要因または文法的要因を含む。評価ユニット303によって、2つの選択のコスト値が評価され、最小のコスト値、この例ではコスト値2を有する選択が変換の最終出力として選択される。
【0028】
しかし、評価ユニットによって、最小コスト値に基づいて最終出力が選択され、そしてほとんどの場合に、選択された出力が正しいのであるが、まれな場合に、正しい出力が最小コスト値を有しない場合がある。そのような情況では、本発明によって、ユーザが対話する機会が与えられる。図5に、本発明のもう1つの実施形態を示す。図5を参照すると、システム300がユーザ対話309を提供し、このユーザ対話309で、ユーザが、MAE303によって生成された出力を検査でき、出力が正しいかどうかを判定することができる。ユーザが出力が正しくないと判断する場合には、MAE303が、データベース(たとえば仮想辞書306)からDMM305を介して候補リストを検索し、その候補リストがユーザ・インターフェースに表示される。一実施形態では、ユーザ・インターフェースをポップアップ・ウィンドウとすることができる。ユーザは、出力として、候補リストから最良の選択(たとえば最終的な選択)を選ぶことができる。もう1つの実施形態では、出力を、アプリケーション・プログラミング・インターフェース(API)を介してアプリケーションに送ることができ、このアプリケーションから、最終的な選択を選ぶことができる。
【0029】
もう1つの実施形態では、ユーザが望む正しい出力が候補リストに含まれない場合に、本発明では、ユーザが最終出力を直接に手で入力し、システムに平仮名文字を片仮名文字に強制的に変換させる手段を設ける。システムは、そのデータベース(たとえば、仮想辞書306または通常の辞書307)を更新して、ユーザが入力した最終出力の片仮名単語を将来の参照として含める。もう1つの実施形態では、ユーザが、変換に適用される規則を実際に修正し、ユーザ固有の規則をデータベース304に格納する。
【0030】
図6Aに、本発明の実施形態のブロック図を示す。英語で「Watch a movie in San Jose」という意味の日本語平仮名文字列601がシステムに入力される。形態素解析エンジン(MAE)604によって、辞書307などのデータベースがルック・アップされ、対応する日本語単語が検索される。システムによって、部分602が、ユーザ・インターフェース616を介して形態素解析エンジン(MAE)604に送られる。MAE604が、入力を複数の部分列に分割し、辞書管理モジュール(DMM)608と通信し、各部分列の直接翻訳のために辞書606をルック・アップする。それ
と同時に、DMMによって、仮想辞書607が指示されて、各部分列に対応するすべての可能な片仮名単語が作成される。その結果、通常の辞書606からの通常の日本語単語および仮想辞書609からの人為的に作成された片仮名単語を有する単語のプール605が形成される。一実施形態では、これらの日本語文字列605のそれぞれが、使用頻度値に関連付けられ、文字セットのそれぞれの間に接続関係情報がある。もう1つの実施形態では、文字列605のそれぞれが、優先順位値に関連付けられる。通常、混乱を避けるために、人為的に作成された片仮名単語の優先順位は通常の辞書からの単語より低い。すなわち、このシステムでは、通常の辞書からの通常の単語が人為的に作成された片仮名単語より優先して選択される。このシステムでは、辞書606に対応する通常の単語がない時に限って人為的に作成された単語が使用される。優先順位情報も辞書606に格納することができる。次に、MAE604によって、文字列605が評価され、分析され、データベース607からの規則の組が適用される。データベース607と辞書606は別々のデータベースとして図示されているが、この2つのデータベースを組み合わせた単一のデータベースを形成できることを諒解されたい。MAE604によって、規則の組に基づいて、文字列605から文字列のもう1つの組610が構成される。単語610は候補リストと考えられ、単語611などの最小のコスト値を有する単語が高い優先順位と考えられ、単語612などの高いコスト値を有する文字セットが低い優先順位と考えられる。他の優先順位方式が存在してもよい。候補リストに基づいて、MAE604によって、文字列613などより高い優先順位の候補が最終的なターゲット文字列として選択される。文字列613が、文字列の残りに加えられて最終的な文614が形成される。
【0031】
図6Bに、普通の方法に対する、本発明によって使用される方法を示す。図6Bを参照すると、「San Jose」という英語の意味を有する日本語平仮名文字列651が入力メソッドを介して入力される。入力メソッドによって、通常は、入力が複数の部分列652に分割される。複数の部分列のそれぞれについて、辞書653を使用して、部分列652を日本語単語の可能な限りの異なる組654に変換する。辞書653には、通常は、単語663など既知の単語のほとんどが含まれる。しかし、単語「San Jose」の場合の単語662などは辞書に既知でない。したがって、辞書は、これを変換することができず、単語662が使用不能のままになる。普通の方法では、単語654に対する分析が実行され、規則664が適用され(たとえば文法的規則)、候補リスト660が生成される。その候補リストから、単語661が最終候補として選択されるが、これは正しくない。その結果、ユーザは、入力651を手動で変換して、正しい変換を生成しなければならない。
【0032】
本発明では、仮想片仮名辞書655が導入される。通常の辞書を使用する変換の他に、仮想辞書655によって部分列652を選択し、対応する人為的な片仮名単語の組656を作成する。辞書653からの通常の単語654と仮想辞書655から生成される人為的な片仮名単語656を組み合わせ、規則の組を適用することによって、部分列に対応する単語の完全な組658が作成される。その結果、部分列のそれぞれがそれに対応する変換された列を有する。その変換された列は、単語663などの通常の日本語の単語または人為的な片仮名単語である。その後、本発明では、規則の組657に基づいて候補リスト658が作成される。候補のそれぞれは規則に基づいて優先順位が関連付けられている。候補リストから最も高い優先順位の単語が最終的な正しい候補659として選択される。
【0033】
図7に、本発明の実施形態の方法を示す。図6Aおよび7を参照すると、この方法は、日本語平仮名文字列601などの日本語平仮名文字を入力すること701から始まる。日本語文字列を複数の部分列に分解702し、辞書606などの辞書を介して部分列のそれぞれを日本語単語に変換する708。それと同時に、この方法では、仮想辞書609を介して、入力に関係するすべての可能なカタカナ文字列を作成する703。日本語単語のプール605が通常の単語および人為的な片仮名単語の両方から形成される。その後、候補リスト610を構成する704が、このリストでは、より低いコスト値を有する候補がより高い優先順位を有し、より高いコスト値を有する候補がより低い優先順位を有する。人為的に作成された片仮名単語の優先順位は仮想辞書によって割り当てられる。この方法では、その後、候補リストを分析し705、分析に基づいて最良の候補613(たとえば最低のコスト値)を選択する707。その後、最終候補を出力して708、最終的な文614を形成する。
【0034】
図8に、本発明のもう1つの実施形態を示すが、ここでは、本発明に、ユーザ対話を含めることができる。入力601に、日本語平仮名文字列が含まれ、ここで、部分602(たとえば「San Jose」)を直接には変換できないが、部分603を、通常の辞書606を介して変換することができる。このシステムでは、仮想辞書609を使用して、部分602のすべての単一の部分列に関するすべての可能な対応する片仮名単語を作成する。形態素解析エンジン(MAE)604によって、規則の組に基づいて候補リスト610が構成される。規則の組に、文字の使用頻度および文字の間の接続関係情報を含めることができる。もう1つの実施形態では、規則の組に、意味論的規則および文法的規則を含先順位を有する。図8からわかるように、候補611が、リストの候補の中で最高の優先順位を有する。その結果、候補611が、評価ユニット609による変換の最終的な選択として選ばれる。しかし、まれな場合に、候補611が正しくない場合があり、その場合には、ユーザ対話615が用いられる。ユーザ対話中に、ユーザは、入力のうちで、部分602など、英語の意味「San Jose」を有する部分を選択し、システムにそれを変換するように指示する。システムは、候補リスト610など、すべての候補のプールを取り出す。一実施形態では、候補リストが、ポップアップ・ウィンドウなど、ユーザ・インターフェースを介して表示される。このリストから、ユーザが、最終出力616を選択し、最終的な文614を形成する。ユーザの選択に基づいて、システムが、そのデータベース(たとえば、辞書606および仮想辞書609)を更新することができ、その結果、後続の変換が、成功する可能性が最も高くなる。
【0035】
図9に、ソース文字列をターゲット文字列に変換する、本発明のもう1つの実施形態の方法を示す。この方法では、ソース文字列を有する第1文字列をユーザ・インターフェースから受け取る。第1文字列を複数の部分列に分割する。次に、辞書を介して部分列を第2文字列に変換する。それと同時に、この方法では、仮想辞書を介して部分列に対応する第3文字列を作成する。次に、第2文字列と第3文字列を分析し、その分析に基づいて第4文字列を構成する。次に、優先順位情報に基づいて候補リストを作成し、最高の優先順位を有する最終候補を候補リストから選択する。
【0036】
図9を参照すると、キーボードなどのユーザ・インターフェースを介して日本語平仮名文字列を受け取る901。一実施形態では、ユーザ・インターフェースに、パーム・パイロットのタッチ・パッドまたは他の入力デバイスを含めることができる。もう1つの実施形態では、日本語平仮名文字列を、アプリケーション・プログラミング・インターフェース(API)を介してアプリケーション・ソフトウェアから受け取ることができる。平仮名文字列を複数の部分列に分割する902。形態素解析エンジン(MAE)によって、辞書管理モジュール(DMM)と通信して、通常の辞書を介して、部分列のそれぞれを対応する日本語単語に変換する903。それと同時に、MAEは、仮想辞書を介して部分列に対応するすべての可能なカタカナ単語を作成する904ようにDMMに指示する。次に、システムは、通常の辞書からの日本語単語と仮想辞書から生成された人為的な片仮名単語を含む可能なすべての単語から利用できる候補を構成し905、候補リストを形成する。仮想辞書からの片仮名単語の利用できる選択に品詞情報を含めることができる。このシステムは規則の組を使用して候補を構成する。一実施形態では、規則の組に、各片仮名文字セットの使用頻度と各選択間の接続関係を含む。もう1つの実施形態では、規則の組に、単語の意味論的規則または文法的規則を含む。この情報は、データベースに格納することができ、このデータベースにすべての可能なカタカナ文字セットが格納される。もう1つの実施形態では、これらの規則を別々のデータベースに格納することができる。次に、システムは、使用頻度と接続関係をデータベースから検索し906、意味論的規則または文法的規則を分析に適用する907。この情報に基づいて、システムはすべての候補のコスト値を計算する908。最小のコスト値を有する候補が最終ターゲット文字セットとして選択される909。最終ターゲット文字セットをディスプレイ・デバイス内のユーザ・インターフェースに表示する。
【0037】
本発明のもう1つの実施形態では、ユーザが、仮名漢字変換エンジンによって供給される結果を検査して910、変換が正しいかどうかを検査する911。ユーザが結果に満足する場合には、変換が終了する。しかし、変換が正しくない場合には、ユーザは入力の一部(たとえば、最初の平仮名入力)を選択し912、システムにそれを明示的に変換するように指示する。システムは、人為的な片仮名単語を含む日本語単語のすべての可能な組合せを候補リストの形で供給する。ユーザはその候補リストを検索し913、ユーザ・インターフェースに表示する。一実施形態では、ユーザ・インターフェースが、ポップアップ・ウィンドウの形である。次に、ユーザは、候補リストに正しい変換が含まれるかどうかを検査することができる914。候補リストに正しい変換が含まれる場合には、ユーザは候補リストから最良の候補を選択する915。次に、システムによって、ユーザ選択に関するパラメータ(たとえば、使用頻度、接続関係など)のデータベース(たとえば知識ベース)が更新される916。次に、最終的な選択がアプリケーションに出力される917。一実施形態では、候補リストに正しい結果が含まれない場合に、ユーザは、ユーザ・インターフェースを介して手動で正しい結果を構成し918、作成する。人為的な変換がユーザによって作成されたならば、システムはその結果が将来の参照としてデータベースに保存する919。
【0038】
前述で、本発明を、その特定の例示的実施形態に関して説明した。請求項に示された広義の趣旨および範囲から逸脱せずに、本発明に対するさまざまな修正を行えることは明白である。したがって、明細書および図面は、制限的な意味ではなく、例示的な意味のものと解釈されなければならない。
【図面の簡単な説明】
【0039】
【図1A】平仮名文字、片仮名文字、および漢字文字を含む日本語文字の例を示す図である。
【図1B】平仮名テキストを日本語テキストに変換する変換方法を示す図である。
【図2】本発明と共に使用することができるコンピュータ・システムを示す図である。
【図3】本発明の仮名漢字変換システムの一実施形態を示す図である。
【図4】本発明の一実施形態によって使用される片仮名文字のコスト値の計算の例を示す図である。
【図5】本発明のユーザ対話を伴う仮名漢字変換システムのもう1つの例を示す図である。
【図6A】本発明の平仮名文字セットから片仮名文字セットへの変換処理の実施形態を示す図である。
【図6B】本発明の例に対する普通の方法の処理を示す図である。
【図7】本発明の平仮名文字を片仮名文字に変換する方法を示す図である。
【図8】本発明の平仮名文字セットから片仮名文字セットへの変換処理のもう1つの実施形態を示す図である。
【図9A】本発明の平仮名文字から片仮名文字への変換のもう1つの方法を示す図である。
【図9B】本発明の平仮名文字から片仮名文字への変換のもう1つの方法を示す図である。
【特許請求の範囲】
【請求項1】
前記ソース文字列を受け取るステップと、
前記ソース文字列の少なくとも第1の部分を人為的エンティティを含む第1のデータ構造によって第2の文字列に変換するステップと、
前記ソース文字列の少なくとも第2の部分を第3の文字列に変換するステップと、
第2の文字列と第3の文字列に基づいた出力を提供するステップと、
を含む方法を、実行されたときにデータ処理システムに実施させる、実行可能プログラム命令を記録した機械可読媒体。
【請求項2】
第1のデータ構造が平仮名を片仮名に変換するための変換辞書である、請求項1に記載の機械可読媒体。
【請求項3】
ソース文字列を受け取るステップと、
第1の辞書と第2の辞書とを用いてソース文字列を目的文字列に変換するステップと、
を含む方法を、実行されたときにデジタル処理システムに実施させる、実行可能プログラム命令を記録した機械可読媒体。
【請求項4】
第2の辞書が仮想辞書である、請求項3に記載の機械可読媒体。
【請求項5】
前記変換の後で前記第2の辞書を更新するステップをさらに含む請求項3に記載の機械可読媒体。
【請求項1】
前記ソース文字列を受け取るステップと、
前記ソース文字列の少なくとも第1の部分を人為的エンティティを含む第1のデータ構造によって第2の文字列に変換するステップと、
前記ソース文字列の少なくとも第2の部分を第3の文字列に変換するステップと、
第2の文字列と第3の文字列に基づいた出力を提供するステップと、
を含む方法を、実行されたときにデータ処理システムに実施させる、実行可能プログラム命令を記録した機械可読媒体。
【請求項2】
第1のデータ構造が平仮名を片仮名に変換するための変換辞書である、請求項1に記載の機械可読媒体。
【請求項3】
ソース文字列を受け取るステップと、
第1の辞書と第2の辞書とを用いてソース文字列を目的文字列に変換するステップと、
を含む方法を、実行されたときにデジタル処理システムに実施させる、実行可能プログラム命令を記録した機械可読媒体。
【請求項4】
第2の辞書が仮想辞書である、請求項3に記載の機械可読媒体。
【請求項5】
前記変換の後で前記第2の辞書を更新するステップをさらに含む請求項3に記載の機械可読媒体。
【図1A】
【図1B】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7】
【図8】
【図9A】
【図9B】
【図1B】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7】
【図8】
【図9A】
【図9B】
【公開番号】特開2007−220138(P2007−220138A)
【公開日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願番号】特願2007−104626(P2007−104626)
【出願日】平成19年4月12日(2007.4.12)
【分割の表示】特願2003−531361(P2003−531361)の分割
【原出願日】平成14年9月18日(2002.9.18)
【出願人】(500027770)アプル・コンピュータ・インコーポレーテッド (16)
【Fターム(参考)】
【公開日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願日】平成19年4月12日(2007.4.12)
【分割の表示】特願2003−531361(P2003−531361)の分割
【原出願日】平成14年9月18日(2002.9.18)
【出願人】(500027770)アプル・コンピュータ・インコーポレーテッド (16)
【Fターム(参考)】
[ Back to top ]