以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、かな漢字変換装置110の内部構成の一例を概略的に示す。図1は、かな漢字変換装置110を、ネットワーク100、入力装置102および表示装置104とともに示す。かな漢字変換装置110は、文字列変換装置の一例であってよい。ネットワーク100としては、インターネット、専用回線、無線パケット通信網を例示できる。
入力装置102は、入力情報の入力に用いられる。ユーザは、入力装置102を介して、かな漢字変換装置110に入力情報を入力してよい。入力情報としては、かな漢字変換装置110の設定もしくは操作に関する指示、または変換対象となる文字列を例示することができる。入力装置102としては、キーボード、タッチパネルディスプレイ、マウス、トラックボール、ジョグタイヤル、または記憶媒体の読取装置を例示することができる。なお、入力情報は、ネットワーク100を介して、他のコンピュータからかな漢字変換装置110に入力されてもよい。
表示装置104は、かな漢字変換装置110の動作状態、かな漢字変換装置110が出力した変換候補、ユーザが入力装置102に入力した内容のエコーバックなどを表示する。表示装置104としては、液晶表示装置、有機ELディスプレイ、タッチパネルディスプレイまたはプリンタを例示できる。
かな漢字変換装置110は、入力情報取得部122と、指示受付部124と、文字列変換部130と、通信制御部162とを備えてよい。かな漢字変換装置110は、例えば、CPU、ROM、RAM、記憶装置、通信インターフェース等を備えた一般的な情報処理装置により実現できる。
かな漢字変換装置110は、入力装置102から、ユーザが入力した入力情報を受け取る。かな漢字変換装置110は、入力情報に、変換対象となる文字列が含まれている場合には、変換対象となる文字列の変換候補を生成する。かな漢字変換装置110は、生成した変換候補の一部を表示装置104に出力する。かな漢字変換装置110は、生成した変換候補の中から尤もらしい変換候補を抽出して、抽出した変換候補を表示装置104に出力してよい。
文字列は、1文字以上の文字を含む。ここで、文字とは、数字、ローマ字、アルファベット、平仮名、カタカナなどの自然言語だけでなく、引用符、括弧、絵文字、顔文字、アスキーアートなどのように、ユーザの意思、思想、感情などを表現するのに用いられる記号をも含む。
入力情報取得部122は、入力装置102から、入力情報を取得してよい。入力情報に変換対象となる文字列が含まれている場合、入力情報取得部122は、変換対象となる文字列を文字列変換部130に通知してよい。入力情報にかな漢字変換装置110の設定もしくは操作に関する指示が含まれている場合、入力情報取得部122は、当該指示を指示受付部124に通知してよい。入力情報取得部122は、CPUなどの演算処理装置であってもよい。
かな漢字変換装置110の設定に関する指示として、変換処理のONとOFFとの切替、変換処理モードの切替、使用する辞書またはデータベースの切替などを例示できる。かな漢字変換装置110の操作に関する指示として、変換処理の開始、文節の変更、文節を構成する文字列の変更、変換候補の選択、選択されている変換候補の変更、変換後の文字列の確定などを例示できる。入力情報取得部122は、ネットワーク100を介して、他のコンピュータから入力情報を取得してもよい。
変換モードとしては、ユーザが、(1)変換対象となる文字列の入力、(2)変換処理の開始または変換候補の選択、(3)文字列の確定という3つの操作により文字列を変換するモードを例示することができる。変換モードの他の例としては、ユーザが、(1)変換対象となる文字列の入力、(2)変換候補を選択することで文字列を確定するという2つの操作により文字列を変換するモードを例示することができる。
指示受付部124は、ユーザの指示を受け付ける。指示受付部124は、入力情報取得部122から、入力情報に含まれる指示を受け取ってよい。指示受付部124は、受け付けた指示を変換候補抽出部138および出力部152の少なくとも一方に通知してよい。指示受付部124は、CPUなどの演算処理装置であってもよい。
文字列変換部130は、入力情報取得部122から、変換対象となる文字列を受け取ってよい。文字列変換部130は、指示受付部124から、ユーザの指示を受け取ってよい。文字列変換部130は、変換対象となる文字列の変換候補を生成する。文字列変換部130は、生成した変換候補の一部を出力部152に通知する。文字列変換部130は、生成した変換候補の中から尤もらしい変換候補を抽出して、抽出した変換候補を出力部152に出力してよい。
文字列変換部130は、かな文字列生成部132と、変換候補生成部134と、変換確率算出部136と、変換候補抽出部138と、辞書格納部142と、履歴格納部144と、統計情報格納部146と、選択キー割当部150と、出力部152とを有してよい。文字列変換部130は、文字列変換装置の一例であってよい。
かな文字列生成部132は、入力情報取得部122から、変換対象となる文字列を受け取る。かな文字列生成部132は、変換対象となる文字列を平仮名またはカタカナに変換して、かな文字列を生成する。例えば、かな文字列生成部132は、「baidoludekennsakusuru」というローマ字文字列を受け取り、「ばいどぅでけんさくする」という平仮名文字列を生成する。かな文字列生成部132は、生成したかな文字列を変換候補生成部134に通知する。かな文字列生成部132は、変換対象となる文字列も変換候補生成部134に通知してよい。
変換候補生成部134は、かな文字列生成部132から、かな文字列を受け取ってよい。かな文字列は、変換候補生成部134に入力された文字列の一例であってよい。変換候補生成部134は、入力された文字列とは異なる文字列を含む1以上の変換候補を生成する。変換候補生成部134は、1以上の変換候補を変換確率算出部136に通知してよい。変換候補生成部134は、変換対象となる文字列およびかな文字列の少なくとも一方と、生成した変換候補とを、変換候補として変換確率算出部136に通知してもよい。
変換候補生成部134は、辞書格納部142に格納されたデータベースを利用して、受け取ったかな文字列から漢字かな混じり文字列を生成してよい。これにより、かな文字列とは異なる文字列を含む変換候補を生成できる。変換候補生成部134は、以下の手順により、変換候補を生成してよい。
まず、かな文字列を構成する文字の全ての組合せを生成する。例えば、「ばいどぅ」という平仮名文字列から、「ば」、「い」、「どぅ」、「ばい」、「いどぅ」、「ばいどぅ」という6つの平仮名文字列を生成する。次に、生成した平仮名文字列のそれぞれについて、辞書格納部142に格納されたデータベースから、当該平仮名文字列の読みに対応する漢字を抽出する。このとき、対応する漢字を全て抽出してもよいし、使用頻度などに基づいて予め定められた数より少ない数の漢字を抽出してもよい。例えば、抽出する漢字の数に上限を設けて、使用頻度が高いものから順に漢字を抽出してもよい。また、生成した平仮名文字列に対応するカタカナ文字列を生成してもよい。
次に、生成した平仮名文字列と、対応するカタカナ文字列と、抽出した漢字の全ての組合せを生成する。これにより、「ばいどぅ」というかな文字列から、「場いどぅ」、「葉いどぅ」、「ば位どぅ」、「ば医どぅ」、「場位どぅ」、「倍どぅ」、「バイドゥ」、「百度」などの変換候補を生成できる。
変換候補生成部134は、入力された文字列の文字数よりも文字数が多い変換候補を生成してよい。変換候補生成部134は、確率的言語モデルを用いて、入力された文字列の文字数よりも文字数が多い変換候補を生成してよい。例えば、変換候補生成部134が「くる」というかな文字列を受け取った場合、変換候補生成部134は、N−gram言語モデルを用いて、「くるま」、「くるーず」「くるとし」のように、入力された「くる」という文字列よりも文字数が多いかな文字列を生成してよい。N−gram言語モデルは、確率的言語モデルの一例であってよい。変換候補生成部134は、確率的言語モデルを用いて生成したかな文字列から漢字かな混じり文字列などを生成して、変換候補を生成してよい。
変換候補生成部134が、入力された文字列の文字数よりも文字数が多い変換候補を生成する他の方法としては、以下を例示することができる。まず、入力された文字列と、辞書格納部142および履歴格納部144の少なくとも一方に格納された文字列とを比較する。次に、入力された文字列に類似する文字列を変換候補として生成する。このとき、変換候補生成部134は、予め定められた数より少ない数の変換候補を生成してよい。変換候補生成部134は、類似度、使用頻度または変換頻度が大きい順に、予め定められた数より少ない数の変換候補を生成してもよい。2つの文字列の類似度は、テキストマイニングで用いられる手法により測定してよい。
変換確率算出部136は、変換候補生成部134から、1以上の変換候補を受け取ってよい。変換確率算出部136は、1以上の変換候補のそれぞれについて、変換候補生成部134に入力された文字列が、1以上の変換候補のそれぞれに変換される変換確率を算出してよい。変換確率算出部136は、1以上の変換候補のそれぞれの変換確率を、1以上の変換候補のそれぞれと対応づけて変換候補抽出部138に通知してよい。
変換確率算出部136は、以下の手順により、変換確率を算出してよい。まず、変換確率算出部136は、1以上の変換候補のそれぞれについて、1以上の変換候補のそれぞれを1以上の文字列に分割する。変換確率算出部136は、形態素解析により、1以上の変換候補のそれぞれを1以上の単語に分割してよい。例えば、「百度で検索する」という変換候補を、「百度」「で」「検索する」という3つの単語に分割する。
次に、変換確率算出部136は、文字列の出現に関する統計情報に基づいて、入力された文字列が1以上の変換候補のそれぞれに変換される変換確率を算出する。文字列の出現に関する統計情報は、N−gramデータであってよい。N−gramデータの言語単位は特に限定されないが、言語単位として単語を採用することが好ましい。N−gramデータは、単語または単語の組合せと、単語または単語の組合せの出現頻度または生起確率とを対応づけて格納してよい。これにより、文字列の文字数が大きい場合であっても、高速に変換確率を算出できる。また、N−gramデータの言語単位として品詞を採用してもよい。
変換確率算出部136は、1以上の変換候補のそれぞれについて、1以上の単語または1以上の単語の組合せと、N−gramデータに格納された単語または単語の組合せとを比較することで、1以上の単語または1以上の単語の組合せの出現頻度または生起確率を算出してよい。変換確率算出部136は、1以上の単語または1以上の単語の組合せの出現頻度または生起確率を用いて、入力された文字列が1以上の変換候補のそれぞれに変換される変換確率を算出できる。
例えば、N=1のN−gramデータから「百度」「で」「検索する」という3つの単語の生起確率をそれぞれ求めて、「ばいどぅでけんさくする」というかな文字列が「百度で検索する」という変換候補に変換される変換確率を算出してよい。なお、N=2のN−gramデータまたはN=3のN−gramデータを用いて、上記の変換確率を算出してもよい。
変換確率算出部136は、1以上の単語の少なくとも1つを異なる言語の対応する単語に変換してよい。例えば、変換確率算出部136は、辞書格納部142に格納されたデータベースを参照して、「検索する」という単語を「search」に変換してよい。変換確率算出部136は、自然言語の単語を、対応する絵文字、顔文字またはアスキーアートに変換してもよい。
変換確率算出部136は、全ての変換候補について、1以上の単語の少なくとも1つを異なる言語の対応する単語に変換してもよく、一部の変換候補について、1以上の単語の少なくとも1つを異なる言語の対応する単語に変換してもよい。例えば、上記の一部の変換候補としては、変換確率が予め定められた値より大きな変換候補、変換確率で順位付けした場合に予め定められた順位より上位の変換候補を例示できる。変換確率算出部136は、1以上の単語の少なくとも1つを異なる言語の対応する単語に変換した後の文字列について、変換確率を算出してもよい。
変換確率算出部136は、形態素解析により、1以上の変換候補のそれぞれを複数の文節に分割してよい。例えば、「百度で検索する」という変換候補を、「百度で」「検索する」という2つの文節に分割してよい。変換確率算出部136は、文節の区切りに関する情報を変換候補抽出部138に通知してよい。
変換確率算出部136は、選択キー割当部150から選択キーを割り当てる変換候補に関する情報を受け取ってよい。変換確率算出部136は、受け取った変換候補のそれぞれについて、次に入力される確率が低い1以上の文字または記号を算出して、選択キー割当部150に通知してよい。
変換候補抽出部138は、変換確率算出部136から、1以上の変換候補のそれぞれの変換確率を受け取ってよい。変換候補抽出部138は、変換確率算出部136から、1以上の変換候補のそれぞれについて、文節の区切りに関する情報を受け取ってよい。変換候補抽出部138は、指示受付部124から、ユーザの指示を受け付けてよい。
変換候補抽出部138は、変換確率に基づいて、変換候補生成部134が生成した1以上の変換候補の中から、少なくとも1つの変換候補を抽出してよい。変換候補抽出部138は、ユーザの指示に基づいて、抽出する変換候補の数を決定してよい。変換候補抽出部138は、抽出した変換候補を選択キー割当部150に通知してよい。変換候補抽出部138は、抽出した変換候補の文節の区切りに関する情報を選択キー割当部150に通知してよい。
変換候補抽出部138は、かな文字列生成部132が生成したかな文字列の先頭から予め定められた文字数の文字列を抽出して、辞書格納部142に格納されたデータベースに記憶されている単語の中から、先頭から予め定められた文字数の文字列が抽出した文字列と一致する単語を抽出してよい。当該方法によっても、変換候補生成部134は、入力された文字列の文字数よりも文字数が多い変換候補を生成することができる。
このとき、変換候補抽出部138は、辞書格納部142に格納されたデータベースまたは統計情報格納部146に格納されたN−gramデータを参照して、抽出した単語の中から、ユーザの使用頻度もしくは出現頻度が予め定められた値より大きな単語、または、ユーザの使用頻度もしくは出現頻度で順位付けした場合に予め定められた順位より上位の単語を抽出してもよい。変換候補抽出部138は、辞書格納部142に格納されたデータベースから抽出した変換候補を選択キー割当部150に通知してよい。
変換候補抽出部138は、入力された文字列と、辞書格納部142および履歴格納部144の少なくとも一方に格納された文字列とを比較して、入力された文字列に類似する文字列を変換候補として抽出してよい。変換候補生成部134は、予め定められた数より少ない数の変換候補を抽出してもよい。変換候補生成部134は、類似度、使用頻度または変換頻度が大きい順に、予め定められた数より少ない数の変換候補を抽出してもよい。2つの文字列の類似度は、テキストマイニングで用いられる手法により測定してよい。
変換候補抽出部138は、指示受付部124が複数の文節のうちの一の文節の変換に関する指示を受け付けると、変換確率および一の文節の変換に関する指示に基づいて、1以上の変換候補から少なくとも1つの変換候補を抽出してよい。例えば、「くるまではなさない」というかな文字列には、「車で話さない」、「来るまで放さない」という変換候補がある。両者とも、「くるまで」、「はなさない」という2つの文節に分割することができる。
ここで、指示受付部124が、「くるまで」という文節に関して「車で」という変換候補を選択する旨の指示を受け付けた場合、「車で」という文字列を含む変換候補の中から、変換候補抽出部138は、変換確率に基づいて少なくとも1つの変換候補を抽出してよい。その結果、「はなさない」という文節の変換候補として「話さない」という変換候補が表示されやすくなる。これにより、一の文節について変換後の文字列を確定すると、当該文字列に合わせて、他の文節の変換候補を自動的に変更することができる。その結果、変換精度を向上させることができる。
辞書格納部142は、一の文字列と他の文字列とを対応付けて格納する。辞書格納部142は、例えば、単語の読みと漢字とを対応づけて記憶するデータベース、単語の読みと絵文字もしくは顔文字とを対応付けて記憶するデータベース、一の言語の単語と他の言語の単語とを対応付けて記憶するデータベースを格納する。辞書格納部142は、ネットワーク100を介して、他のコンピュータに記憶されているコンテンツの中から単語を収集してよい。
履歴格納部144は、例えば、ユーザの入力履歴、ユーザの変換履歴を格納する。履歴格納部144は、ユーザの入力履歴およびユーザの変換履歴を解析して、ユーザが使用した単語、当該単語の使用頻度などを辞書格納部142に通知してよい。
統計情報格納部146は、確率的言語モデルで使用する統計情報を格納する。統計情報は、N−gramデータであってよい。統計情報格納部146は、ネットワーク100を介して、他のコンピュータに記憶されているコンテンツを分析して、統計情報を収集してよい。
選択キー割当部150は、変換候補抽出部138から、抽出された変換候補を受け取ってよい。選択キー割当部150は、抽出された変換候補の文節の区切りに関する情報を受け取ってよい。選択キー割当部150は、変換候補生成部134が生成した変換候補の少なくとも1つに対して、ユーザの操作を割り当ててよい。選択キー割当部150は、変換候補抽出部138が抽出した変換候補のそれぞれに対して、ユーザの操作を割り当ててよい。
変換候補に対してユーザの操作を割り当てる方法としては、入力装置102のキーまたはボタンを、当該変換候補に対応する選択キーとして割り当てることを例示することができる。入力装置102がタッチパネルである場合には、選択キーは、タッチパネル上のキーまたはボタンに対応する領域であってよい。変換候補に対してユーザの操作を割り当てる方法としては、ユーザの音声パターンを当該変換候補に対応する選択キーとして割り当てることを例示することができる。
選択キー割当部150は、変換候補生成部134が生成した変換候補の少なくとも1つに対して、選択キーを割り当ててよい。選択キー割当部150は、変換候補抽出部138が抽出した1以上の変換候補のそれぞれに対して、1以上の選択キーを割り当ててよい。選択キー割当部150は、1つの変換候補に対して、複数の選択キーを割り当ててよい。例えば、変換確率算出部136により算出された変換確率が最も大きな変換候補には、Spaceキーと、数字キーとを割り当ててよい。
表示画面に1度に表示する変換候補の数が予め定められている場合、選択キー割当部150は、以下の手順で選択キーを割り当ててよい。まず、変換候補抽出部138が予め定められた数の変換候補を抽出する。選択キー割当部150は、変換候補抽出部138が抽出した変換候補のそれぞれについて、選択キーを割り当てる。変換候補抽出部138は、指示受付部124を介して、変換候補をさらに表示させるための指示を受け取ると、予め定めらた数の新たな変換候補を抽出する。選択キー割当部150は、変換候補抽出部138が抽出した新たな変換候補のそれぞれについて、選択キーを割り当てる。これにより、少ない数の選択キーで、多くの変換候補に対応することができる。
選択キー割当部150は、選択キーを割り当てる変換候補を変換確率算出部136に通知してよい。変換確率算出部136は、通知された変換候補のそれぞれについて、次に入力される確率が低い1以上の文字または記号を算出して、選択キー割当部150に通知してよい。選択キー割当部150は、変換確率算出部136から受け取った文字または記号に基づいて、それぞれの選択候補に割り当てる選択キーを決定してよい。
かな漢字変換装置110は、入力装置102が例えばキーボードまたはタッチパネルである場合、予め定められたキーの入力を受け付けた状態で、選択キーとして割り当てたキーの入力を受け付けたときに、選択キーが入力されたと判断してよい。予め定められたキーは、Shiftキー、Controlキー(Ctrlキーと称する場合がある。)またはAltanativeキー(Altキーと称する場合がある。)であってよい。
かな漢字変換装置110は、入力装置102が例えばキーボードまたはタッチパネルである場合、予め定められたキーの入力を受け付けた状態で、選択キーとして割り当てたキーの入力を受け付けたときに、選択キーとして使用されるキーまたはボタンが本来の目的で入力されたと判断してよい。本来の目的とは、文字を入力する目的を例示することができる。予め定められたキーは、Shiftキー、ControlキーまたはAltanativeキーであってよい。
選択キー割当部150は、変換候補抽出部138により抽出された変換候補を、出力部152に通知してよい。選択キー割当部150は、抽出された変換候補の文節の区切りに関する情報を出力部152に通知してよい。選択キー割当部150は、抽出された変換候補と、それぞれの変換候補に割り当てられた選択キーとの対応関係に関する情報を出力部152に通知してよい。
出力部152は、選択キー割当部150から、抽出された変換候補を受け取ってよい。出力部152は、選択キー割当部150から、抽出された変換候補と、それぞれの変換候補に割り当てられた選択キーとの対応関係に関する情報を受け取ってよい。出力部152は、選択キー割当部150から、抽出された変換候補の文節の区切りに関する情報を受け取ってよい。出力部152は、選択キー割当部150から、辞書格納部142に格納されたデータベースから抽出された変換候補を受け取ってよい。出力部152は、指示受付部124から、ユーザの指示を受け取ってよい。
出力部152は、選択キー割当部150から受け取った情報および指示受付部124から受け取った情報に基づいて、ユーザに表示する表示画面を生成してよい。出力部152は、文字列が入力されるたびに、表示画面を生成してよい。出力部152は、変換対象となっている文節に含まれる文字が変更されるたびに、または、変換対象となっている文節が変更されるたびに、表示画面を生成してよい。出力部152は、生成した表示画面を表示装置104に出力してよい。
出力部152は、表示する変換候補の中にかな文字列が含まれるように、表示画面を生成してよい。出力部152は、抽出された変換候補が変換確率の大きな順に表示されるように、表示画面を生成してよい。出力部152は、抽出された変換候補の後に、辞書格納部142に格納されたデータベースから抽出された変換候補が表示されるように、表示画面を生成してよい。
出力部152は、抽出された変換候補と、当該変換候補に割り当てられた選択キーとを対応づけて出力してよい。出力部152は、変換対象となる文字列のかな文字列と、抽出された変換候補と、当該変換候補に割り当てられた選択キーとを対応づけて出力してよい。出力部152は、変換対象となる文字列のかな文字列と、抽出された変換候補と、当該変換候補に割り当てられた選択キーとを含む表示画面を生成して、表示装置104に出力してよい。
出力部152は、変換対象となる文字列が変更されるたびに、変換対象となる文字列のかな文字列と、抽出された変換候補と、当該変換候補に割り当てられた選択キーとを対応づけて出力してよい。出力部152は、文字列が入力されるたび、変換対象となっている文節に含まれる文字列が変更されるたび、または、変換対象となっている文節が変更されるたびに、上記の処理を実行してよい。これにより、文字列を入力するためのキー操作の後に、変換処理を開始させるためのキー操作が実行されない場合であっても、変換対象となる文字列が変更されるたびに、自動的に1以上の変換候補を表示することができる。
出力部152は、ユーザの指示に応じて、表示画面の形状、模様または色彩を変更してよい。例えば、表示画面上で、インターフェース部分の上にマウスポインタがある場合と、インターフェース部分の上にマウスポインタがない場合とで、インターフェース部分の形状、模様または色彩を動的に変更してよい。また、かな漢字変換装置110の設定もしくは操作に関する指示に応じて、表示画面中のインターフェース部分の形状、模様または色彩を変更してよい。出力部152は、インターフェース部分に、cifまたはflashで作成したアニメーションを適用してよい。
ユーザは、表示画面を見て、かな漢字変換装置110に対する操作を実行する。例えば、ユーザは、変換処理の開始、文節の変更、文節を構成する文字列の変更、変換候補の選択、選択されている変換候補の変更、または文字列の確定などの指示を、入力装置102に入力する。
出力部152は、指示受付部124から、変換候補のうちの1つを変換後の文字列として確定する旨の指示を受け取ると、当該文字列を変換結果として確定してよい。出力部152は、上記の文字列を確定された文字列として出力してよい。出力部152は、指示受付部124から、1以上の選択キーのいずれかが選択された旨の指示を受け取ると、選択された選択キーが割り当てられた変換候補を、確定された文字列として出力してよい。
ユーザがかな漢字変換装置110に文字列を入力する操作と、ユーザがかな漢字変換装置110に選択キーを入力する操作との間に、ユーザがかな漢字変換装置110に変換処理を開始させるための操作が実行されない場合、出力部152は、選択された選択キーが割り当てられた変換候補を、確定された文字列として出力してよい。これにより、ユーザの手間を省略することができ、効率よく文字列を変換することができる。
出力部152は、文字列を入力するためのキー操作に連続して1以上の選択キーのうちのいずれかを選択するためのキー操作が行われた場合に、選択された選択キーが割り当てられた変換候補を、確定された文字列として出力してよい。これにより、ユーザが文字列を入力するためのキー操作と、ユーザが1以上の選択キーのうちのいずれかを選択するためのキー操作との間に、ユーザにより変換処理を開始させるためのキー操作が実行されない場合であっても、文字列を変換することができる。
本実施形態において、出力部152が表示装置104に対して、変換候補、確定された文字列または表示画面を出力する場合について説明した。しかし、出力部152はこれに限定されない。出力部152は、変換候補、確定された文字列または表示画面をプログラム、ソフトウエア、アプリケーションまたはOSに出力してよい。プログラム、ソフトウエアまたはアプリケーションとしては、テキストエディタ、ワープロソフト、表計算ソフト、検索プログラム、データベースを例示することができる。
通信制御部162は、ネットワーク100を介して、他のコンピュータ、携帯端末などと通信するインターフェースであってよい。
図2は、辞書格納部142の内部構成の一例を概略的に示す。辞書格納部142は、辞書管理部210と、常用漢字データベース222と、非常用漢字データベース224と、専門用語データベース226と、人名データベース230と、地名データベース232と、英単語データベース234と、ユーザ用語データベース242と、自動収集単語データベース244とを有してよい。
辞書管理部210は、辞書格納部142に含まれるデータベースを管理する。辞書管理部210は、変換候補生成部134、変換確率算出部136および変換候補抽出部138と接続されて、情報をやり取りしてよい。辞書管理部210は、通信制御部162を介して、ネットワーク上の他のコンピュータと情報をやり取りしてよい。辞書管理部210は、履歴格納部144から、ユーザが使用した単語、当該単語の使用頻度などを受け取ってよい。
辞書管理部210は、ネットワーク100を介して他のコンピュータに記憶されているコンテンツの中から単語を収集してよい。辞書管理部210は、検索エンジンのログを利用して、辞書格納部142に含まれるデータベースに記憶されていない単語を収集してもよい。辞書管理部210は、収集した単語と、辞書格納部142に含まれるデータベースに記憶されている単語とを比較して、収集した単語が辞書格納部142に含まれるデータベースに記憶されていない場合に、当該単語を自動収集単語データベース244に記憶してよい。
辞書管理部210は、ユーザがかな漢字変換装置110を起動した場合に、前回の起動時から今回の起動時までの間に自動収集単語データベース244に記憶した単語を出力部152に通知してよい。これにより、新しく収集した単語をユーザに表示することができる。
辞書管理部210は、ネットワーク100を介して、他のコンピュータ上にある同一ユーザの辞書と、ユーザ用語データベース242とを比較してよい。辞書管理部210は、他のコンピュータ上の辞書の中に、ユーザ用語データベース242に記憶されていない単語を検出した場合には、当該単語をユーザ用語データベース242に記憶してよい。辞書管理部210は、ネットワーク100に接続された他のコンピュータに記憶されている辞書を利用して、変換候補生成部134、変換確率算出部136または変換候補抽出部138からの要求に適合する文字列を抽出してもよい。
常用漢字データベース222は、常用漢字を使用した単語の読みと漢字とを対応付けて記憶する。常用漢字データベース222は、更に、当該単語の読みと品詞とを対応づけて記憶してよい。非常用漢字データベース224は、非常用漢字を使用した単語の読みと漢字とを対応付けて記憶する。非常用漢字データベース224は、更に、当該単語の読みと品詞とを対応づけて記憶してよい。
専門用語データベース226は、専門用語の読みと当該専門用語の文字列とを対応付けて記憶する。人名データベース230は、人名の読みと当該人名の文字列とを対応付けて記憶する。地名データベース232は、地名の読みと当該地名の文字列とを対応付けて記憶する。英単語データベース234は、日本語の単語の読みと、当該日本語の単語に対応する英単語の文字列を対応付けて記憶する。
ユーザ用語データベース242は、ユーザが登録した文字列の読みと当該文字列とを対応づけて記憶する。ユーザ用語データベース242は、履歴格納部144から受け取った単語の読みと、当該単語の文字列と、当該単語の使用頻度とを対応付けて記憶してよい。ユーザ用語データベース242は、絵文字、顔文字、アスキーアートまたは図形の読みと当該絵文字、顔文字、アスキーアートまたは図形とを対応づけて記憶してよい。
自動収集単語データベース244は、辞書管理部210が、ネットワーク100を介して他のコンピュータに記憶されているコンテンツの中から収集した単語について、当該単語の読みと文字列とを対応付けて記憶する。自動収集単語データベース244は、更に、当該単語の読みと当該単語が含まれるコンテンツのURLとを対応付けて記憶してよい。
図3は、N=1の場合のN−gramデータ300の一例を概略的に示す。N−gramデータ300のデータテーブルにおいて、テーブルの列は、単語の読み302と、単語の読み302に対応する文字列304、品詞306および生起確率308とを含んでよい。
図4は、N=2の場合のN−gramデータ400の一例を概略的に示す。N−gramデータ400のデータテーブルにおいて、テーブルの列は、2つの単語の組合せの読み402と、単語の組合せの読み402に対応する文字列404および生起確率406とを含んでよい。
図5は、かな漢字変換装置110における処理の一例を概略的に示す。S502において、入力情報取得部122が、入力装置102から入力情報を取得する。入力情報取得部122は、入力情報に変換対象となる文字列が含まれている場合には、変換対象となる文字列を文字列変換部130に通知する。入力情報取得部122は、入力情報にかな漢字変換装置110の設定もしくは操作に関する指示が含まれている場合には、当該指示を指示受付部124に通知する。
S504において、かな文字列生成部132が、変換対象となる文字列をかな文字列に変換する。かな文字列生成部132は、かな文字列を変換候補生成部134に通知する。S506において、変換候補生成部134が、かな文字列を構成する文字の全ての組合せに対応する平仮名文字列を生成する。そして、生成した平仮名文字列の全てについて、当該平仮名文字列の読みに対応する漢字およびカタカナを抽出する。
S508において、変換候補生成部134が、生成した平仮名文字列と、対応する漢字およびカタカナとの全ての組合せを生成する。これにより、平仮名およびカタカナが混ざった文字列と、漢字かな混じり文字列とを生成することができる。変換候補生成部134は、かな文字列生成部132から受け取ったかな文字列と、S508において生成した平仮名およびカタカナが混ざった文字列ならびに漢字かな混じり文字列とを、変換候補として変換確率算出部136に通知する。
S510において、変換確率算出部136が、変換候補のそれぞれについて、形態素区切りを確定する。これにより、変換候補のそれぞれを1以上の文字または文字列に分割することができる。例えば、変換確率算出部136は、変換候補のそれぞれについて、品詞と文法とに基づいて、変換候補を単語に分割する。S512において、変換確率算出部136が、変換候補を分割して得られた文字または文字列の生起確率に基づいて、変換候補のそれぞれについて、変換確率を算出する。変換確率算出部136は、それぞれの変換候補の変換確率を変換候補抽出部138に通知する。
S514において、変換候補抽出部138が、それぞれの変換候補の変換確率に基づき、変換候補生成部134が生成した1以上の変換候補の中から、少なくとも1つの変換候補を抽出する。変換候補抽出部138は、1以上の変換候補を変換確率で順位付けして、予め定められた順位より上位の変換候補を抽出してよい。変換候補抽出部138は、抽出した変換候補を選択キー割当部150に通知する。
図6は、変換候補を生成する方法の一例を概略的に示す。図6は、「ばいどぅ」というかな文字列から、変換候補を生成する過程で生成されるパスの一例を示す。「ばいどぅ」は、「ば」、「い」、「どぅ」という3つの文字に分解することができる。この3つの文字の組合せとして、「ば」、「い」、「どぅ」、「ばい」、「いどぅ」、「ばいどぅ」という6つの平仮名文字列が得られる。6つの平仮名文字列は、グラフ理論におけるノードに相当する。
そこで、6つの平仮名文字列のそれぞれについて、対応するカタカナ文字列および漢字を抽出する。そして、生成した平仮名文字列と、対応するカタカナ文字列と、抽出した漢字の全ての組合せを生成する。この組合せは、グラフ理論におけるパスに相当する。図6に示すとおり、「ばいどぅ」というかな文字列から、パス1からパスkまでの変換候補が生成される。なお、パス1、パスi−1、パスj、パスk−2は、「ばいどぅ」というかな文字列と同じなので、変換候補から削除してもよい。
図7は、変換確率を算出する方法の一例を概略的に示す。図7は、「ばいどぅでけんさくする」というかな文字列について得られた複数の変換候補のそれぞれについて、形態素解析を実施した結果の一例を示す。図7に示すとおり、パス710、パス720、パス730およびパス740を含むパスが生成されている。例えば、パス710は「倍どぅで検索する」という文字列であり、形態素解析の結果、「倍」「どぅ」「で」「検索する」という4つの単語に分割されている。そこで、それぞれの単語の生起確率を掛け合わせることで、パス710の変換確率を算出することができる。生起確率を算出する前に形態素解析を実施することで、同じ文字であっても品詞が異なる場合に、品詞に応じた生起確率を用いることができる。これにより、変換確率を精度よく算出することができる。
図8は、検索装置810の内部構成の一例を概略的に示す。図8は、検索装置810を、ネットワーク100、ユーザ端末802およびコンテンツサーバ804とともに示す。検索装置810のユーザは、ユーザ端末802を用いて、ネットワーク100を介して検索装置810との間で情報をやりとりしてよい。ユーザは、ユーザ端末802に検索条件を入力することで、ネットワーク100に接続されたコンテンツサーバ804から、検索条件に適合するコンテンツを取得してよい。
ユーザ端末802は、ネットワーク100を介して検索装置810およびコンテンツサーバ804と通信できる装置であればよく、例えば、Webブラウザソフトが導入されたパーソナルコンピュータ、携帯端末または携帯電話により実現できる。コンテンツサーバ804は、コンテンツを格納する。コンテンツサーバ804は、ネットワーク100を介して検索装置810およびユーザ端末802と通信できる装置であればよく、例えば、サーバ用コンピュータにより実現できる。コンテンツサーバ804は、例えば、CPU、RAM、ROM、ハードディスクドライブ等を含んで構成される。
検索装置810は、文字列変換部130と、通信制御部162と、入力情報取得部822と、検索部830と、検索条件取得部832と、コンテンツ検索部834と、コンテンツ情報格納部836と、出力部838とを備えてよい。入力情報取得部822は、通信制御部162を介して、ネットワーク100に接続されたユーザ端末から入力情報を取得する点と、入力情報取得部122だけでなく指示受付部124の機能をも担う点とを除いて、入力情報取得部122と同様の構成を有してよい。
文字列変換部130は、ユーザが入力した文字列の変換候補をユーザに提示してよい。文字列変換部130は、ユーザが提示した変換候補のいずれかを選択した場合に、選択された変換候補を、検索条件として検索部830に通知してよい。別の例として、文字列変換部130は、変換候補抽出部138が抽出した変換候補を、検索条件として検索部830に通知してもよい。
文字列変換部130は、統計情報格納部146に格納されているN−gramデータを用いて、変換候補抽出部138が抽出した変換候補とともに出現する確率の高い単語を算出してよい。文字列変換部130は、算出した単語と、変換候補抽出部138が抽出した変換候補とを、検索条件として検索部830に通知してもよい。
検索部830は、文字列変換部130から検索条件を受け取ってよい。検索部830は、検索条件に適合するコンテンツを取得してよい。検索部830は、検索条件取得部832と、コンテンツ検索部834と、コンテンツ情報格納部836と、出力部838とを有してよい。
検索条件取得部832は、文字列変換部130から検索条件を取得してよい。検索条件取得部832は、文字列変換部130が出力した少なくとも1つの変換候補に基づいて、検索条件を取得してよい。検索条件取得部832は、文字列変換部130から受け取った少なくとも1つの変換候補から、複数の検索条件を取得してよい。検索条件取得部832は、検索条件をコンテンツ検索部834に通知してよい。検索条件取得部832は、文字列変換部130から受け取った少なくとも1つの変換候補から、当該変換候補に特徴的な単語を抽出して、コンテンツ検索部834に通知してもよい。
コンテンツ検索部834は、検索条件取得部832から検索条件を受け取ってよい。コンテンツ検索部834は、コンテンツ情報格納部836に情報が格納されている複数のコンテンツの中から、検索条件に適合するコンテンツを検索してよい。コンテンツ検索部834は、検索条件取得部832から、複数の変換候補のそれぞれを、それぞれ独立の検索条件として受け取った場合には、複数の検索条件のそれぞれについて、検索条件のそれぞれに適合するコンテンツを検索してよい。コンテンツ検索部834は、検索条件、検索条件に適合するコンテンツの数、適合するコンテンツの格納場所などの検索結果を出力部838に通知してよい。
コンテンツ情報格納部836は、コンテンツに含まれるキーワードと、当該コンテンツの格納場所とを対応付けて記憶してよい。コンテンツ情報格納部836は、さらに、当該コンテンツの概要、当該コンテンツのファイルサイズを記憶してよい。コンテンツ情報格納部836は、通信制御部162を介して、ネットワーク100に接続されたコンテンツサーバ804に保存されたコンテンツの情報を収集してよい。
出力部838は、コンテンツ検索部834から検索結果を受け取る。出力部838は、検索結果に基づき、ユーザに表示する表示画面を生成する。出力部838は、生成した表示画面を表示装置104に出力してよい。出力部838は、検索条件および検索結果に基づき、ユーザのニーズを推測してよい。出力部838は、推測したユーザのニーズに基づいて、表示画面を生成してよい。例えば、検索結果に画像データが多く含まれる場合には、画像データが直接表示された表示画面を生成してよい。
図9は、検索装置810における処理の一例を概略的に示す。S502からS514までの処理は、図5に関連して説明したかな漢字変換装置110における処理と同様であってよいので、説明を省略する。S502からS514において、文字列変換部130が、ユーザからの入力情報に含まれる変換対象となる文字列から、1以上の変換候補を抽出して、検索部830に通知する。
S916において、検索条件取得部832が、文字列変換部130から、1以上の変換候補を受け取る。検索条件取得部832は、受け取った変換候補に基づいて、検索条件を取得する。検索条件取得部832は、取得した検索条件をコンテンツ検索部834に通知する。コンテンツ検索部834は、検索条件に適合するコンテンツを検索して、出力部838に通知する。出力部838は、検索結果に基づいて表示画面を生成して、通信制御部162に出力する。通信制御部162は、ネットワーク100を介して、表示画面をユーザ端末802に送信する。
図10は、検索結果の表示画面1000の一例を概略的に示す。表示画面1000は、入力表示部1010と、検索開始ボタン1020と、変換候補表示部1030と、検索結果表示部1040とを含んでよい。入力表示部1010は、ユーザの入力した文字列、当該文字列に対応するかな文字列、変換結果などを表示してよい。検索開始ボタン1020がクリックされると、入力表示部1010に表示されている文字列に基づいて検索を開始する旨の指示が、検索装置810に通知されてよい。
変換候補表示部1030は、文字列変換部130が抽出した変換候補を表示してよい。変換候補表示部1030は、抽出された変換候補と、当該変換候補に割り当てられた選択キーとを対応づけて表示してよい。表示画面1000は、変換候補表示部1030に表示された変換候補の1つがユーザにより選択されると、選択された変換候補に基づいて検索を開始する旨の指示を、検索装置810に通知するように作成されてもよい。
検索結果表示部1040は、検索結果を表示してよい。本実施形態において、検索結果表示部1040は、検索条件取得部832が変換候補から取得した検索条件を表示する。検索結果表示部1040は、検索条件と対応付けて、当該検索条件の検索結果の一部を表示してもよい。表示画面1000は、検索結果表示部1040に表示された検索条件の1つがユーザにより選択されると、選択された検索条件の検索結果を表示する旨の指示を、検索装置810に通知するように作成されてよい。
図11は、検索結果の表示画面1100の一例を概略的に示す。本実施形態において、検索結果表示部1040は、選択された変換候補に基づいて検索した検索結果を表示する。表示画面1100は、検索結果表示部1040に表示された検索結果の1つがユーザにより選択されると、選択された検索結果に該当するコンテンツを表示する旨の指示を、検索装置810に通知するように作成されてよい。
図12は、かな漢字変換装置110における変換処理の一例を概略的に示す。図12は、ユーザが、(1)変換対象となる文字列の入力、(2)変換候補を選択することで文字列を確定するという2つの操作により文字列を変換するモードの一例であってよい。S1202において、ユーザが、変換対象となる文字列を入力装置102に入力する。入力情報取得部122は、変換対象となる文字列を取得する。
S1204において、変換候補生成部134が、1以上の変換候補を生成する。また、変換確率算出部136が、変換候補を複数の文節に分割する。S1206において、変換候補抽出部138が、変換候補生成部134が生成した1以上の変換候補の中から、少なくとも1つの変換候補を抽出する。
S1208において、選択キー割当部150が、変換候補抽出部138が抽出した変換候補のそれぞれに対して、1以上の選択キーを割り当てる。S1210において、出力部152が、変換対象となる文字列のかな文字列と、抽出された変換候補と、当該変換候補に割り当てられた選択キーとを含む表示画面を生成して、表示装置104に出力する。出力部152は、変換対象となる文字列が変更されるたびに、表示画面を生成して、表示装置104に出力する。
ユーザは、出力された表示画面を見て、表示された変換候補の中に、変換結果として好ましい変換候補が含まれている場合には、当該変換候補に割り当てられた選択キーを、入力装置102に入力する。表示された変換候補の中に、変換結果として好ましい変換候補が含まれていない場合には、ユーザは、かな漢字変換装置110に次の変換候補を表示させるための操作を実行してよい。変換対象となっている文字列が好ましくない場合には、ユーザは、変換対象となる文字列を変更するための操作を実行してよい。
ユーザが文字列を入力するためのキー操作に連続して1以上の選択キーのうちのいずれかを選択するためのキー操作を実行すると、S1212において、指示受付部124が選択キーの入力を受け付け、出力部152に通知する。S1214において、出力部152は、選択された選択キーが割り当てられた変換候補を確定された文字列として出力する。これにより、ユーザが文字列を入力するためのキー操作と、ユーザが1以上の選択キーのうちのいずれかを選択するためのキー操作との間に、ユーザにより変換処理を開始させるためのキー操作が実行されない場合であっても、文字列を変換することができる。
図13は、表示画面1300の一例を概略的に示す。図14は、表示画面1400の一例を概略的に示す。図13は、ユーザが、かな漢字変換装置110を用いてワープロソフトに「wata」と入力した場合における、表示装置104の表示画面の一例を示す。図14は、図13の状態で、ユーザがさらに「s」と入力した場合における、表示装置104の表示画面の一例を示す。図13および図14を用いて、かな漢字変換装置110における処理について説明する。
表示画面1300は、ワープロソフトの入力画面1310と、かな漢字変換装置110の入力画面1350とを含んでよい。入力画面1310には、入力位置を示すカーソル1312が表示されている。入力画面1350は、操作説明部1352と、変換対象1362を表示する入力表示部1360と、変換候補1372を表示する変換候補表示部1370とを有してよい。
操作説明部1352は、操作の説明を表示する。本実施形態においては、Enterキーを入力することで、入力表示部1360に表示されている文字列を変換することなく確定することが表示されている。Spaceキーを入力することで、変換候補表示部1370の先頭に表示されている変換候補を、確定した文字列として出力することが表示されている。数字キーを入力することで、当該数字キーが割り当てられた変換候補を、確定した文字列として出力することが表示されている。また、矢印キーを入力することで、現在選択されている変換候補を変更することが表示されている。
入力画面1350は、前候補表示ボタン1382と、次候補表示ボタン1384と、ページ表示部1386とを有してよい。前候補表示ボタン1382および次候補表示ボタン1384には、変換候補表示部1370に表示しきれない数の変換候補がある場合に、かな漢字変換装置110に対して、現在表示されていない変換候補を表示させるための操作またはプログラムが割り当てられる。ページ表示部1386は、現在表示している変換候補が含まれるページの番号を表示する。
例えば、ユーザが次候補表示ボタン1384をクリックすると、かな漢字変換装置110は、次の変換候補を変換候補表示部1370に表示させるための操作を実行する。ページ表示部1386は、現在のページ数を1ページ増加させる。ユーザが前候補表示ボタン1382をクリックすると、かな漢字変換装置110は、前の変換候補を変換候補表示部1370に表示させるための操作を実行する。ページ表示部1386は、現在のページ数を1ページ減少させる。
本実施形態において、数字キーおよびSpaceキーは、選択キーの一例であってよい。「wata」という文字列を入力するためのキー操作に連続して、例えば数字キーの「1」を選択するためのキー操作が行われると、数字キーの「1」が割り当てられた変換候補である「綿」という文字列が、変換結果として出力される。その結果、ワープロソフトの入力画面1310のカーソル1312が表示されている位置に、「綿」と表示される。また、入力表示部1360および変換候補表示部1370には空欄が表示される。
なお、図13に示すとおり、変換候補生成部134は、入力された文字列「wata」と、辞書格納部142および履歴格納部144の少なくとも一方に格納された文字列とを比較して、「wata」に類似する文字列として、「water」という変換候補を生成してよい。なお、変換候補抽出部138が入力された文字列と、辞書格納部142および履歴格納部144の少なくとも一方に格納された文字列とを比較して、「water」という変換候補を抽出してもよい。
図14に示すとおり、「wata」の後に「s」が入力されると、入力表示部1360に表示される変換対象1362が「わたs」に変更されるとともに、変換候補表示部1370に表示される変換候補1372も変更される。なお、図14に示すとおり、変換候補抽出部138は、辞書格納部142、履歴格納部144または統計情報格納部146を参照して、「私」および「渡す」という変換候補を抽出してよい。
図15は、表示画面1500の一例を概略的に示す。図16は、表示画面1600の一例を概略的に示す。図17は、表示画面1700の一例を概略的に示す。図15、図16および図17は、ユーザが、かな漢字変換装置110を用いてワープロソフトに「kurumadematsu」と入力した場合における、表示装置104の表示画面の一例を示す。図15、図16および図17を用いて、変換対象となる文字列に含まれる文字列を変更した場合における、かな漢字変換装置110の処理について説明する。
表示画面1500、表示画面1600および表示画面1700は、ワープロソフトの入力画面1510と、かな漢字変換装置110の入力画面1550とを含んでよい。入力画面1510には、入力位置を示すカーソル1512と、変換対象1562を含む文字列とが表示されている。入力画面1550は、操作説明部1552と、変換候補1572を表示する変換候補表示部1570とを含んでよい。入力画面1550は、前候補表示ボタン1582と、次候補表示ボタン1584と、ページ表示部1586とを有してよい。
入力画面1510は、文字列が確定されていない段階で、変換対象1562を含む文字列が表示されている以外は、入力画面1310と同様の構成を有してよい。入力画面1550は、入力表示部1360を有しない以外は、入力画面1350と同様の構成を有してよい。そこで、主に、入力画面1310または入力画面1350との相違点について説明して、同様の構成については説明を省略する場合がある。
図15に示すとおり、表示画面1500において、入力画面1510には変換対象1562として「くるまでまつ」という文字列が表示されている。カーソル1512は、「くるまでまつ」という文字列の後ろに表示されている。
表示画面1600は、図15において、カーソル1512を移動させて変換対象1562に含まれる文字列を変更した状態を示す。図16に示すとおり、表示画面1600において、「くるまでまつ」という文字列が「くるまで」と「まつ」という2つの文節に分割され、変換対象1562として「くるまで」という文字列が選択される。変換対象1562が変更されるとともに、変換候補表示部1570に表示される変換候補1572も変更される。
表示画面1700は、図16において、ユーザが、「kurumadematsu」という文字列を入力するためのキー操作に連続して、数字キーの「3」を選択するためのキー操作を実行した状態を示す。図17に示すとおり、入力画面1510には、確定された文字列として「久留間で」という文字列が表示され、変換対象1562として「まつ」という文字列が選択される。また、変換対象1562が変更されるとともに、変換候補表示部1570に表示される変換候補1572も変更される。
図18は、検索装置810における処理の一例を概略的に示す。S1802において、ユーザが、検索条件となる文字列の少なくとも一部を入力装置102に入力する。入力情報取得部822は、入力された文字列を変換対象となる文字列として取得する。S1804において、変換候補生成部134が、取得した文字列に基づいて、1以上の変換候補を生成する。また、変換確率算出部136が、変換候補を複数の文節に分割する。
S1806において、変換候補抽出部138が、変換候補生成部134が生成した1以上の変換候補の中から、少なくとも1つの変換候補を抽出する。S1808において、選択キー割当部150が、変換候補抽出部138が抽出した変換候補のそれぞれに対して、1以上の選択キーを割り当てる。
S1810において、文字列変換部130の出力部152が、抽出された変換候補と、当該変換候補に割り当てられた選択キーとを対応づけて、検索部830に対して出力する。検索部830の検索条件取得部832は、文字列変換部130から、1以上の変換候補を受け取る。検索条件取得部832は、受け取った変換候補に基づいて、検索条件を取得して、コンテンツ検索部834に通知する。コンテンツ検索部834は、検索条件に適合するコンテンツを検索して、出力部838に通知する。コンテンツ検索部834は、抽出された変換候補と、当該変換候補に割り当てられた選択キーとを出力部838に通知する。
S1812において、出力部838は、抽出した変換候補と、選択キーと、検索結果に関する情報とを対応づけて出力する。出力部838は、変換対象となる文字列のかな文字列と、抽出された変換候補と、当該変換候補に割り当てられた選択キーと、抽出された変換候補を検索条件とした場合の検索結果に関する情報とを含む表示画面を生成して、表示装置104に出力してよい。検索結果に関する情報としては、検索件数などの統計情報、検索結果に含まれる画像データを例示することができる。
ユーザは、出力された表示画面を見て、表示された変換候補の中に、検索条件として好ましい変換候補が含まれている場合には、当該変換候補に割り当てられた選択キーを、入力装置102に入力する。表示された変換候補の中に、変換結果として好ましい変換候補が含まれていない場合には、ユーザは、文字列変換部130に次の変換候補を表示させるための操作を実行してよい。変換対象となっている文字列が好ましくない場合には、ユーザは、変換対象となる文字列を変更するための操作を実行してよい。
ユーザが文字列を入力するためのキー操作に連続して1以上の選択キーのうちのいずれかを選択するためのキー操作を実行すると、S1814において、入力情報取得部822が選択キーの入力を受け付け、文字列変換部130に通知する。S1816において、文字列変換部130の出力部152は、選択された選択キーが割り当てられた変換候補を検索条件として、検索部830に出力する。検索部830は、受け取った検索条件に対応する検索結果を出力する。なお、入力情報取得部822は、選択キーの入力を検索部830に通知してもよい。
これにより、ユーザが文字列を入力するためのキー操作と、ユーザが1以上の選択キーのうちのいずれかを選択するためのキー操作との間に、ユーザにより変換処理を開始させるためのキー操作が実行されない場合であっても、検索処理を実行することができる。その結果、ユーザの手間を省略することができ、効率よく検索することができる。
以上の記載によれば、本願明細書には、入力された文字列とは異なる文字列を含む1以上の変換候補を生成する変換候補生成段階と、1以上の変換候補のそれぞれに対して1以上の選択キーをそれぞれ割り当てる選択キー割当段階と、文字列を入力するためのキー操作に連続して1以上の選択キーのうちのいずれかを選択するためのキー操作が行われた場合に、選択された選択キーが割り当てられた変換候補を確定された文字列として出力する出力段階とを備える、文字列変換方法が記載されている。
本願明細書には、入力された文字列とは異なる文字列を含む1以上の変換候補を生成する変換候補生成段階と、1以上の変換候補のそれぞれについて、1以上の変換候補のそれぞれを1以上の文字列に分割し、1以上の文字列の出現に関する統計情報に基づいて、入力された文字列が1以上の変換候補のそれぞれに変換される変換確率を算出する変換確率算出段階と、変換確率に基づいて、1以上の変換候補から少なくとも1つの変換候補を抽出する変換候補抽出段階とを備える、文字列変換方法が記載されている。
また、本願明細書には、入力された文字列とは異なる文字列を含む1以上の変換候補を生成する変換候補生成段階と、1以上の変換候補のそれぞれに対して1以上の選択キーをそれぞれ割り当てる選択キー割当段階と、入力された文字列または変換候補生成段階で生成された1以上の変換候補に基づいて、検索条件を取得する検索条件取得段階と、検索条件に適合するコンテンツを検索するコンテンツ検索段階と、文字列を入力するためのキー操作に連続して1以上の選択キーのうちのいずれかを選択するためのキー操作が行われた場合に、選択された選択キーが割り当てられた変換候補を確定された文字列として出力する出力段階とを備える、検索方法が記載されている。選択キー割当段階は、検索条件取得段階の前に実行されてもよく、検索条件取得段階の後に実行されてもよい。
また、本願明細書には、入力された文字列とは異なる文字列を含む1以上の変換候補を生成する変換候補生成段階と、1以上の変換候補のそれぞれについて、1以上の変換候補のそれぞれを1以上の文字列に分割し、1以上の文字列の出現に関する統計情報に基づいて、入力された文字列が1以上の変換候補のそれぞれに変換される変換確率を算出する変換確率算出段階と、変換確率に基づいて、1以上の変換候補から少なくとも1つの変換候補を抽出する変換候補抽出段階と、入力された文字列または変換候補抽出段階で抽出された少なくとも1つの変換候補に基づいて、検索条件を取得する検索条件取得段階と、検索条件に適合するコンテンツを検索するコンテンツ検索段階とを備える、検索方法が記載されている。
本実施形態においては、かな漢字変換装置110、文字列変換部130および検索装置810を例として、それぞれに含まれる構成の機能について説明した。しかし、かな漢字変換装置110、文字列変換部130および検索装置810において、各構成の機能は厳密に区別されるものではなく、かな漢字変換装置110、文字列変換部130および検索装置810の構成は、これに限定されない。例えば、文字列変換部130において、変換候補生成部134が変換確率算出部136の機能の一部を担ってもよく、変換確率算出部136が変換候補生成部134の機能の一部を担ってもよい。
本実施形態においては、プログラムが実行されることにより、コンピュータがかな漢字変換装置110、文字列変換部130または検索装置810として機能する場合について説明した。しかし、かな漢字変換装置110、文字列変換部130または検索装置810は、これに限定されない。
かな漢字変換装置110、文字列変換部130または検索装置810は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよい。かな漢字変換装置110、文字列変換部130または検索装置810は、それぞれの用途に特化したシステムであってもよく、パーソナルコンピュータ等の汎用の情報処理装置であってもよい。
例えば、CPU、ROM、RAM、通信インターフェース等を有するデータ処理装置と、入力装置と、出力装置と、記憶装置とを備えた一般的な構成の情報処理装置において、かな漢字変換装置110、文字列変換部130または検索装置810の各部の動作を規定したソフトウエアを起動することにより、かな漢字変換装置110、文字列変換部130または検索装置810を実現できる。上記特化したシステムおよび上記情報処理装置は、単一のコンピュータにより構成されてもよく、ネットワーク上に分散した複数のコンピュータにより構成されてもよい。
図19は、かな漢字変換装置110、文字列変換部130または検索装置810を実現するコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、予め定められた条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
コンピュータ1900にインストールされ、コンピュータ1900をかな漢字変換装置110、文字列変換部130または検索装置810として機能させるプログラムは、かな漢字変換装置110、文字列変換部130または検索装置810の各部の動作を規定したモジュールを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、かな漢字変換装置110、文字列変換部130または検索装置810の各部としてそれぞれ機能させる。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のかな漢字変換装置110、文字列変換部130または検索装置810を構築できる。
以上のとおり、本願明細書には、コンピュータを、入力された文字列とは異なる文字列を含む1以上の変換候補を生成する変換候補生成部、1以上の変換候補のそれぞれに対して1以上の選択キーをそれぞれ割り当てる選択キー割当部、文字列を入力するためのキー操作に連続して1以上の選択キーのうちのいずれかを選択するためのキー操作が行われた場合に、選択された選択キーが割り当てられた変換候補を確定された文字列として出力する出力部、として機能させる文字列変換プログラムが記載されている。
本願明細書には、コンピュータを、入力された文字列とは異なる文字列を含む1以上の変換候補を生成する変換候補生成部、1以上の変換候補のそれぞれに対して1以上の選択キーをそれぞれ割り当てる選択キー割当部、入力された文字列または変換候補生成部が生成した1以上の変換候補に基づいて、検索条件を取得する検索条件取得部、検索条件に適合するコンテンツを検索するコンテンツ検索部、文字列を入力するためのキー操作に連続して1以上の選択キーのうちのいずれかを選択するためのキー操作が行われた場合に、選択された選択キーが割り当てられた変換候補を確定された文字列として出力する出力部、として機能させる、検索プログラムが記載されている。
本願明細書には、コンピュータを、入力された文字列とは異なる文字列を含む1以上の変換候補を生成する変換候補生成部、1以上の変換候補のそれぞれについて、1以上の変換候補のそれぞれを1以上の文字列に分割し、1以上の文字列の出現に関する統計情報に基づいて、入力された文字列が1以上の変換候補のそれぞれに変換される変換確率を算出する変換確率算出部、変換確率に基づいて、1以上の変換候補から少なくとも1つの変換候補を抽出する変換候補抽出部として機能させる、文字列変換プログラムが記載されている。
本願明細書には、コンピュータを、入力された文字列とは異なる文字列を含む1以上の変換候補を生成する変換候補生成部、1以上の変換候補のそれぞれについて、1以上の変換候補のそれぞれを1以上の文字列に分割し、1以上の文字列の出現に関する統計情報に基づいて、入力された文字列が1以上の変換候補のそれぞれに変換される変換確率を算出する変換確率算出部、変換確率に基づいて、1以上の変換候補から少なくとも1つの変換候補を抽出する変換候補抽出部、入力された文字列または変換候補抽出部が抽出した少なくとも1つの変換候補に基づいて、検索条件を取得する検索条件取得部、検索条件に適合するコンテンツを検索するコンテンツ検索部として機能させる、検索プログラムが記載されている。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。