(57)【要約】      （修正有）【課題】ソース文字列をターゲット文字列に変換する方法を提供する。【解決手段】ソース文字列を有する第１文字列を受け取り、第１文字列を複数の部分列に分割する。辞書を介して、複数の部分列を第２文字列に変換する。複数の部分列に対応する第３文字列を作成して、第２文字列および第３文字列を分析して、該分析結果に基づいて、第２文字列および第３文字列から第４文字列を構成する。第４文字列に基づいて候補リストを作成し、該候補リストからターゲット文字列を選択して、ターゲット文字列を出力する。【選択図】図３
2010165369.tif 000002
【特許請求の範囲】
【請求項１】
入力ユニット、形態素解析エンジン（ＭＡＥ）、日本語文字を記憶している通常の辞書、仮想辞書、辞書管理モジュール、規則の組および出力ユニットを含むシステムにおいて、平仮名文字列をターゲット文字列に変換する方法であって、
前記形態素解析エンジン（ＭＡＥ）により前記平仮名入力を複数の部分列に分割するステップと、
入力ユニットによって受信された平仮名入力に応答して、前記平仮名入力の前記複数の部分列に基づいて前記仮想辞書を介して複数の可能な片仮名単語を前記形態素解析エンジン（ＭＡＥ）によって自動的に生成するステップと、
前記生成された可能な片仮名単語と前記通常の辞書に記憶されている前記日本語文字の通常の単語とを使用して前記形態素解析エンジン（ＭＡＥ）によって前記平仮名入力を変換するために候補文字列のリストを生成するステップと、
前記候補文字列に関連したコスト値にしたがって優先順位値を前記候補文字列の各々に割り当てるために前記生成された候補文字列のリストを形態素解析エンジン（ＭＡＥ）によって解析するステップであって、前記コスト値は前記規則の組に基づいて計算される、ステップと、
前記形態素解析エンジン（ＭＡＥ）による前記解析に応答して最も高い優先順位値を有する前記候補文字列の１つを選択するステップであって、前記通常の辞書が前記平仮名入力の直接の変換に対応する１つ以上の日本語文字を含んでいない、ステップと、そして
前記平仮名入力を表現するために前記候補文字列の前記１つを含む変換されたテキストを前記出力ユニットによって出力するステップと
を含む方法。
【請求項２】
平仮名文字列をターゲット文字列に変換するための装置であって、
平仮名入力を受信するための入力ユニットと、
通常の辞書と、
仮想辞書と、そして
入力ユニット、通常の辞書及び仮想辞書に結合された形態素解析エンジン（ＭＡＥ）とを備え、
前記形態素解析エンジン（ＭＡＥ）が、
前記平仮名入力の部分列に対する仮想辞書中の複数の可能な片仮名文字を自動的に生成し、
前記生成された可能な片仮名文字と前記記憶された日本語文字とを使用して前記ＭＡＥにより前記平仮名入力を変換するために候補文字列のリストを生成し、
前記平仮名入力と前記候補文字列との間の関連性を表す優先順位値を前記候補文字列の各々に割り当てるために前記生成された候補文字列のリストを形態素解析エンジン（ＭＡＥ）によって解析し、
前記平仮名入力の直接の変換に対応する１つ以上の日本語文字を通常の辞書が含んでいないときに前記形態素解析エンジン（ＭＡＥ）による前記解析に応答して最も高い優先順位値を有する前記候補文字列の１つを選択し、そして
前記平仮名入力を表現するために前記候補文字列の前記１つを含む変換されたテキストを前記出力ユニットによって出力する
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的には電子テキスト・エントリの分野に関し、具体的には、日本語平仮名文字を入力させ、平仮名、片仮名、漢字の組合せを使用する適当な日本語に変換する方法に関する。
【背景技術】
【０００２】
書かれた日本語は３つの別々の文字列を含む。音声的音節を表す単純な日本語文字が、平仮名と片仮名の文字セット（一緒にして「仮名」と称する）である。筆写体の字体を特徴とする平仮名文字は、通常は、日本特有の単語に使用される。より角張った字体を特徴とする片仮名文字は、通常は、他の文化から借用した単語、あるいは強調または音声に使用される。日本語の第３の文字セットが漢字である。漢字は、中国語から借用した複雑な日本文字である。日本語には９０００文字を超える漢字の文字がある。約４０００文字の漢字が、ほぼ普通に使用され、一般に、漢字２０００文字の知識が新聞を読んだり日本で生活するのに必要である。書かれた日本語の複雑さによって、コンピュータや、ワード・プロセッサ、他の電子デバイスでの効率的なテキスト・エントリに関する多くの問題が生じる。
【０００３】
図１Ａに、日本語の平仮名の文字と片仮名の文字の例を示す。平仮名セット１５１と片仮名セット１５２のそれぞれに４６の基本文字が含まれる。仮名の両方のセットが同一の発音と同一の構成規則を有し、単に文字の形だけが異なり、単語の異なる使用を強調するだけである。基本仮名文字の一部は、ある組合せで使用され、特殊形（「にごり」や「まる」と呼ばれる）と共に、基本音節の有声音変形や帯気音変形が作られ、したがって、約１２０個の日本語の音声的音を表す完全な文字セットがもたらされる。日本語キーボードに、基本音節の有声音変形と帯気音変形のすべてについて別々のキーが含まれるならば、そのキーボードに、少なくとも８０個の文字キーが含まれる必要がある。そのように多数のキーはキーで込み合ったキーボードを作ることになり、これらのキーを区別することが容易でなくなる。にごり形キーとまる形キーを別々にするならば、文字キーの数を５７キーまで減らすことができる。しかし、基本文字の有声音変形または帯気音変形を生成するために、ユーザが、単一文字に対して複数のキーストロークを入力することが必要になる。
【０００４】
コンピュータおよび類似するデバイスでの日本語テキスト・エントリの一般的な方法では、標準日本語文字キーボードかローマ字キーボードを使用することが必要であり、これらのキーボードは、日本での使用に適合されてきた。典型的な仮名キーボードは、通常は、キーボードから直接に入力できる１つの仮名セット（通常は平仮名）だけを表すキーを有する。通常の方法は、入力として平仮名キーを含むキーボードから平仮名テキストを取り込み、仮名漢字変換と称する処理を使用して日本語テキストに変換する。通常の日本語テキストは、文１５０（「Ｗａｔｃｈ  ａ  ｍｏｖｉｅ  ｉｎ  Ｓａｎ  Ｊｏｓｅ」という英語の意味を有する）など、平仮名や片仮名、漢字によって表される。文１５０には、「Ｓａｎ  Ｊｏｓｅ」という外国語単語に対応する片仮名文字１５４、通常はパーティクル（助詞、接尾語、接頭語、無意味な文字など）として使用される平仮名文字１５５、さらに漢字文字１５３が含まれている。
【０００５】
図１Ｂに、平仮名テキストから日本語テキストへの変換の通常の方法を示す。図１を参照すると、日本語平仮名文字がキーボードを介して入力される１０１。データベース（たとえば辞書）で文字をルック・アップすることによって、平仮名文字が日本語テキストに変換される１０２。ユーザが調べ１０３、変換が正しいことを検査しなければならない１０４。変換が正しくない場合（たとえば、辞書にその変換が含まれない）、ユーザは、手動でシステムに平仮名テキストを変換させなければならない。通常のユーザ対話に、平仮名テキストの、誤って変換された部分を選択することと１０５と、システムにその部分を変換するように明示的に指示すること１０６が含まれる。システムは、すべての可能な選択肢を含む候補リストを提示する１０７。ユーザは、通常、変換が正しいかどうかを検査する１０９。変換が正しい場合には、ユーザは最良の出力としてある選択を選び１０８、正しい結果を挿入して最終的な出力テキストを形成する。変換が正しくない場合には、ユーザは、入力の異なる部分を再選択し、再選択された部分の手動変換をもう一度試みる。
【０００６】
通常の方法の１つである書換え（平仮名から片仮名への直接変換）は、通常は、ほとんどの場合に正しい結果をもたらさない。というのは、通常は、ユーザが、片仮名単語ではなく、単語と、最終的な形で平仮名で書かれる１つまたは複数の接尾辞を選択する（たとえば、図１Ｂに示された方法で）からである。通常の書換えでは、すべての接尾辞が片仮名の形に変換されるが、これは正しくない。
【０００７】
もう１つの変換方法では、文字列の先頭からの部分列を書換えることによって、代替候補を生成する。この方法では、接尾辞が必ず後に続き、すべて平仮名であるという事実が利用される。この方法では、多数の候補が作成され、その中に正しいものが含まれる可能性がある。下記は、この変換方法の例の図である（英語での）。
入力：      ｉｎｔｈｅｈｏｕｓｅ
出力１：    ＩＮＴＨＥＨＯＵＳＥ
出力２：    ｉ  ＮＴＨＥＨＯＵＳＥ
出力３：    ｉｎ  ＴＨＥＨＯＵＳＥ
出力４：    ｉｎｔ  ＨＥＨＯＵＳＥ
出力５：    ｉｎｔｈ  ＥＨＯＵＳＥ
出力６：    ｉｎｔｈｅ  ＨＯＵＳＥ  −  （正しい候補）
出力７：    ｉｎｔｈｅｈ  ＯＵＳＥ
出力８：    ｉｎｔｈｅｈｏ  ＵＳＥ
出力９：    ｉｎｔｈｅｈｏｕ  ＳＥ
出力１０：  ｉｎｔｈｅｈｏｕｓ  Ｅ
出力１１：  ｉｎｔｈｅｈｏｕｓｅ
上で説明したように、この変換方法では、ユーザが、入力テキストの訂正される部分を選択した後に多数の候補が生成される。それは、その候補中に正しい選択肢が含まれる場合であっても、最終的な選択での混乱につながる可能性がある。もう１つの変換方法では、接尾辞を認識できるアナライザが用いられる。このアナライザは、末尾からの範囲を、それ以上接尾辞を見つけられなくなるまで分析する。しかし、普通の方法では、正確な結果を達成するために、ユーザが対話する必要があり、これによって、潜在的に効率が低い。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の方法の短所の１つは、片仮名単語が辞書にない場合に、片仮名単語を含む変換が通常は失敗することである。この方法のもう１つの短所は、変換し、最良の候補を選択するのに、ユーザ固有の対話が必要であることである。ユーザが、変換の可能な出力を知らない場合に、より多くの時間と労力が費やされる。したがって、日本語平仮名文字列を片仮名文字列に自動的かつ効率的に変換する方法が非常に望ましい。
【課題を解決するための手段】
【０００９】
本発明では、第１文字列を第２文字列に変換する方法および装置を開示する。通常の辞書の他に、本発明は、第１文字列に基づいて人為的な文字列を生成する仮想辞書を含む。通常の辞書を介して第１文字列を変換できない（たとえば、通常の辞書に第１文字列が含まれない）時に、本発明では、仮想辞書によって生成される人為的な文字列を使用して、第１文字列を変換する。したがって、本発明の仮想辞書を用いると、変換は決して失敗しない。
【００１０】
例示的な方法である本発明の１態様は、平仮名入力を受け取ることと、平仮名入力に基づいて複数の可能な片仮名候補を自動的に判定することと、平仮名入力を片仮名文字に変換するために複数の可能な片仮名候補を分析することと、片仮名候補の１つを選択することと、片仮名候補の１つと、少なくともいくつかの場合に漢字文字を含む変換されたテキストを出力することとが含まれる。
【００１１】
例示的方法である本発明のもう１つの態様は、ソース文字列を有する第１文字列を受け取ることと、第１文字列を複数の部分列に分割することと、その複数の部分列を辞書を介して第２文字列に変換することと、前記複数の部分列に対応する第３文字列を作成することと、第２文字列と第３文字列を分析することと、その分析に基づいて、第２文字列と第３文字列から第４文字列を構成することと、第４文字列に基づいて候補リストを作成することと、候補リストからターゲット文字列を選択することと、前記ターゲット文字列を出力することとを含む。
【００１２】
１特定の実施態様の方法は、第２文字列が第１文字列に対応する文字列を含む場合に、第２文字列から第４文字列を構成することと、第２文字列が第１文字列を含まない場合に、第３文字列から第４文字列を構成することとが含まれる。もう１つの実施態様の方法は、変換が正しいかどうかを判定するために変換の出力を調べることと、変換が正しくない場合に代替文字列の候補リストを提供することと、最終出力として候補リストから文字列を選択することとが含まれる。もう１つの実施態様では、方法に、人為的なターゲット文字列を提供することと、人為的に作成された文字列に基づいてデータベースを更新することとが含まれる。
【００１３】
本発明には、これらの方法を実行する装置と、データ処理システム上で実行される時にシステムにこれらの方法を実行させる計算機可読媒体が含まれる。本発明の他の特徴は、添付図面および以下の詳細な説明から明白になる。
【図面の簡単な説明】
【００１４】
【図１Ａ】平仮名文字、片仮名文字、および漢字文字を含む日本語文字の例を示す図である。
【図１Ｂ】平仮名テキストを日本語テキストに変換する変換方法を示す図である。
【図２】本発明と共に使用することができるコンピュータ・システムを示す図である。
【図３】本発明の仮名漢字変換システムの一実施形態を示す図である。
【図４】本発明の一実施形態によって使用される片仮名文字のコスト値の計算の例を示す図である。
【図５】本発明のユーザ対話を伴う仮名漢字変換システムのもう１つの例を示す図である。
【図６Ａ】本発明の平仮名文字セットから片仮名文字セットへの変換処理の実施形態を示す図である。
【図６Ｂ】本発明の例に対する普通の方法の処理を示す図である。
【図７】本発明の平仮名文字を片仮名文字に変換する方法を示す図である。
【図８】本発明の平仮名文字セットから片仮名文字セットへの変換処理のもう１つの実施形態を示す図である。
【図９Ａ】本発明の平仮名文字から片仮名文字への変換のもう１つの方法を示す図である。
【図９Ｂ】本発明の平仮名文字から片仮名文字への変換のもう１つの方法を示す図である。
【発明を実施するための形態】
【００１５】
以下の説明および図面は本発明の例示であって、本発明の制限と解釈してはならない。本発明の完全な理解をもたらすために、多数の具体的な詳細を説明する。しかし、いくつかの場合に、詳細で本発明を無用に不明瞭にしないようにするために、周知のまたは通常の詳細は説明しない。
【００１６】
日本語は、漢字（中国が源の文字）と２組の音声的仮名文字すなわち平仮名と片仮名を用いて書かれる。単一の漢字文字が１つの形または複数の形（偏と旁など）を含む場合があり、単一の漢字文字はそれ自体で完全な単語または対象を表す。漢字と異なって、仮名は、他の仮名か漢字と組み合わされて単語を形成しない限り、固有の意味を有しない。平仮名および片仮名の両方に、それぞれ４６個の文字が含まれる。仮名文字の組合せや変形によって、日本語に存在する音声的音のすべての基礎が提供される。すべての日本語テキストを平仮名か片仮名で書くことができる。しかし、日本語の単語の間にはスペースがないので、文の単語が平仮名か片仮名のいずれかだけで構成される時には、文を読むのに不都合である。したがって、ほとんどの日本語テキストに、平仮名文字、片仮名文字、漢字文字が含まれる。通常、漢字文字は、名詞、形容詞、または動詞として使用され、平仮名と片仮名は、助詞など（たとえば、「の」、「で」など）に使用される。
【００１７】
コンピュータ化されたワード・プロセッサが非常に改良されたので、日本語のワード・プロセッシングを、ワード・プロセッシング・ソフトウェアを介して改善することができる。通常、日本語文字は平仮名だけで入力される。というのは、平仮名文字、片仮名文字、漢字文字のすべて（仮名漢字）をキーボードに含めることが実用的でないからである。したがって、平仮名文字を片仮名文字に変換する改善された方法を作成することが、非常に重要である。本発明では、独自の方法を導入して、平仮名文字と片仮名文字の間の所定の関係に基づいて、平仮名文字を自動的に片仮名文字に変換する。この方法は、通常は、コンピュータ・システム内で実行されるソフトウェアによって実施される。
【００１８】
図２に、本発明と共に使用することができる通常のコンピュータ・システムの１例を示す。図２には、コンピュータ・システムのさまざまな構成要素が示されているが、特定のアーキテクチャまたは構成要素の相互接続の形を表すことは意図されておらず、したがって、詳細は、本発明に密接には関係しないことに留意されたい。また、より少数の構成要素またはより多数の構成要素を有するネットワーク・コンピュータおよび他のデータ処理システム（たとえば、携帯情報端末）も、本発明と共に使用できることを諒解されたい。図２のコンピュータ・システムは、たとえば、Ａｐｐｌｅ  Ｍａｃｉｎｔｏｓｈコンピュータまたは携帯情報端末（ＰＤＡ）とすることができる。
【００１９】
図２からわかるように、データ処理システムを形成するコンピュータ・システム２００には、マイクロプロセッサ２０３、ＲＯＭ２０７、揮発性ＲＡＭ２０５、不揮発性メモリ２０６に結合されたバス２０２が含まれる。マイクロプロセッサ２０３は、Ｍｏｔｏｒｏｌａ，Ｉｎｃ．社またはＩＢＭ社のＧ３またはＧ４マイクロプロセッサとすることができるが、図２の例に示されているように、キャッシュ・メモリ２０４に接続される。バス２０２によって、これらのさまざまな構成要素が相互接続され、これらの構成要素２０３、２０７、２０５、２０６が、ディスプレイ・コントローラやディスプレイ・デバイス２０８さらには入出力デバイスなどの周辺デバイスに相互接続される。入出力デバイスは、マウス、キーボード、モデム、ネットワーク・インターフェース、プリンタ、および当技術分野で周知の他のデバイスとすることができる。通常、入出力デバイス２１０は、入出力コントローラ２０９を介してシステムに結合される。揮発性ＲＡＭ２０５は、通常は、メモリ内のデータをリフレッシュすなわち維持するために継続的に電力を必要とするダイナミックＲＡＭ（ＤＲＡＭ）として実装される。不揮発性メモリ２０６は、通常は、磁気ハード・ドライブ、光磁気ドライブ、光ドライブ、ＤＶＤ  ＲＡＭ、またはシステムから電力が除去された後であってもデータを維持する他のタイプのメモリ・システムである。通常、不揮発性メモリはランダム・アクセス・メモリであるが、これは必須ではない。図２では、不揮発性メモリが、データ処理システムの構成要素の残りに直接に結合される論理デバイスであるが、本発明で、モデムまたはイーサネット（登録商標）・インターフェースなどのネットワーク・インターフェースを介してデータ処理システムに結合されるネットワーク・ストレージ・デバイスなど、システムから離れている不揮発性メモリを利用できることを諒解されたい。バス２０２には、当技術分野で周知のとおり、さまざまなブリッジ、コントローラ、および／またはアダプタを介して互いに接続される１つまたは複数のバスを含めることができる。一実施形態では、入出力コントローラ２０９に、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）周辺機器を制御するＵＳＢアダプタが含まれる。
【００２０】
図３に、本発明の実施形態によって使用されるシステムを示す。図３を参照すると、システム３００には、通常は、入力ユニット３０１、入力メソッドＵＩおよびシステム・インターフェース３０２、形態素解析エンジン（ＭＡＥ）３０３、辞書管理モジュール（ＤＭＭ）３０５、および出力ユニット３０８が含まれる。入力ユニット３０１は、図２の入出力デバイス２１０などのキーボードとすることができる。入力ユニットは、携帯情報端末（ＰＤＡ）などのタッチ・パッドでもよい。入力ユニットは、アプリケーションから入力を受け取るアプリケーション・プログラミング・インターフェース（ＡＰＩ）の組とすることもできる。入力の他のタイプが存在してもよい。入力ユニット３０１は、入力された日本語文字（たとえば、日本語平仮名文字）を受け入れる。平仮名文字は、入力メソッドとインターフェース３０２に送られ、これによってＭＡＥ３０３に送られる。ＭＡＥ３０３は、ＤＭＭ３０５を介して、通常の辞書３０７や仮想辞書３０６などのデータベースにアクセスする。通常の辞書３０７には、平仮名単語に対応するほとんどの既知の日本語単語を含んでいる。通常の辞書３０７は、揮発性ＲＡＭ２０５などのランダム・アクセス・メモリ（ＲＡＭ）に格納され、あるいは、不揮発性メモリ２０６などのハード・ディスクに格納されている。一実施形態では、通常の辞書３０７を、ネットワークを介してリモート・ストレージ・ロケーション（たとえば、ネットワーク・ストレージ）に格納することができる。本発明をネットワーク・コンピューティング環境で実現することができ、そこでは、通常の辞書をサーバに格納するとができ、クライアントで実行されるアプリケーションによって、ネットワーク・インターフェースを介してネットワーク上の通常の辞書にアクセスすることに留意することが有用である。複数のクライアントで実行される複数のアプリケーションによって、通常の辞書に同時にアクセスすることができ、通常の辞書の情報がネットワークを介して共用される。通常の辞書３０７は、単一の辞書として図示されているが、通常の辞書３０７に、複数の辞書またはデータベースを含めることができることを諒解されたい。もう１つの実施形態では、通常の辞書３０７に、複数のルックアップ・テーブルが含まれる。仮想辞書３０６によって、すべての単一の平仮名文字を片仮名文字に直接に変換することができる。仮想辞書に、平仮名文字ごとにすべての単一の片仮名文字をルックアップするルックアップ・テーブルを含めることができる。ＤＭＭ３０５は、辞書３０６、３０７を含むすべての辞書を管理する責任を負う。ＤＭＭ３０５は、ＭＡＥ３０３からの要求時に、辞書へのすべての情報を更新する責任も負う。一実施形態では、ＤＭＭ３０５が、すべての規則またはポリシを格納するもう１つのデータベース３０４を管理する。
【００２１】
仮想辞書３０６は、平仮名文字の片仮名文字への直接変換を含んでいる。仮想辞書３０６は異なった品詞の多数の単語を返す。一実施形態では、仮想辞書によって、３つの品詞を返すことができる。それらは、名詞、動詞として使用することができる名詞、それに形容詞である。仮想辞書から返された後は、仮想辞書から人為的に生成された片仮名単語も通常の単語と異ならないことに留意することが有用である。
【００２２】
もう１つの実施形態では、辞書データベースを複数の辞書に分割することができる。その１つは、通常の単語を含む通常の辞書である。他の辞書は、特殊な辞書（たとえば、いわゆる仮想辞書）である。特殊な辞書には、処理中に作成される人為的な片仮名文字を含むすべての可能な片仮名文字を含めることができる。片仮名は、平仮名入力の直接の書換えである。仮想辞書によって、異なる品詞を伴う複数の単語を返すことができる。各単語は、優先順位値を有する。そのような優先順位値は、仮想辞書によって割り当てることができる。たとえば、文字列「Ａ−Ｋａ−Ｍａ−Ｉ」の実施形態では、辞書によって、下記の、異なる品詞すなわち、名詞、動詞に関連する名詞、および形容詞を伴う３つの出力を返すことができる。
Ａ−Ｋａ−Ｍａ−Ｉ  ＰＯＳ：名詞、優先順位：１００
Ａ−Ｋａ−Ｍａ−Ｉ  ＰＯＳ：動詞として働くことができる名詞、優先順位：１００
Ａ−Ｋａ−Ｍａ−Ｉ  ＰＯＳ：形容詞、優先順位：１００
他の実装が可能である。
【００２３】
３つの単語は、１レコードと考えることができ、あるいは、３つの別々のレコードと考えることができる。優先順位値は、辞書から返されるすべての単語について同一とすることができる。優先順位値を、片仮名および／または品詞から計算することができる。一実施形態では、優先順位値が単語の長さによって決定される。もう１つの実施形態では、優先順位を、片仮名のバイグラム(bi-gram)およびトライグラム(tri-gram)の統計に基づくものとすることができ、品詞に基づいて調節することができる。通常、優先順位値は、使用可能な正しい通常の単語がある時に人為的な片仮名単語が最も確率の高い変換として表示されないようにするために、通常の辞書の通常の単語のすべてまたはほとんどより低く設定される。
【００２４】
品詞によって、ある品詞の単語が、ある品詞の他の単語の次になることがいかに多くまたはいかに良くあるかが決まる。これを、単にイエス／ノー値にすることができる。実施形態によって、１つの単語が２つの品詞を有する場合がある。一方が右側接続であり、他方が左側接続である。また、次の単語または前の単語だけではなく、前の単語のその前または次の単語のその後の単語との接続を判定するのに使用される場合もある。
【００２５】
図３を参照すると、ＭＡＥ３０３によって、入力された平仮名単語を変換する要求がＤＭＭ３０５に送られる。ＤＭＭ３０５によって、対応する日本語単語のために通常の辞書３０７が検索される。それと同時に、ＭＡＥ３０３によって、ＤＭＭ３０５に、仮想辞書３０６からすべての可能な片仮名文字の組合せを検索する要求が送られる。一般に、ＭＡＥ３０３は、辞書３０７にそのような直接の変換が含まれる場合に、通常の辞書３０７からの単語を選択する。そうでない場合には、ＭＡＥ３０３は、仮想辞書３０６によって作成される人為的な片仮名単語を選択する。
【００２６】
ＭＡＥ３０３は、データベース３０４から規則の組を呼び出し、その規則の組を、すべての可能な組合せの分析に適用する。規則が含まれるデータベース３０４は、別々のデータベースとすることができ、あるいは、辞書３０６または３０７と同一のデータベースとすることができる。可能な組合せのそれぞれが使用頻度に関連する。使用頻度は、以前に文字がどれほど頻繁に使用されているかを表す。辞書には、各文字セット（たとえば、名詞、形容詞、動詞など）の間の接続関係も含める。規則の組に、使用頻度と接続関係の情報を含める。ＭＡＥ３０３によって、これらの規則が適用されて、規則の組に基づいて、辞書３０６からの可能な組合せから可能な候補のプールまたはリストが構成される。一実施形態では、規則の組に、候補リストを構成させるための意味論的規則または文法的規則を含めることができる。たとえば、単語「ｈｏｔ」は、高い温度を意味することがあり、辛い食べ物を意味する場合もある。たとえば「ｈｏｔ  ｓｕｍｍｅｒ」など、単語「ｈｏｔ」が単語「ｓｕｍｍｅｒ」に関連する時には、単語「ｈｏｔ」は、「辛い」ではなく「高い温度」を意味する。ＭＡＥ３０３によって、ルールの組に基づいて候補のコスト値を計算することができる。最終的な候補は、候補リストの中で最も低いコスト値のものとする。
【００２７】
図４に、単語のそれぞれが使用頻度を含む、単語「Ｓａｎ  Ｊｏｓｅ」を表すために構成されている２つの候補の例を示す。最初の選択には、文字４０１と４０２が含まれ、第２の選択には文字セット４０４が含まれる。文字４０４はパーティクルである。文字４０１はｆ１の使用頻度を有し、文字４０２はｆ２の使用頻度を有する。パーティクル文字４０３はｆ３の使用頻度を有する。さらに、文字４０１と４０２の間の接続はｃ１であり、文字４０２と４０３の間の接続はｃ２である。その結果、最初の選択のコスト値は、
コスト値１＝ｆ１＋ｆ２＋ｆ３＋ｃ１＋ｃ２
である。同様に、第２の選択は、
コスト値２＝ｆａ＋ｆ３＋ｃａ
のコスト値を有する。一実施形態では、コスト値は、意味論的要因または文法的要因を含む。評価ユニット３０３によって、２つの選択のコスト値が評価され、最小のコスト値、この例ではコスト値２を有する選択が変換の最終出力として選択される。
【００２８】
しかし、評価ユニットによって、最小コスト値に基づいて最終出力が選択され、そしてほとんどの場合に、選択された出力が正しいのであるが、まれな場合に、正しい出力が最小コスト値を有しない場合がある。そのような情況では、本発明によって、ユーザが対話する機会が与えられる。図５に、本発明のもう１つの実施形態を示す。図５を参照すると、システム３００がユーザ対話３０９を提供し、このユーザ対話３０９で、ユーザが、ＭＡＥ３０３によって生成された出力を検査でき、出力が正しいかどうかを判定することができる。ユーザが出力が正しくないと判断する場合には、ＭＡＥ３０３が、データベース（たとえば仮想辞書３０６）からＤＭＭ３０５を介して候補リストを検索し、その候補リストがユーザ・インターフェースに表示される。一実施形態では、ユーザ・インターフェースをポップアップ・ウィンドウとすることができる。ユーザは、出力として、候補リストから最良の選択（たとえば最終的な選択）を選ぶことができる。もう１つの実施形態では、出力を、アプリケーション・プログラミング・インターフェース（ＡＰＩ）を介してアプリケーションに送ることができ、このアプリケーションから、最終的な選択を選ぶことができる。
【００２９】
もう１つの実施形態では、ユーザが望む正しい出力が候補リストに含まれない場合に、本発明では、ユーザが最終出力を直接に手で入力し、システムに平仮名文字を片仮名文字に強制的に変換させる手段を設ける。システムは、そのデータベース（たとえば、仮想辞書３０６または通常の辞書３０７）を更新して、ユーザが入力した最終出力の片仮名単語を将来の参照として含める。もう１つの実施形態では、ユーザが、変換に適用される規則を実際に修正し、ユーザ固有の規則をデータベース３０４に格納する。
【００３０】
図６Ａに、本発明の実施形態のブロック図を示す。英語で「Ｗａｔｃｈ  ａ  ｍｏｖｉｅ  ｉｎ  Ｓａｎ  Ｊｏｓｅ」という意味の日本語平仮名文字列６０１がシステムに入力される。形態素解析エンジン（ＭＡＥ）６０４によって、辞書３０７などのデータベースがルック・アップされ、対応する日本語単語が検索される。システムによって、部分６０２が、ユーザ・インターフェース６１６を介して形態素解析エンジン（ＭＡＥ）６０４に送られる。ＭＡＥ６０４が、入力を複数の部分列に分割し、辞書管理モジュール（ＤＭＭ）６０８と通信し、各部分列の直接翻訳のために辞書６０６をルック・アップする。それと同時に、ＤＭＭによって、仮想辞書６０７が指示されて、各部分列に対応するすべての可能な片仮名単語が作成される。その結果、通常の辞書６０６からの通常の日本語単語および仮想辞書６０９からの人為的に作成された片仮名単語を有する単語のプール６０５が形成される。一実施形態では、これらの日本語文字列６０５のそれぞれが、使用頻度値に関連付けられ、文字セットのそれぞれの間に接続関係情報がある。もう１つの実施形態では、文字列６０５のそれぞれが、優先順位値に関連付けられる。通常、混乱を避けるために、人為的に作成された片仮名単語の優先順位は通常の辞書からの単語より低い。すなわち、このシステムでは、通常の辞書からの通常の単語が人為的に作成された片仮名単語より優先して選択される。このシステムでは、辞書６０６に対応する通常の単語がない時に限って人為的に作成された単語が使用される。優先順位情報も辞書６０６に格納することができる。次に、ＭＡＥ６０４によって、文字列６０５が評価され、分析され、データベース６０７からの規則の組が適用される。データベース６０７と辞書６０６は別々のデータベースとして図示されているが、この２つのデータベースを組み合わせた単一のデータベースを形成できることを諒解されたい。ＭＡＥ６０４によって、規則の組に基づいて、文字列６０５から文字列のもう１つの組６１０が構成される。単語６１０は候補リストと考えられ、単語６１１などの最小のコスト値を有する単語が高い優先順位と考えられ、単語６１２などの高いコスト値を有する文字セットが低い優先順位と考えられる。他の優先順位方式が存在してもよい。候補リストに基づいて、ＭＡＥ６０４によって、文字列６１３などより高い優先順位の候補が最終的なターゲット文字列として選択される。文字列６１３が、文字列の残りに加えられて最終的な文６１４が形成される。
【００３１】
図６Ｂに、普通の方法に対する、本発明によって使用される方法を示す。図６Ｂを参照すると、「Ｓａｎ  Ｊｏｓｅ」という英語の意味を有する日本語平仮名文字列６５１が入力メソッドを介して入力される。入力メソッドによって、通常は、入力が複数の部分列６５２に分割される。複数の部分列のそれぞれについて、辞書６５３を使用して、部分列６５２を日本語単語の可能な限りの異なる組６５４に変換する。辞書６５３には、通常は、単語６６３など既知の単語のほとんどが含まれる。しかし、単語「Ｓａｎ  Ｊｏｓｅ」の場合の単語６６２などは辞書に既知でない。したがって、辞書は、これを変換することができず、単語６６２が使用不能のままになる。普通の方法では、単語６５４に対する分析が実行され、規則６６４が適用され（たとえば文法的規則）、候補リスト６６０が生成される。その候補リストから、単語６６１が最終候補として選択されるが、これは正しくない。その結果、ユーザは、入力６５１を手動で変換して、正しい変換を生成しなければならない。
【００３２】
本発明では、仮想片仮名辞書６５５が導入される。通常の辞書を使用する変換の他に、仮想辞書６５５によって部分列６５２を選択し、対応する人為的な片仮名単語の組６５６を作成する。辞書６５３からの通常の単語６５４と仮想辞書６５５から生成される人為的な片仮名単語６５６を組み合わせ、規則の組を適用することによって、部分列に対応する単語の完全な組６５８が作成される。その結果、部分列のそれぞれがそれに対応する変換された列を有する。その変換された列は、単語６６３などの通常の日本語の単語または人為的な片仮名単語である。その後、本発明では、規則の組６５７に基づいて候補リスト６５８が作成される。候補のそれぞれは規則に基づいて優先順位が関連付けられている。候補リストから最も高い優先順位の単語が最終的な正しい候補６５９として選択される。
【００３３】
図７に、本発明の実施形態の方法を示す。図６Ａおよび７を参照すると、この方法は、日本語平仮名文字列６０１などの日本語平仮名文字を入力すること７０１から始まる。日本語文字列を複数の部分列に分解７０２し、辞書６０６などの辞書を介して部分列のそれぞれを日本語単語に変換する７０８。それと同時に、この方法では、仮想辞書６０９を介して、入力に関係するすべての可能なカタカナ文字列を作成する７０３。日本語単語のプール６０５が通常の単語および人為的な片仮名単語の両方から形成される。その後、候補リスト６１０を構成する７０４が、このリストでは、より低いコスト値を有する候補がより高い優先順位を有し、より高いコスト値を有する候補がより低い優先順位を有する。人為的に作成された片仮名単語の優先順位は仮想辞書によって割り当てられる。この方法では、その後、候補リストを分析し７０５、分析に基づいて最良の候補６１３（たとえば最低のコスト値）を選択する７０７。その後、最終候補を出力して７０８、最終的な文６１４を形成する。
【００３４】
図８に、本発明のもう１つの実施形態を示すが、ここでは、本発明に、ユーザ対話を含めることができる。入力６０１に、日本語平仮名文字列が含まれ、ここで、部分６０２（たとえば「Ｓａｎ  Ｊｏｓｅ」）を直接には変換できないが、部分６０３を、通常の辞書６０６を介して変換することができる。このシステムでは、仮想辞書６０９を使用して、部分６０２のすべての単一の部分列に関するすべての可能な対応する片仮名単語を作成する。形態素解析エンジン（ＭＡＥ）６０４によって、規則の組に基づいて候補リスト６１０が構成される。規則の組に、文字の使用頻度および文字の間の接続関係情報を含めることができる。もう１つの実施形態では、規則の組に、意味論的規則および文法的規則を含めることができる。リストの候補のそれぞれについて、コスト値を計算する。最小のコスト値を有する候補が、最高の優先順位を有し、最大のコスト値を有する候補が、最低の優先順位を有する。図８からわかるように、候補６１１が、リストの候補の中で最高の優先順位を有する。その結果、候補６１１が、評価ユニット６０９による変換の最終的な選択として選ばれる。しかし、まれな場合に、候補６１１が正しくない場合があり、その場合には、ユーザ対話６１５が用いられる。ユーザ対話中に、ユーザは、入力のうちで、部分６０２など、英語の意味「Ｓａｎ  Ｊｏｓｅ」を有する部分を選択し、システムにそれを変換するように指示する。システムは、候補リスト６１０など、すべての候補のプールを取り出す。一実施形態では、候補リストが、ポップアップ・ウィンドウなど、ユーザ・インターフェースを介して表示される。このリストから、ユーザが、最終出力６１６を選択し、最終的な文６１４を形成する。ユーザの選択に基づいて、システムが、そのデータベース（たとえば、辞書６０６および仮想辞書６０９）を更新することができ、その結果、後続の変換が、成功する可能性が最も高くなる。
【００３５】
図９に、ソース文字列をターゲット文字列に変換する、本発明のもう１つの実施形態の方法を示す。この方法では、ソース文字列を有する第１文字列をユーザ・インターフェースから受け取る。第１文字列を複数の部分列に分割する。次に、辞書を介して部分列を第２文字列に変換する。それと同時に、この方法では、仮想辞書を介して部分列に対応する第３文字列を作成する。次に、第２文字列と第３文字列を分析し、その分析に基づいて第４文字列を構成する。次に、優先順位情報に基づいて候補リストを作成し、最高の優先順位を有する最終候補を候補リストから選択する。
【００３６】
図９を参照すると、キーボードなどのユーザ・インターフェースを介して日本語平仮名文字列を受け取る９０１。一実施形態では、ユーザ・インターフェースに、パーム・パイロットのタッチ・パッドまたは他の入力デバイスを含めることができる。もう１つの実施形態では、日本語平仮名文字列を、アプリケーション・プログラミング・インターフェース（ＡＰＩ）を介してアプリケーション・ソフトウェアから受け取ることができる。平仮名文字列を複数の部分列に分割する９０２。形態素解析エンジン（ＭＡＥ）によって、辞書管理モジュール（ＤＭＭ）と通信して、通常の辞書を介して、部分列のそれぞれを対応する日本語単語に変換する９０３。それと同時に、ＭＡＥは、仮想辞書を介して部分列に対応するすべての可能なカタカナ単語を作成する９０４ようにＤＭＭに指示する。次に、システムは、通常の辞書からの日本語単語と仮想辞書から生成された人為的な片仮名単語を含む可能なすべての単語から利用できる候補を構成し９０５、候補リストを形成する。仮想辞書からの片仮名単語の利用できる選択に品詞情報を含めることができる。このシステムは規則の組を使用して候補を構成する。一実施形態では、規則の組に、各片仮名文字セットの使用頻度と各選択間の接続関係を含む。もう１つの実施形態では、規則の組に、単語の意味論的規則または文法的規則を含む。この情報は、データベースに格納することができ、このデータベースにすべての可能なカタカナ文字セットが格納される。もう１つの実施形態では、これらの規則を別々のデータベースに格納することができる。次に、システムは、使用頻度と接続関係をデータベースから検索し９０６、意味論的規則または文法的規則を分析に適用する９０７。この情報に基づいて、システムはすべての候補のコスト値を計算する９０８。最小のコスト値を有する候補が最終ターゲット文字セットとして選択される９０９。最終ターゲット文字セットをディスプレイ・デバイス内のユーザ・インターフェースに表示する。
【００３７】
本発明のもう１つの実施形態では、ユーザが、仮名漢字変換エンジンによって供給される結果を検査して９１０、変換が正しいかどうかを検査する９１１。ユーザが結果に満足する場合には、変換が終了する。しかし、変換が正しくない場合には、ユーザは入力の一部（たとえば、最初の平仮名入力）を選択し９１２、システムにそれを明示的に変換するように指示する。システムは、人為的な片仮名単語を含む日本語単語のすべての可能な組合せを候補リストの形で供給する。ユーザはその候補リストを検索し９１３、ユーザ・インターフェースに表示する。一実施形態では、ユーザ・インターフェースが、ポップアップ・ウィンドウの形である。次に、ユーザは、候補リストに正しい変換が含まれるかどうかを検査することができる９１４。候補リストに正しい変換が含まれる場合には、ユーザは候補リストから最良の候補を選択する９１５。次に、システムによって、ユーザ選択に関するパラメータ（たとえば、使用頻度、接続関係など）のデータベース（たとえば知識ベース）が更新される９１６。次に、最終的な選択がアプリケーションに出力される９１７。一実施形態では、候補リストに正しい結果が含まれない場合に、ユーザは、ユーザ・インターフェースを介して手動で正しい結果を構成し９１８、作成する。人為的な変換がユーザによって作成されたならば、システムはその結果が将来の参照としてデータベースに保存する９１９。
【００３８】
前述で、本発明を、その特定の例示的実施形態に関して説明した。請求項に示された広義の趣旨および範囲から逸脱せずに、本発明に対するさまざまな修正を行えることは明白である。したがって、明細書および図面は、制限的な意味ではなく、例示的な意味のものと解釈されなければならない。
【図１Ａ】
2010165369.tif 000003
【図１Ｂ】
2010165369.tif 000004
【図２】
2010165369.tif 000005
【図３】
2010165369.tif 000006
【図４】
2010165369.tif 000007
【図５】
2010165369.tif 000008
【図６Ａ】
2010165369.tif 000009
【図６Ｂ】
2010165369.tif 000010
【図７】
2010165369.tif 000011
【図８】
2010165369.tif 000012
【図９Ａ】
2010165369.tif 000013
【図９Ｂ】
2010165369.tif 000014