(57)【要約】【課題】利便性の向上を図ることができる文字入力装置、文字入力方法、及び文字入力プログラムを提供する。【解決手段】実施形態に係る文字入力装置は、第１取得部、決定部、第１生成部、及び出力部を備える。第１取得部は、ユーザからの文字入力を受け付けて、入力文字列を取得する。決定部は、入力文字列から、ユーザの意図する単語表記と単語表記間の接続関係とを推測し、ユーザの意図する表記候補として可能性の高い接続関係を表す経路を決定する。第１生成部は、経路に含まれる単語表記群から、出力する単語表記を抽出し、抽出した単語表記を、表記候補として出力するためのレイアウト情報を生成する。出力部は、レイアウト情報を出力する。【選択図】図１
2015022590.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの文字入力を受け付けて、入力文字列を取得する第１取得部と、
前記入力文字列から、前記ユーザの意図する単語表記と単語表記間の接続関係とを推測し、前記ユーザの意図する表記候補として可能性の高い前記接続関係を表す経路を決定する決定部と、
前記経路に含まれる単語表記群から、出力する前記単語表記を抽出し、抽出した単語表記を、前記表記候補として出力するためのレイアウト情報を生成する第１生成部と、
前記レイアウト情報を出力する出力部と、
を備える文字入力装置。
【請求項２】
前記入力文字列に含まれる部分文字列に対する異表記を取得する第２取得部と、
取得した前記異表記を、前記表記候補の前記単語表記として保持する単語表記情報を生成する第２生成部と、をさらに備え、
前記決定部は、
前記単語表記情報が保持する前記単語表記を、前記入力文字列の読みから推測される組み合わせに従って接続し、接続してできる１つの単語表記列を、前記経路の１つとし、前記ユーザの意図する表記候補として可能性の高い順に、前記経路を複数決定する、
請求項１に記載の文字入力装置。
【請求項３】
前記第１生成部は、
複数の前記経路に含まれる単語表記群の中から、前記表記候補として非出力とする前記単語表記を特定し、特定した前記単語表記を削除することで、前記表記候補として出力する前記単語表記を抽出する、
請求項１に記載の文字入力装置。
【請求項４】
前記第１生成部は、
前記単語表記の品詞が所定の種別品詞か否かを判定し、判定結果から、前記品詞が所定の種別品詞である場合、該当する前記単語表記を、前記表記候補として非出力とする前記単語表記として特定する、
請求項３に記載の文字入力装置。
【請求項５】
前記単語表記の意味情報を取得する第３取得部を、さらに備え、
前記第１生成部は、
前記意味情報に基づき、単語表記間の意味の近さを表す距離を計算し、計算結果から、意味が同じ前記単語表記、又は、意味の近い前記単語表記が存在する場合、該当した前記単語表記のうち、前記ユーザの意図する表記候補として可能性の低い前記経路に含まれる前記単語表記を、前記表記候補として非出力とする前記単語表記として特定する、
請求項３に記載の文字入力装置。
【請求項６】
前記第１生成部は、
前記ユーザの意図する表記候補として可能性の最も高い第１位の経路の前記単語表記列と、抽出した前記単語表記とを、出力するための前記レイアウト情報を生成する、
請求項２に記載の文字入力装置。
【請求項７】
前記第１生成部は、
前記第１位の経路の前記単語表記列と、前記第１位の経路に対して相対的に可能性の低い第２位以下の経路から抽出した前記単語表記とを、出力するための前記レイアウト情報を生成する、
請求項６に記載の文字入力装置。
【請求項８】
前記第１生成部は、
前記第１位の経路の前記単語表記列に隣接する位置に、前記第２位以下の経路から抽出した前記単語表記を出力するための前記レイアウト情報を生成する、
請求項７に記載の文字入力装置。
【請求項９】
前記第１生成部は、
前記第１位の経路の前記単語表記列の間に、前記第２位以下の経路から抽出した前記単語表記を出力するための前記レイアウト情報を生成する、
請求項７に記載の文字入力装置。
【請求項１０】
前記第１生成部は、
前記第１位の経路の前記単語表記列と、前記第２位以下の経路から抽出した前記単語表記とを、異なる表示態様で出力するための前記レイアウト情報を生成する、
請求項７に記載の文字入力装置。
【請求項１１】
前記表記候補を出力する環境のレイアウト制約を取得する第４取得部を、さらに備え、
前記第１生成部は、
前記レイアウト制約を満たす出力形式に従って、前記レイアウト情報を生成する、
請求項１に記載の文字入力装置。
【請求項１２】
文字入力を打ち切る指示を受け付ける受付部と、
受け付けた指示に従って、前記文字入力を打ち切ったことを表す終端記号を、前記入力文字列に挿入する挿入部と、
前記入力文字列に含まれる部分文字列に対して前方一致する異表記を取得する第５取得部と、をさらに備え、
前記第２生成部は、
前記入力文字列に含まれる部分文字列に前記終端記号が含まれているか否かを判定し、判定結果から、前記部分文字列に前記終端記号が含まれている場合、前記第５取得部により、前記部分文字列に対して前方一致する前記異表記を取得する、
請求項１に記載の文字入力装置。
【請求項１３】
ユーザからの文字入力を受け付けて、入力文字列を取得する工程と、
前記入力文字列から、前記ユーザの意図する単語表記と単語表記間の接続関係とを推測し、前記ユーザの意図する表記候補として可能性の高い前記接続関係を表す経路を決定する工程と、
前記経路に含まれる単語表記群から、出力する前記単語表記を抽出し、抽出した単語表記を、前記表記候補として出力するためのレイアウト情報を生成する工程と、
前記レイアウト情報を出力する工程と、
を含む文字入力方法。
【請求項１４】
コンピュータを、
ユーザからの文字入力を受け付けて、入力文字列を取得する手段と、
前記入力文字列から、前記ユーザの意図する単語表記と単語表記間の接続関係とを推測し、前記ユーザの意図する表記候補として可能性の高い前記接続関係を表す経路を決定する手段と、
前記経路に含まれる単語表記群から、出力する前記単語表記を抽出し、抽出した単語表記を、前記表記候補として出力するためのレイアウト情報を生成する手段と、
前記レイアウト情報を出力する手段と、
して機能させる文字入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、文字入力装置、文字入力方法、及び文字入力プログラムに関する。
【背景技術】
【０００２】
コンピュータシステムの文字入力では、入力文字列の読みに対して変換操作を行うと、その読みに相当すると考えられる表記候補群が推測結果として提示される。そこで、従来から、変換操作のわずらわしさを軽減する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許３９４９２４５号
【特許文献２】特開２００６−１４６００８号公報
【特許文献３】特開２０１０−５５５０５号公報
【非特許文献１】「日本語入力を支える技術」、徳永  拓之、技術評論社、２０１２年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術は、正確な文字入力を行うために、常に入力結果が表示される画面を注視する必要があった。そのため、従来の技術は、ユーザにとって利便性のよいものではない。
【課題を解決するための手段】
【０００５】
実施形態に係る文字入力装置は、第１取得部、決定部、第１生成部、及び出力部を備える。第１取得部は、ユーザからの文字入力を受け付けて、入力文字列を取得する。決定部は、入力文字列から、ユーザの意図する単語表記と単語表記間の接続関係とを推測し、ユーザの意図する表記候補として可能性の高い接続関係を表す経路を決定する。第１生成部は、経路に含まれる単語表記群から、出力する単語表記を抽出し、抽出した単語表記を、表記候補として出力するためのレイアウト情報を生成する。出力部は、レイアウト情報を出力する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る文字入力装置の機能構成例を示す図。
【図２】第１の実施形態に係る入力文字列の例を示す図。
【図３】第１の実施形態に係る単語表記リストの例を示す図。
【図４】第１の実施形態に係る有向非循環グラフの例を示す図。
【図５】第１の実施形態に係るＮベスト経路の例を示す図。
【図６】第１の実施形態に係る文字入力時の処理例を示すフローチャート。
【図７】第１の実施形態に係る単語抽出時の処理例を示すフローチャート。
【図８】第１の実施形態に係る単語抽出結果の例を示す図。
【図９】第１の実施形態に係るレイアウト情報の出力例を示す図。
【図１０】第２の実施形態に係る文字入力装置の機能構成例を示す図。
【図１１】第２の実施形態に係る文字入力時の処理例を示すフローチャート。
【図１２】第３の実施形態に係るキーパッドの一例を示す図。
【図１３】第３の実施形態に係る単語表記リストの例を示す図。
【図１４】第３の実施形態に係る有向非循環グラフの例を示す図。
【図１５】第３の実施形態に係るＮベスト経路の例を示す図。
【図１６】第３の実施形態に係るレイアウト情報の出力例を示す図。
【図１７】実施形態に係る文字入力装置の構成例を示す図。
【発明を実施するための形態】
【０００７】
以下に、添付図面を参照して、文字入力装置、文字入力方法、及び文字入力プログラムの実施形態を詳細に説明する。
【０００８】
［第１の実施形態］
＜概要＞
本実施形態に係る文字入力装置が有する機能（以下「文字入力機能」という）について説明する。本実施形態に係る文字入力装置は、ユーザからの文字入力を受け付けて、入力文字列を取得する。本実施形態に係る文字入力装置は、取得した入力文字列から、ユーザの意図する単語表記と単語表記間の接続関係（組み合わせ）とを推測し、ユーザの意図する表記候補（変換候補）として可能性の高い（確率の高い）単語表記の接続経路を複数決定する。本実施形態に係る文字入力装置は、決定した複数の経路に含まれる単語表記群から、出力する単語表記を抽出する。本実施形態に係る文字入力装置は、ユーザの意図する表記候補として可能性の最も高い組み合わせ経路の単語表記列と、抽出した単語表記とを、表記候補として出力するためのレイアウト情報を生成する。本実施形態に係る文字入力装置は、生成したレイアウト情報を出力する。本実施形態に係る文字入力装置は、このような機能を有している。
【０００９】
コンピュータシステムの文字入力では、入力文字列の読みに対して変換操作を行うと、その読みに相当すると考えられる表記候補群が推測結果として提示される。ユーザは、表示された表記候補群を精読して意図する表記を探し、選択することで入力が確定する。具体的には、例えば日本語の場合、ユーザは、まず、仮名入力やローマ字入力により、ひらがなやカタカナなどの日本語読みに相当する文字列（変換前の文字列）を入力する。その後、ユーザは、所定のキー操作により、入力した日本語読みに対して変換を指示する。その結果、画面には、入力した日本語読みに相当すると考えられる日本語表記が、表記候補群として表示される。これを受けてユーザは、表示された表記候補群の中から、入力した日本語読みに対して意図する日本語表記を探し、該当する日本語表記を画面上で選択する。これにより、日本語の文字入力が確定する。
【００１０】
このような文字入力の操作は、例えば中国語などの多くの文字を有する言語について共通する。また、近年では、表記候補群を推測結果として提示する技術は、例えば携帯電話などの高速入力が困難な環境において、曖昧な入力（省略した入力）から、推測した表記候補を提示し、最終的な入力結果を確定させるといった用途にも応用されている。
【００１１】
このような場面で提示される表記候補は、実用上、文節又は単語ごとに区切られたうえで提示されることが一般的である。しかし、読みに対して提示される文節又は単語区切りや表記候補は、あくまでも入力文字列からの推測結果であり、ユーザの意図とは異なる（推測に誤りがある）可能性がある。例えばユーザが「裏庭には鶏がいる」を意味する日本語表記に変換することを意図して、「うらにわにはにわとりがいる」という日本語読みを入力したとする。この場合、推測精度によっては、表記候補として「裏庭に埴輪取りがいる」が提示される可能性がある。そのため、ユーザは、正確な文字入力の結果を得るために、再度、変換操作をしなおさなければならず、その操作は、ユーザにとってわずらわしいものである。例えば表記候補として「裏庭に埴輪取りがいる」が提示された場合には、変換後の日本語表記「埴輪」に対応する変換前の日本語読み「はにわ」を、「は」と「にわ」で区切りなおし、再変換後の表記候補群から、正しい日本語表記を選択しなければならない。そこで、従来では、このような操作や表記候補群を精読する量を減らすなどの方法で、変換操作のわずらわしさを軽減する技術が提案されている。
【００１２】
しかし、従来の技術では、変換の指示、意図した表記の選択、文節又は単語区切りの修正などの操作が不可欠であり、正確な文字入力を行うために、常に入力結果が表示される画面を注視する必要があった。そのため、例えば会議や講演などの聴講中に（人の話を聞きながら）、意図した表記でメモをとるといった文字入力を行う場合には、会議や講演の内容に集中できない。つまり、このような場面では、変換の指示、意図した表記の選択、文節又は単語区切りの修正などの操作を一切行わず、文字入力を継続できることが望まれる。そのためには、文字変換技術に基づきながら、入力文字列から自動的に高確率で意図した表記を提示する必要がある。しかし、従来の技術では、このような提示環境を提供することが困難であった。このように、従来の技術は、ユーザにとって利便性のよいものではなかった。
【００１３】
そこで、本実施形態に係る文字入力装置は、入力文字列から、ユーザの意図する単語表記と単語表記間の接続関係とを推測し、ユーザの意図する表記候補として可能性の高い接続経路を複数決定する。本実施形態に係る文字入力装置は、決定した複数の接続経路に含まれる単語表記群から、表示する単語表記を抽出する。これにより、本実施形態に係る文字入力装置は、ユーザの意図する表記候補として可能性の高い接続経路の単語表記列と、抽出した単語表記とを、ユーザに提示する仕組みとした。
【００１４】
その結果、本実施形態に係る文字入力装置は、ユーザが、変換の指示、意図した表記の選択、文節又は単語区切りの修正などの操作を一切行わなくても、入力文字列から自動的に高確率で意図した表記を提示することができる。これにより、本実施形態に係る文字入力装置は、ユーザが、例えば聴講中などのような画面を注視することが困難な環境であっても、最低限の注意力で文字入力を効率的に継続可能なサービスを実現できる。つまり、本実施形態に係る文字入力装置は、利便性の向上を図ることができる。
【００１５】
以下に、本実施形態に係る文字入力装置が有する機能の構成とその動作について説明する。なお、本実施形態では、文字入力装置に一般的な情報処理装置を想定し、キーボードを用いて日本語入力を行う利用場面を例に説明を行う。また、以下の説明では、変換前の日本語読みに相当する文字又は文字列を、読み「・」と表し、変換後の日本語表記に相当する文字又は文字列を、表記「・」と表す。
【００１６】
《機能構成》
図１は、本実施形態に係る文字入力装置１００の機能構成例を示す図である。図１に示すように、本実施形態に係る文字入力装置１００は、入力文字列取得部（第１取得部）１１、単語表記リスト生成部（第２生成部）１２、異表記取得部（第２取得部）１３、及びＮベスト経路決定部１４を有する。また、本実施形態に係る文字入力装置１００は、レイアウト情報生成部（第１生成部）１５、意味情報取得部（第３取得部）１６、レイアウト制約取得部（第４取得部）１７、レイアウト情報出力部１８などを有する。
【００１７】
本実施形態に係る入力文字列取得部１１は、ユーザが入力した文字列を入力文字列として取得する。本実施形態では、例えばキーボードを用いて入力した変換前の文字列を入力文字列として取得する。
【００１８】
図２は、本実施形態に係る入力文字列ＣＳの例を示す図である。図２には、読み「うらにわにはにわとりがいる」が入力された場合に取得される文字数１３の入力文字列ＣＳの例が示されている。
【００１９】
本実施形態に係る単語表記リスト生成部１２は、入力文字列ＣＳの読みとなり得るすべての組み合わせの単語を、表記候補の単語表記として保持する単語表記リスト（単語表記情報）を生成する。単語表記リスト生成部１２は、入力文字列ＣＳのすべての部分文字列を数える。単語表記リスト生成部１２は、部分文字列に対する異なる表記（以下「異表記」という）すべてを取得する。単語表記リスト生成部１２は、取得した表記が、入力文字列内のどの部分文字列に該当するのかを表すための情報と、取得した表記とが対応付けられた単語表記リストを生成する。取得した表記が、入力文字列内のどの部分文字列に該当するのかを表すための情報は、入力文字列内において、表記が該当する部分文字列の出現位置を表す数値である。具体的には、該当する部分文字列の先端文字の位置（以下「開始位置」という）と終端文字の位置（以下「終了位置」という）とを表す数値である。つまり、取得した表記が、入力文字列内の何文字目から何文字目に該当するのかを表す数値（入力文字列内における表記の文字範囲を表す数値）に相当する。なお、部分文字列の長さには、例えば１６文字などの制限を設けるのが一般的である。
【００２０】
図３は、本実施形態に係る単語表記リストＷＬの例を示す図である。図３には、読み「うらにわにはにわとりがいる」が入力文字列ＣＳの場合に生成された単語表記リストＷＬの例が示されている。このとき単語表記リスト生成部１２は、読み「う」，読み「うら」，読み「うらに」，読み「うらにわ」，・・・，読み「ら」，読み「らに」，読み「らにわ」，・・・，読み「に」，読み「には」，読み「にはに」，・・・のような部分文字列を数える。これに対して単語表記リスト生成部１２は、読み「う」が部分文字列の場合、表記「得」，表記「宇」，・・・などの異なる表記を取得する。また、読み「うら」が部分文字列の場合、表記「裏」，表記「浦」，・・・などの異なる表記を取得する。このとき取得した表記「宇」は、入力文字列内の１文字目の部分文字列に該当する。よって、取得した表記「宇」が、入力文字列内のどの部分文字列に該当するのかを表すための情報は、該当する部分文字列の開始位置と終了位置とを表す数値［１］となる。また、取得した表記「裏」は、入力文字列内の１文字目から２文字目の部分文字列に該当する。よって、取得した表記「裏」が、入力文字列内のどの部分文字列に該当するのかを表すための情報は、該当する部分文字列の開始位置を表す数値［１］と終了位置を表す数値［２］となる。このようなことから、単語表記リスト生成部１２は、図３に示すように、表記「宇」に、開始位置［１］と終了位置［１］とが対応付けられた単語表記リストＷＬａを生成する。また、単語表記リスト生成部１２は、表記「裏」に、開始位置［１］と終了位置［２］とが対応付けられた単語表記リストＷＬｂを生成する。
【００２１】
本実施形態に係る異表記取得部１３は、部分文字列に対する異表記を取得する。異表記取得部１３は、単語表記リスト生成部１２から指定された部分文字列の異表記すべてを取得する。このとき異表記取得部１３は、例えば読みに対して想定される異表記群が予め登録されているＤＢ（Data  Base）にアクセスし、部分文字列の読みをキーにＤＢ検索を行い、検索結果として、該当した登録異表記を取得する。異表記取得部１３は、このようにして取得した異表記を単語表記リスト生成部１２に渡す。これにより、単語表記リスト生成部１２は、部分文字列に対する異表記すべてを取得できる。
【００２２】
本実施形態に係るＮベスト経路決定部１４は、ユーザの意図する表記候補として可能性の高い（確率の高い）Ｎ件（複数）の接続経路（以下「経路」という）を、Ｎベスト経路として決定する。Ｎベスト経路決定部１４は、入力文字列ＣＳに対してユーザの意図する単語表記と単語表記間の接続関係（組み合わせ）との推測結果から経路を決定する。決定される１つの経路は、単語表記列と、入力文字列内における各単語表記の位置を示す数値とで表される。
【００２３】
また、Ｎベスト経路決定部１４は、単語表記リスト生成部１２が生成した単語表記リストＷＬを有向非循環グラフ（閉路を持たない有向グラフ；ＤＡＧ：Directed  Acyclic  Graph）構造として扱う。そこで、Ｎベスト経路決定部１４は、単語表記リストＷＬを有向非循環グラフ構造として扱う（グラフ化する）ために、次のような操作を行う。
【００２４】
例えばｋ文字目までの単語の次に来ることができる単語表記は、ｋ＋１文字目から開始する単語表記である。また、単語表記リストＷＬは、各単語表記が、入力文字列内の何文字目から何文字目までに該当するのかを表す数値を含んでいるため、文字の境界ごとに、すべての単語表記間の組み合わせを数えることができる。
【００２５】
このことから、例えば読み「うらにわにはにわとりがいる」の３文字目と４文字目の境界に対しては、読み「に」と読み「わ」，読み「らに」と読み「わ」，読み「うらに」と読み「わ」，読み「に」と読み「わに」，読み「に」と読み「わには」，・・・，読み「らに」と読み「わに」，読み「らに」と読み「わには」，・・・という部分文字列の組み合わせを数えることができる。これにより、各部分文字列を単語の読みと考えたときのすべての異表記についての組み合わせを、表記「二」と表記「羽」，表記「二」と表記「話」，・・・のように数えることができる。
【００２６】
Ｎベスト経路決定部１４は、このような操作を、文字の境界ごとに、すべての単語表記間の組み合わせに対して行い、入力文字列内において該当する文字範囲が増加する方向に単語表記同士を接続する。これにより、Ｎベスト経路決定部１４は、単語表記をノードとし、単語表記間の接続をエッジとした有向非循環グラフＧを得る。つまり、Ｎベスト経路決定部１４は、入力文字列ＣＳに対してユーザの意図する単語表記と単語表記間の接続関係とを推測する。
【００２７】
図４は、本実施形態に係る有向非循環グラフＧの例を示す図である。図４には、入力文字列ＣＳが「うらにわにはにわとりがいる」の場合に、上記操作により得られた有向非循環グラフＧの例が示されている。このようにして得られた有向非循環グラフＧの先頭から末尾までを辿る経路は、どの経路も入力文字列ＣＳの表記候補に相当する。
【００２８】
また、Ｎベスト経路決定部１４は、得られた有向非循環グラフＧに対して、所定の計算を行い、計算結果から、ユーザの意図する表記候補として可能性の高い（確率の高い）Ｎ件の経路を決定する。このとき行う計算（確率の高い経路の計算）には、例えば有向非循環グラフＧに対して、単語の出現確率と単語間の接続確率とを、それぞれノードスコアとエッジスコアとして与え、ビタビアルゴリズムを適用する手法（例えば「非特許文献１のｐ．１３２〜ｐ．１３３」に記載の計算手法）が知られている。なお、ノードスコアとして与える単語の出現確率及びエッジスコアとして与える単語間の接続確率は、例えばＤＢなどに予め登録されているものとする。よって、Ｎベスト経路決定部１４は、ＤＢにアクセスし、単語の出現確率と単語間の接続確率とを取得することで、計算時のノードスコアとエッジスコアとを与えることができる。また、Ｎベスト経路決定部１４は、計算時にビタビアルゴリズムを適用する際、各ノードまでのスコアとそのスコアを与える隣接ノードとを、上位Ｎ件について記憶する。これにより、得られる経路を上位Ｎ件として容易に拡張できる。このように、Ｎベスト経路決定部１４は、入力文字列ＣＳの読みから推測される組み合わせに従って、単語表記リストＷＬの単語表記を接続し、接続してできる１つの単語表記列を、接続関係を表す経路の１つとする。Ｎベスト経路決定部１４は、このような経路を、ユーザの意図する表記候補として可能性の高い順に複数決定する。
【００２９】
図５は、本実施形態に係るＮベスト経路ＢＲの例を示す図である。図５には、入力文字列ＣＳが「うらにわにはにわとりがいる」の場合に、上記計算手法を用いて決定されたＮベスト経路ＢＲの例が示されている。このように、本実施形態では、入力文字列ＣＳから得られた有向非循環グラフＧに対する計算結果に基づき、ユーザの意図する表記候補として可能性の高い順に、１０件の経路ＢＲ１〜ＢＲ１０をＮベスト経路ＢＲとして決定している。そのうち、例えば第１位の経路ＢＲ１は、表記「裏庭」，表記「に」，表記「埴輪」，表記「取り」，表記「が」，表記「いる」の６単語を有する単語表記列であり、その中の表記「埴輪」は、入力文字列内の６文字目から８文字目の部分文字列に該当する。
【００３０】
なお、ここまで、上記単語表記リスト生成部１２及びＮベスト経路決定部１４について説明を行ったが、これらの機能部の詳細な動作については、非特許文献１などを参照されたい。
【００３１】
本実施形態に係るレイアウト情報生成部１５は、Ｎベスト経路ＢＲから、表記候補を表示するためのレイアウト情報を生成する。例えばＮベスト経路決定部１４が決定したＮ件の経路すべてを表示すると、表記候補として表示する文字量が多くなる。その結果、ユーザが一目で意図する表記を見つけることが困難となる。そこで、本実施形態では、まず、ユーザの意図する表記候補として可能性の最も高い第１位の経路ＢＲ１の単語表記列を表示する。次に、残り９件（Ｎ−１件）の経路ＢＲ２〜ＢＲ１０（第１位の経路以外の経路）に含まれる単語表記群から、表示する単語表記を抽出し、抽出した単語表記を表示する。これにより、本実施形態に係る文字入力装置１００は、表記候補を表示する場合の文字の量と表示領域を、意図した文字列に対して大きすぎない範囲にできる。
【００３２】
そのため、レイアウト情報生成部１５は、まず、９件の経路ＢＲ２〜ＢＲ１０に含まれる単語表記群の中から、表示する単語表記を抽出する。このときレイアウト情報生成部１５は、次のような方法で抽出を行う。レイアウト情報生成部１５は、抽出対象の経路ＢＲ２〜ＢＲ１０を順に参照し、経路に含まれる単語表記群の中から、入力文字列ＣＳの部分文字列に該当する表記を順に取り出す。次にレイアウト情報生成部１５は、取り出した表記の品詞種別を判別する。レイアウト情報生成部１５は、品詞が助詞や助動詞（不要品詞）の場合、判別した表記を、抽出不要の表記とする。つまり、レイアウト情報生成部１５は、品詞が所定の種別品詞である表記を、表記候補として表示しない表記として特定する。
【００３３】
また、レイアウト情報生成部１５は、抽出対象の経路ＢＲ２〜ＢＲ１０のうち、異なる経路の単語表記群から取り出した表記の意味情報を取得し、表記同士の意味の近さ（意味的距離）を表す距離を計算する。レイアウト情報生成部１５は、距離の近い（意味が近い）表記同士の場合、相対的に可能性の低い経路に含まれる表記を、抽出不要の表記とする。つまり、レイアウト情報生成部１５は、距離の計算結果から、意味が同じ表記、又は、意味の近い表記が存在する場合、該当した表記のうち、ユーザの意図する表記候補として可能性の低い経路に含まれる表記を、表記候補として表示しない表記として特定する。なお、表記同士の意味の近さを表す距離の計算には、例えばオントロジーに基づく意味表現とその計算手法（例えば「特許文献３」に記載の計算手法）が知られている。また、単語の意味を、特徴量ベクトル空間の座標で表現し、距離を２点間の空間距離として計算することもできる。
【００３４】
このように、レイアウト情報生成部１５は、抽出対象の経路ＢＲ２〜ＢＲ１０に含まれるすべての単語表記の中から、上記条件に基づき抽出不要と判断した表記を削除する。つまり、レイアウト情報生成部１５は、複数の経路ＢＲ２〜ＢＲ１０に含まれる単語表記群の中から、表記候補として表示しない（非出力とする）単語表記を特定し、特定した単語表記を削除することで、表記候補として表示する（出力する）単語表記を抽出する。レイアウト情報生成部１５は、このようにして抽出した表記（単語）を保持し、表示単語リスト（表示単語情報）を生成する。
【００３５】
その結果、レイアウト情報生成部１５は、ユーザの意図する表記候補として可能性の最も高い第１位の経路ＢＲ１の単語表記列と、抽出した単語表記とを、表記候補の提示環境に応じて表示するためのレイアウト情報を生成する。このときレイアウト情報生成部１５は、表記候補の提示環境におけるレイアウト上の制約が定義されたレイアウト制約を取得する。なお、レイアウト制約は、例えば表記候補を何行以内で表示するのかを表す数値である。よって、レイアウト制約が１の場合には、表記候補を１行で表示することが求められる。レイアウト情報生成部１５は、取得したレイアウト制約に基づき、仮想的な画面上における表記候補の文字の表示場所やサイズなどを決定し、決定値に従って、単語表記を表示するためのレイアウト情報を生成する。また、レイアウト情報生成部１５は、取得したレイアウト制約に基づき、複数のレイアウト形式（出力形式）から、レイアウト制約を満たす形式を選択し、選択結果（選択した出力形式）に従って、単語表記を表示するためのレイアウト情報を生成する。
【００３６】
本実施形態に係る意味情報取得部１６は、表記の意味情報を取得する。意味情報取得部１６は、レイアウト情報生成部１５から指定された表記の意味情報を取得する。このとき意味情報取得部１６は、例えば表記に対して想定される意味情報群が予め登録されているＤＢにアクセスし、表記をキーにＤＢ検索を行い、検索結果として、該当した登録意味情報を取得する。意味情報取得部１６は、このようにして取得した意味情報をレイアウト情報生成部１５に渡す。これにより、レイアウト情報生成部１５は、表記の意味情報を取得できる。
【００３７】
本実施形態に係るレイアウト制約取得部１７は、レイアウト制約を取得する。レイアウト制約取得部１７は、レイアウト情報生成部１５からの取得指示に従って、レイアウト制約を取得する。レイアウト制約取得部１７は、例えばＧＵＩ（Graphical  User  Interface）を介して予め設定されているレイアウト制約の設定値を取得する。レイアウト制約取得部１７は、このようにして取得したレイアウト制約をレイアウト情報生成部１５に渡す。これにより、レイアウト情報生成部１５は、レイアウト制約を取得できる。
【００３８】
本実施形態に係るレイアウト情報出力部１８は、レイアウト情報を出力する。レイアウト情報出力部１８は、レイアウト情報生成部１５が生成したレイアウト情報を、例えばディスプレイなどの表示装置（非図示）に出力する。これにより、ディスプレイには、入力文字列ＣＳに対する表記候補が表示される。また、レイアウト情報出力部１８は、例えば表示機能を実現するソフトウェアで実行可能なデータ形式に変換し、変換データを出力するようにしてもよい。例えば表示機能を実現するソフトウェアがＷｅｂブラウザの場合には、レイアウト情報をＨＴＭＬ（HyperText  Markup  Language）形式のデータに変換し、Ｗｅｂブラウザに出力すればよい。
【００３９】
＜詳細＞
ここからは、本実施形態に係る文字入力装置１００の詳細な動作（上記機能部の連携動作）について説明する。
【００４０】
《文字入力時の処理》
図６は、本実施形態に係る文字入力時の処理例を示すフローチャートである。図６には、本実施形態に係る文字入力装置１００において、文字入力時に、上記文字入力機能を実現するプログラムが実行された場合の処理例が示されている。また、本実施形態に係る処理は、主に３つの処理に分けられる。具体的には、文字の入力処理Ａ（以下「処理Ａ」という）、単語表記リストＷＬの生成処理Ｂ（以下「処理Ｂ」という）、及びＮベスト経路ＢＲの決定とレイアウト情報の生成処理Ｃ（以下「処理Ｃ」という）である。
【００４１】
図６に示すように、本実施形態に係る文字入力装置１００は、まず、処理Ａを実行する。具体的には、文字入力装置１００は、ユーザから、読みとなる文字列の入力を受け付ける（ステップＳ１１）。
【００４２】
これを受けて本実施形態に係る入力文字列取得部１１は、ユーザ入力から入力文字列ＣＳを取得する（ステップＳ１２）。ここまでが処理Ａに相当する。
【００４３】
次に文字入力装置１００は、処理Ｂを実行する。具体的には、本実施形態に係る単語表記リスト生成部１２は、入力文字列ＣＳの部分文字列をすべて数える（ステップＳ１３）。
【００４４】
次に単語表記リスト生成部１２は、数えた部分文字列のすべての異表記を数える（ステップＳ１４）。このとき単語表記リスト生成部１２は、異表記取得部１３を介して、部分文字列に対する異表記すべてを取得し、取得した異表記を数える。
【００４５】
その結果、単語表記リスト生成部１２は、すべての部分文字列のすべての異表記と、入力文字列内の出現位置とを対応付けた単語表記リストＷＬを生成する（ステップＳ１５）。このとき単語表記リスト生成部１２は、入力文字列内において、表記が該当する部分文字列の出現位置を表す数値（該当する部分文字列の開始位置と終了位置）を、取得した表記に対応付ける。ここまでが処理Ｂに相当する。
【００４６】
次に文字入力装置１００は、処理Ｃを実行する。具体的には、本実施形態に係るＮベスト経路決定部１４は、単語表記リストＷＬから、ユーザの意図する表記候補として可能性の高いＮ件の経路を、Ｎベスト経路ＢＲとして決定する（ステップＳ１６）。このときＮベスト経路決定部１４は、単語表記リストＷＬを有向非循環グラフ構造として扱い、入力文字列ＣＳに対してユーザの意図する単語表記と単語表記間の接続関係（組み合わせ）との推測結果から経路を決定する。Ｎベスト経路決定部１４は、まず、単語表記リストＷＬに含まれる各単語表記の入力文字列内における出現位置を表す数値に基づき、文字の境界ごとに、すべての単語表記間の組み合わせを数える。次にＮベスト経路決定部１４は、文字の境界ごとに、すべての単語表記間の組み合わせを数え、入力文字列内において該当する文字範囲が増加する方向に単語表記同士を接続する。これにより、Ｎベスト経路決定部１４は、単語表記をノードとし、単語表記間の接続をエッジとした有向非循環グラフＧを得ることで、単語表記間の接続関係を推測する。次にＮベスト経路決定部１４は、得られた有向非循環グラフＧに対して、所定の計算を行い、計算結果から、ユーザの意図する表記候補として可能性の高い上位Ｎ件の経路を、Ｎベスト経路ＢＲとして決定する。
【００４７】
次に本実施形態に係るレイアウト情報生成部１５は、Ｎベスト経路ＢＲ、単語の意味情報、及びレイアウト制約から、単語表記を表示するためのレイアウト情報を生成する（ステップＳ１７）。このときレイアウト情報生成部１５は、第１位の経路以外の９件の経路ＢＲ２〜ＢＲ１０に含まれる単語表記群から、表示する単語表記を抽出し、抽出した表記を保持し、表示単語リストを生成する。レイアウト情報生成部１５は、意味情報取得部１６を介して、表記の意味情報を取得し、取得した意味情報に基づき、表記同士の意味の近さを表す距離を計算し、距離の近い表記同士の場合、相対的に可能性の高い経路に含まれる表記を抽出する。なお、ステップ１７で実行される単語抽出処理については、図７を用いて後述する。これにより、レイアウト情報生成部１５は、ユーザの意図する表記候補として可能性の最も高い第１位の経路ＢＲ１の単語表記列と、抽出した単語表記とを、表記候補の提示環境に応じて表示するためのレイアウト情報を生成する。このときレイアウト情報生成部１５は、レイアウト制約取得部１７を介して、表記候補の提示環境のレイアウト制約を取得し、取得したレイアウト制約に基づき、画面上における表記候補の文字の表示場所やサイズなどを決定する。レイアウト情報生成部１５は、決定値に従って、単語表記を表示するためのレイアウト情報を生成する。
【００４８】
次に本実施形態に係るレイアウト情報出力部１８は、レイアウト情報を出力する（ステップＳ１８）。このときレイアウト情報出力部１８は、例えばレイアウト情報を、文字入力装置１００に接続される表示装置に転送し、表示を指示する。これにより、表示装置には、レイアウト制約にあった形式で、入力文字列ＣＳに対する表記候補として単語表記が表示される。ここまでが処理Ｃに相当する。
【００４９】
《単語抽出時の処理》
図７は、本実施形態に係る単語抽出時の処理例を示すフローチャートである。図７には、レイアウト情報生成部１５が上記ステップＳ１７で実行する処理例が示されている。なお、以下の処理例では、「うらにわにはにわとりがいる」という１３文字の入力文字列ＣＳが取得され、取得された入力文字列ＣＳに対して１０件の経路ＢＲ１〜ＢＲ１０が、Ｎベスト経路ＢＲとして決定された場合を想定している。
【００５０】
本実施形態に係るレイアウト情報生成部１５は、変数ｒを２とし、変数ｉを１とする（ステップＳ１７０１）。なお、変数ｒは、Ｎベスト経路ＢＲとして決定された経路を表す変数であり、変数ｉは、入力文字列ＣＳの文字位置を表す変数である。よって、ステップＳ１７０１で、変数ｒに初期値２を設定することは、ユーザの意図する表記候補として可能性の最も高い第１位の経路以外の残り９件の経路ＢＲ２〜ＢＲ１０を、抽出対象の経路とし、以降の処理で順次参照することを意味する。また、ステップＳ１７０１で、変数ｉに初期値１を設定することは、以降の処理で入力文字列ＣＳの先頭文字から順次参照することを意味する。
【００５１】
次にレイアウト情報生成部１５は、第ｒ位の経路に含まれる単語表記群から、入力文字列ＣＳのｉ番目の文字に該当する単語表記を取り出し、Ｗｒｉとする（ステップＳ１７０２）。なお、ここでいう「Ｗｒｉとする」とは、取り出した単語表記を、変数Ｗｒｉに代入することを意味する。
【００５２】
次にレイアウト情報生成部１５は、Ｗｒｉの品詞が不要品詞（助詞又は助動詞）かを判定する（ステップＳ１７０３）。レイアウト情報生成部１５は、この判定により、不要品詞として判定されたＷｒｉを、抽出不要の単語表記と判定する。つまり、この判定条件に該当したＷｒｉは、表示する単語表記（表示する表記候補）としない。
【００５３】
よって、レイアウト情報生成部１５は、Ｗｒｉの品詞が不要品詞の場合（ステップＳ１７０３：ＹＥＳ）、ステップＳ１７０４〜Ｓ１７１０の処理をスキップし、ステップＳ１７１１の処理へ移行する。
【００５４】
レイアウト情報生成部１５は、Ｗｒｉの品詞が不要品詞でない場合（ステップＳ１７０３：ＮＯ）、変数ｓを１とする（ステップＳ１７０４）。なお、変数ｓは、Ｎベスト経路ＢＲとして決定された経路を表す変数である。ステップＳ１７０４で、変数ｓを１に設定することは、Ｎベスト経路ＢＲのうち、第ｒ位の経路より上位の経路を、以降の処理で順次参照することを意味する。
【００５５】
次にレイアウト情報生成部１５は、第ｓ位の経路に含まれる単語表記群から、入力文字列ＣＳのｉ番目の文字に該当する単語表記を取り出し、Ｗｓｉとする（ステップＳ１７０５）。なお、ここでいう「Ｗｓｉとする」とは、取り出した単語表記を、変数Ｗｓｉに代入することを意味する。
【００５６】
次にレイアウト情報生成部１５は、ＷｒｉとＷｓｉとの意味の近さを表す距離ｄを計算する（ステップＳ１７０６）。このときレイアウト情報生成部１５は、意味情報取得部１６を介して、ＷｒｉとＷｓｉそれぞれの意味情報を取得する。つまり、第ｒ位の経路に含まれる単語表記群から取り出した単語表記と、第ｓ位の経路に含まれる単語表記群から取り出した単語表記、それぞれの意味情報を取得する。また、ここでの距離ｄの計算は、単語の意味を、特徴量ベクトル空間の座標で表現し、距離を２点間の空間距離として計算する手法を用いている。よって、特徴ベクトル空間上の距離として、スカラー値ｄが得られたものとする。
【００５７】
次にレイアウト情報生成部１５は、距離ｄの計算結果に基づき、ＷｒｉとＷｓｉとが同じ表記であるか、又は、距離ｄが閾値Ｄｍｉｎより小さいかを判定する（ステップＳ１７０７）。なお、閾値Ｄｍｉｎは、表記同士の意味の近さを表す最小距離（意味が近いと判断する基準値）に相当し、予め設定されている。レイアウト情報生成部１５は、この判定により、第ｒ位の経路より上位の経路に含まれるＷｓｉと同じＷｒｉ、又は、Ｗｓｉと意味が近いＷｒｉを、抽出不要の単語表記と判定する。つまり、この判定条件に該当したＷｒｉは、表示する単語表記としない。
【００５８】
よって、レイアウト情報生成部１５は、距離ｄの計算結果に基づき、ＷｒｉとＷｓｉとが同じ表記であるか、又は、距離ｄが閾値Ｄｍｉｎより小さい場合（ステップＳ１７０７：ＹＥＳ）、ステップＳ１７０８〜Ｓ１７１０の処理をスキップし、ステップＳ１７１１の処理へ移行する。
【００５９】
レイアウト情報生成部１５は、ＷｒｉとＷｓｉとが同じ表記でなく、かつ、距離ｄが閾値Ｄｍｉｎ以上の場合（ステップＳ１７０７：ＮＯ）、変数ｓを１増やした場合の値（ｓ＋１）が変数ｒの値より小さいかを判定する（ステップＳ１７０８）。
【００６０】
レイアウト情報生成部１５は、ｓ＋１の値が変数ｒの値より小さい場合（ステップＳ１７０８：ＹＥＳ）、変数ｓを１増やし（ステップＳ１７０９）、ステップＳ１７０５の処理へ移行する。これにより、レイアウト情報生成部１５は、第ｒ位の経路より上位の経路に対して、取り出した単語表記同士の距離ｄに基づく上記判定を行い、抽出不要の単語表記について調べる。
【００６１】
一方、レイアウト情報生成部１５は、ｓ＋１の値が変数ｒの値以上の場合（ステップＳ１７０８：ＮＯ）、第ｒ位の経路より上位の経路に対し、抽出不要のＷｒｉの調査が終了したとして、Ｗｒｉを表示単語リストに追加する（ステップＳ１７１０）。これにより、レイアウト情報生成部１５は、変数Ｗｒｉに代入した単語表記を、表示する単語表記として抽出する。
【００６２】
次にレイアウト情報生成部１５は、変数ｉを１増やした場合の値（ｉ＋１）が変数Ｌ以下かを判定する（ステップＳ１７１１）。なお、変数Ｌは、入力文字列ＣＳの文字数を表す値に相当し、本実施形態の場合には１３である。
【００６３】
レイアウト情報生成部１５は、ｉ＋１の値が変数Ｌの値以下の場合（ステップＳ１７１１：ＹＥＳ）、変数ｉを１増やし（ステップＳ１７１２）、ステップＳ１７０２の処理へ移行する。これにより、レイアウト情報生成部１５は、第ｒ位の経路に含まれる単語表記群から、入力文字列ＣＳのｉ＋１番目の文字に該当する単語表記を取り出し、抽出不要の単語表記を調査し、表示する単語表記を抽出する。
【００６４】
一方、レイアウト情報生成部１５は、ｉ＋１の値が変数ｒの値より大きい場合（ステップＳ１７１１：ＮＯ）、入力文字列ＣＳのすべての文字に対して、第ｒ位の経路に含まれる単語表記群から該当する単語表記の取り出しが終了したとして、ステップＳ１７１３の処理へ移行する。
【００６５】
次にレイアウト情報生成部１５は、変数ｒを１増やした場合の値（ｒ＋１）が変数Ｎ以下かを判定する（ステップＳ１７１３）。なお、変数Ｎは、Ｎベスト経路ＢＲとして決定された経路の件数を表す値に相当し、本実施形態の場合には１０である。
【００６６】
レイアウト情報生成部１５は、ｒ＋１の値が変数Ｎの値以下の場合（ステップＳ１７１３：ＹＥＳ）、変数ｒを１増やし、かつ、変数ｉを１とし（ステップＳ１７１４）、ステップＳ１７０２の処理へ移行する。第ｒ＋１位の経路に含まれる単語表記群から、入力文字列ＣＳのｉ番目の文字に該当する単語表記を取り出し、抽出不要の単語表記について調べる。
【００６７】
一方、レイアウト情報生成部１５は、ｒ＋１の値が変数Ｎの値より大きい場合（ステップＳ１７１３：ＮＯ）、抽出対象の９件の経路ＢＲ２〜ＢＲ１０に対して、抽出不要の単語表記を調査し、表示する単語表記の抽出が終了したとして、処理を終了する。
【００６８】
（単語抽出結果）
図８は、本実施形態に係る単語抽出結果の例を示す図である。図８には、図７に示す処理により、Ｎベスト経路ＢＲのうち、抽出対象の経路ＢＲ２〜ＢＲ１０に含まれる単語表記群から、表示する単語表記が抽出された結果の例が示されている。なお、第１位の経路ＢＲ１は、ユーザの意図する表記候補として可能性の最も高い経路に相当することから、抽出対象ではない。
【００６９】
図８でハッチングにより表された箇所の単語表記は、図７に示す処理により、表示する単語表記として抽出されなかった単語表記（表記候補として表示しない表記）に該当する。具体的には、次の通りである。
【００７０】
第２位の経路ＢＲ２では、表記「に」，表記「が」が、不要品詞であることから、抽出されなかった単語表記に該当する。また、第２位の経路ＢＲ２では、表記「裏庭」，表記「埴輪」，表記「いる」が、上位の経路ＢＲ１に含まれる単語表記群の表記と同じ表記であることから、抽出されなかった単語表記に該当する。
【００７１】
第３位の経路ＢＲ３では、表記「には」，表記「が」が、不要品詞であることから、抽出されなかった単語表記に該当する。また、第３位の経路ＢＲ３では、表記「裏庭」，表記「いる」が、上位の経路ＢＲ１，２に含まれる単語表記群の表記と同じ表記であることから、抽出されなかった単語表記に該当する。
【００７２】
第４位の経路ＢＲ４では、表記「には」，表記「が」が、不要品詞であることから、抽出されなかった単語表記に該当する。また、第４位の経路ＢＲ４では、表記「裏庭」，表記「いる」が、上位の経路ＢＲ１に含まれる単語表記群の表記と同じ表記であることから、抽出されなかった単語表記に該当する。また、第４位の経路ＢＲ４では、表記「鳥」が、上位の経路ＢＲ３に含まれる単語表記群の表記「鶏」と意味が近い表記であることから、抽出されなかった単語表記に該当する。
【００７３】
第５位の経路ＢＲ５では、表記「には」，表記「が」が、不要品詞であることから、抽出されなかった単語表記に該当する。また、第５位の経路ＢＲ５では、表記「裏庭」，表記「二羽」，表記「いる」が、上位の経路ＢＲ１，４に含まれる単語表記群の表記と同じ表記であることから、抽出されなかった単語表記に該当する。また、第５位の経路ＢＲ５では、表記「トリ」が、上位の経路ＢＲ３に含まれる単語表記群の表記「鶏」と意味が近い表記であることから、抽出されなかった単語表記に該当する。
【００７４】
第６位の経路ＢＲ６では、表記「には」，表記「が」が、不要品詞であることから、抽出されなかった単語表記に該当する。また、第６位の経路ＢＲ６では、表記「裏庭」，表記「二羽」，表記「鶏」，表記「いる」が、上位の経路ＢＲ１，３，４に含まれる単語表記群の表記と同じ表記であることから、抽出されなかった単語表記に該当する。
【００７５】
第７位の経路ＢＲ７では、表記「に」，表記「は」，表記「が」が、不要品詞であることから、抽出されなかった単語表記に該当する。また、第７位の経路ＢＲ７では、表記「鶏」，表記「いる」が、上位の経路ＢＲ１，３に含まれる単語表記群の表記と同じ表記でることから、抽出されなかった単語表記に該当する。また、第７位の経路ＢＲ７では、表記「裏」が、上位の経路ＢＲ１に含まれる単語表記群の表記「裏庭」と意味が近い表記であることから、抽出されなかった単語表記に該当する。
【００７６】
第８位の経路ＢＲ８では、表記「に」，表記「は」，表記「が」が、不要品詞であることから、抽出されなかった単語表記に該当する。また、第８位の経路ＢＲ８では、表記「裏」，表記「ワニ」，表記「二羽」，表記「鳥」，表記「いる」が、上位の経路ＢＲ１，４，７に含まれる単語表記群の表記と同じ表記であることから、抽出されなかった単語表記に該当する。
【００７７】
第９位の経路ＢＲ９では、表記「に」，表記「は」，表記「が」が、不要品詞であることから、抽出されなかった単語表記に該当する。また、第９位の経路ＢＲ９では、表記「裏」，表記「ワニ」，表記「二羽」，表記「トリ」，表記「いる」が、上位の経路ＢＲ１，４，５，７に含まれる単語表記群の表記と同じ表記であることから、抽出されなかった単語表記に該当する。
【００７８】
第１０位の経路ＢＲ１０では、表記「に」，表記「は」，表記「が」が、不要品詞であることから、抽出されなかった単語表記に該当する。また、第１０位の経路ＢＲ１０では、表記「裏」，表記「ワニ」，表記「二羽」，表記「鶏」，表記「いる」が、上位の経路ＢＲ１，３，４，７に含まれる単語表記群の表記と同じ表記であることから、抽出されなかった単語表記に該当する。
【００７９】
このように、本実施形態では、図７に示す処理により、抽出対象の経路ＢＲ２〜ＢＲ１０に含まれる単語表記群から、第２位の経路ＢＲ２に含まれる表記「撮り」、第３位の経路ＢＲ３に含まれる表記「鶏」、第４位の経路ＢＲ４に含まれる表記「二羽」、及び第７位の経路ＢＲ７に含まれる表記「ワニ」が、表示する単語表記として抽出される。
【００８０】
（レイアウト情報の出力結果）
図９は、本実施形態に係るレイアウト情報の出力例を示す図である。図９には、図８に示す単語表記の抽出結果に基づくレイアウト情報が画面に表示された結果の例が示されている。
【００８１】
図９に示すように、画面には、ユーザの意図する表記候補として可能性の最も高い第１位の経路ＢＲ１の単語表記列と、抽出した単語表記とが、表記候補として表示される。このとき、抽出した単語表記のレイアウト形式には、例えば次のような形式がある。本実施形態では、４つのレイアウト形式例を挙げる。
【００８２】
図９（Ａ）〜（Ｃ）には、第１位の経路ＢＲ１の単語表記列と抽出した単語表記とを２行で表示するレイアウト形式の例が示されている。
【００８３】
具体的には、図９（Ａ）には、抽出した単語表記の文字を、第１位の経路ＢＲ１の単語表記列の文字より小さいフォントで表示するレイアウト形式の例が示されている。第１位の経路ＢＲ１の単語表記列「裏庭に埴輪取りがいる」に比べて、抽出した単語表記の表記「ワニ」，表記「二羽」，表記「鶏」，表記「撮り」が小さく表示されている。
【００８４】
図９（Ｂ）には、さらに、上位の経路から抽出した単語表記の文字を、下位の経路から抽出した単語表記より大きいフォントで表示するレイアウト形式の例が示されている。第７位、第４位の経路ＢＲ７，ＢＲ４から抽出した単語表記の表記「ワニ」，表記「二羽」に比べて、第３位、第２位の経路ＢＲ３，ＢＲ２から抽出した単語表記の表記「鶏」，表記「撮り」が大きく表示されている。
【００８５】
図９（Ｃ）には、さらに、抽出した単語表記において、文字数の少ない単語表記を、文字数の多い単語表記より大きいフォントで表示するレイアウト形式の例が示されている。第２位の経路ＢＲ２から抽出した単語表記の２文字の表記「撮り」に比べて、第３位の経路ＢＲ３から抽出した単語表記の１文字の表記「鶏」が大きく表示されている。
【００８６】
このように、図９（Ａ）〜（Ｃ）には、第１位の経路ＢＲ１の単語表記列と、第２位以下の経路ＢＲ２〜ＢＲ１０から抽出した単語表記とを、異なる態様で表示する例が示されている。
【００８７】
一方、図９（Ｄ）には、第１位の経路ＢＲ１の単語表記列と、抽出した単語表記とを１行で表示するレイアウト形式の例が示されている。この場合、抽出した単語表記は、第１位の経路ＢＲ１の各単語表記のうち、入力文字列内の出現位置が最も近い表記の後ろに、括弧書きで表示する。
【００８８】
このように、本実施形態では、表記候補の提示環境のレイアウト制約に基づき、上記レイアウト形式から、レイアウト制約を満たす形式が選択され、選択結果に従って、レイアウト情報が出力され、単語表記が表示される。
【００８９】
＜まとめ＞
以上のように、本実施形態に係る文字入力装置１００によれば、入力文字列取得部１１が、ユーザからの文字入力を受け付けて、入力文字列ＣＳを取得する。次に文字入力装置１００は、単語表記リスト生成部１２が、入力文字列ＣＳの読みとなり得るすべての組み合わせの単語を単語表記リストＷＬとして生成する。次に文字入力装置１００は、Ｎベスト経路決定部１４が、単語表記リストＷＬを有向非循環グラフ構造として扱い、ユーザの意図する単語表記と単語表記間の接続関係（組み合わせ）とを推測し、ユーザの意図する表記候補として可能性の高い（確率の高い）Ｎベスト経路ＢＲを決定する。次に文字入力装置１００は、レイアウト情報生成部１５が、Ｎベスト経路ＢＲに含まれる単語表記群から、表示する単語表記を抽出し、ユーザの意図する表記候補（変換候補）として可能性の最も高い第１位の経路ＢＲ１の単語表記列と、抽出した単語表記とを、表記候補として表示するためのレイアウト情報を生成する。その結果、文字入力装置１００は、レイアウト情報出力部１８が、レイアウト情報を出力する。
【００９０】
これによって、本実施形態に係る文字入力装置１００は、ユーザが意図する可能性の最も高い単語表記列と、表示する単語表記とを表示し、入力文字列ＣＳに対する表記候補を提示可能な環境を提供する。その結果、本実施形態に係る文字入力装置１００は、ユーザが、変換の指示、意図した表記の選択、文節又は単語区切りの修正などの操作を一切行わなくても、入力文字列ＣＳから自動的に高確率で意図した表記を提示することができる。これにより、本実施形態に係る文字入力装置１００は、ユーザが、例えば聴講中などのような画面を注視することが困難な環境であっても、最低限の注意力で文字入力を効率的に継続可能なサービスを実現できる。つまり、本実施形態に係る文字入力装置１００は、利便性の向上を図ることができる。
【００９１】
［第２の実施形態］
＜概要＞
ユーザは、例えば会議や講義などで、人の話を聞きながら、メモをとるといった文字入力を行う。このような利用場面では、より高速な文字入力が望まれる。そこで、本実施形態では、文節又は単語の文字を最後まで入力することなく、次の文節又は単語の入力に移行できる技術を提案する。これにより、本実施形態に係る文字入力装置は、上記実施形態と同様の効果を奏するとともに、ユーザに対して、高速な文字入力が可能な環境を提供できる。なお、以降の説明は、上記実施形態と異なる事項について説明し、同じ事項については、同一参照符号を付し、その説明を簡略又は省略する。
【００９２】
本実施形態に係る文字入力装置１００が有する文字入力機能について説明する。本実施形態に係る文字入力装置１００は、ユーザからの文字入力を受け付けて、入力文字列ＣＳを取得する。本実施形態に係る文字入力装置１００は、取得した入力文字列ＣＳに対し、ユーザから指示された文字位置に、文字入力を打ち切ったことを表す記号を挿入する。本実施形態に係る文字入力装置１００は、文字入力を打ち切ったことを表す記号が挿入された入力文字列ＣＳから、ユーザの意図する単語表記と単語表記間の接続関係（組み合わせ）とを推測し、ユーザの意図する表記候補として可能性の高い（確率の高い）Ｎベスト経路ＢＲを決定する。本実施形態に係る文字入力装置１００は、Ｎベスト経路ＢＲに含まれる単語表記群から、表示する単語表記を抽出する。本実施形態に係る文字入力装置１００は、ユーザの意図する表記候補（変換候補）として可能性の最も高い第１位の経路ＢＲ１の単語表記列と、抽出した単語表記とを、表記候補として表示するためのレイアウト情報を生成する。本実施形態に係る文字入力装置１００は、レイアウト情報を出力する。本実施形態に係る文字入力装置１００は、このような機能を有している。
【００９３】
以下に、本実施形態に係る文字入力装置１００が有する機能の構成とその動作について説明する。なお、本実施形態では、文字入力装置１００に一般的な情報処理装置を想定し、キーボードを用いて日本語入力を行う利用場面を例に説明を行う。また、本実施形態では、ユーザから入力される文字列を「うらに｜にわと｜いる」とする。これは、ユーザが「うらにわにはにわとりがいる」を入力したいときに、文節又は単語の文字を最後まで入力することなく、次の文節又は単語の入力に移行した場合の入力例に相当する。なお、文中の‘｜’は、文字入力を打ち切ったことを表す記号（以下便宜上「終端記号」という）に相当する。
【００９４】
《機能構成》
図１０は、本実施形態に係る文字入力装置１００の機能構成例を示す図である。図１０に示すように、本実施形態に係る文字入力装置１００は、上記実施形態で説明を行った機能部に加えて、終端指示受付部２１、終端挿入部２２、及び前方一致異表記取得部（第５取得部）２３などを有する。
【００９５】
本実施形態に係る終端指示受付部２１は、ユーザから文字入力の終端指示を受け付ける。本実施形態では、ユーザが現在入力中の文節又は単語の入力を途中で打ち切り、次の文節又は単語の入力を始めたいときに、例えばキーボードの所定キーが押下されたことを受けて、文字入力の終端指示を受け付ける。つまり、終端指示受付部２１は、文字入力の打ち切る指示を受け付ける。
【００９６】
本実施形態に係る終端挿入部２２は、入力文字列ＣＳに終端記号を挿入する。終端挿入部２２は、ユーザから指示された終端の文字位置に、終端記号を挿入する。終端記号は、例えば‘０ｘ０１’のような任意のバイト列に相当する。また、入力文字列ＣＳの文字位置を記録する情報（テーブル）に、終端の文字位置を表すポインタ（例えば「３文字目」など）を挿入するようにしてもよい。
【００９７】
本実施形態に係る単語表記リスト生成部１２は、入力文字列ＣＳの読みとなり得るすべての組み合わせの単語を単語表記リストとして生成する。このとき単語表記リスト生成部１２は、入力文字列ＣＳのすべての部分文字列を数える。本実施形態では、部分文字列を数えるときの入力文字列内の文字の扱い方が、上記実施形態と異なる。具体的には、単語表記リスト生成部１２は、部分文字列を数えるときに、挿入後の終端記号も文字として扱う。また、単語表記リスト生成部１２は、部分文字列を数える範囲を、終端を超えない範囲とする。これにより、単語表記リスト生成部１２は、例えば「う」「うら」「うらに」「うらに｜」のような部分文字列を数え、「うらに｜に」を数えない。また、単語表記リスト生成部１２は、部分文字列に対する異表記すべてを取得する。本実施形態では、異表記を取得するときの部分文字列の文字の扱い方が、上記実施形態と異なる。具体的には、単語表記リスト生成部１２は、終端記号を含む部分文字列（終端記号が終端の文字となる部分文字列）から、終端記号を取り除き（削除し）、取り除いた文字列から始まる異表記（前方一致する異表記）を取得する。これにより、単語表記リスト生成部１２は、例えば「うらに｜」から‘｜’を取り除き、「裏庭」などの前方一致する表記（取り除いた文字列で始まる表記）を取得する。なお、単語表記リスト生成部１２は、終端記号を含まない部分文字列に対して、上記実施形態と同様の方法で（異表記取得部１３を介して）異表記を取得する。
【００９８】
本実施形態に係る前方一致異表記取得部２３は、終端記号を取り除いた文字列に対して前方一致する異表記を取得する。前方一致異表記取得部２３は、単語表記リスト生成部１２から指定された文字列（終端記号が取り除かれた文字列）の異表記すべてを取得する。このとき前方一致異表記取得部２３は、例えば読みに対して想定される異表記群が予め登録されているＤＢにアクセスし、前方一致によるＤＢ検索を行い、検索結果として、該当した登録異表記を取得する。膨大な単語群から前方一致する表記を高速に検索する手法には、例えばトライ木データ構造を用いて高速検索する手法（例えば「非特許文献１のｐ．９８〜ｐ．９３」に記載の計算手法）が知られている。前方一致異表記取得部２３は、このようにして取得した異表記を単語表記リスト生成部１２に渡す。これにより、単語表記リスト生成部１２は、文字列に対して前方一致した異表記すべてを取得できる。
【００９９】
なお、本実施形態に係るＮベスト経路決定部１４、レイアウト情報生成部１５、意味情報取得部１６、レイアウト制約取得部１７、及びレイアウト情報出力部１８は、上記実施形態と同様の動作を行う。
【０１００】
＜詳細＞
ここからは、本実施形態に係る文字入力装置１００の詳細な動作（上記機能部の連携動作）について説明する。
【０１０１】
《文字入力時の処理》
図１１は、本実施形態に係る文字入力時の処理例を示すフローチャートである。図１１には、本実施形態に係る文字入力装置１００において、文字入力時に、上記文字入力機能を実現するプログラムが実行された場合の処理例が示されている。また、本実施形態に係る処理は、上記実施形態と同様に、主に３つの処理に分けられる。具体的には、文字の入力処理Ａ（以下「処理Ａ」という）、単語表記リストＷＬの生成処理Ｂ（以下「処理Ｂ」という）、及びＮベスト経路ＢＲの決定とレイアウト情報の生成処理Ｃ（以下「処理Ｃ」という）である。そのうち、上記実施形態と異なる処理は、処理Ａ，Ｂである。よって、以下には、処理Ａ，Ｂを説明し、処理Ｃの説明は省略する。
【０１０２】
図１１に示すように、本実施形態に係る文字入力装置１００は、まず、処理Ａを実行する。具体的には、文字入力装置１００は、ユーザから、読みとなる文字列の入力を受け付ける（ステップＳ２１）。
【０１０３】
これを受けて本実施形態に係る入力文字列取得部１１は、ユーザ入力から入力文字列ＣＳを取得する（ステップＳ２２）。
【０１０４】
次に本実施形態に係る終端指示受付部２１は、ユーザから文字入力の終端指示を受け付けたかを判定する（ステップＳ２３）。このとき終端指示受付部２１は、例えばキーボードの所定キーの押下イベントの発生有無に基づき、終端指示を受け付けたかを判定する。
【０１０５】
終端指示受付部２１は、文字入力の終端指示を受け付けると（ステップＳ２３：ＹＥＳ）、受け付けた終端指示を終端挿入部２２に伝達する。
【０１０６】
これを受けて本実施形態に係る終端挿入部２２は、終端指示に従って、入力文字列ＣＳに終端九号を挿入する（ステップＳ２４）。このとき終端挿入部２２は、入力文字列ＣＳに対し、ユーザから指示された終端の文字位置に、終端記号を挿入する。ここまでが処理Ａに相当する。
【０１０７】
次に文字入力装置１００は、処理Ｂ１を実行する。具体的には、本実施形態に係る単語表記リスト生成部１２は、終端を超えないように、入力文字列ＣＳの部分文字列をすべて数える（ステップＳ２５）。このとき単語表記リスト生成部１２は、入力文字列ＣＳに挿入された１又は複数の終端記号に基づき、次のように部分文字列を数える。単語表記リスト生成部１２は、まず、入力文字列ＣＳの先頭の文字から最初に出現する第１終端記号までの第１文字列の部分文字列を数える。次に単語表記リスト生成部１２は、第１終端記号の次の文字から次に出現する第２終端記号までの第２文字列の部分文字列を数える。このように、単語表記リスト生成部１２は、部分文字列を数える範囲を、終端を超えない範囲として数える。最後に、単語表記リスト生成部１２は、最後に出現した第ｎ終端記号の次の文字から入力文字列ＣＳの終端の文字までの第ｎ＋１文字列の部分文字列を数える。その結果、単語表記リスト生成部１２は、入力文字列ＣＳが終端記号に従って分割された複数の文字列ごとの部分文字列をすべて数える。
【０１０８】
次に単語表記リスト生成部１２は、処理Ｂ１１を実行する。単語表記リスト生成部１２は、分割された複数の文字列ごとに数えたすべての部分文字列に対して、処理Ｂ１１を実行する。具体的には、単語表記リスト生成部１２は、数えた部分文字列に、終端記号が含まれているかを判定する（ステップＳ２６）。このとき単語表記リスト生成部１２は、部分文字列の終端の文字を参照し、参照した文字が終端記号か否かに基づき、終端記号が含まれているかを判定する。
【０１０９】
単語表記リスト生成部１２は、部分文字列に、終端記号が含まれている場合（ステップＳ２６：ＹＥＳ）、該当した部分文字列から終端記号を取り除き、取り除いた文字列で始まるすべての異表記（前方一致するすべての異表記）を数える（ステップＳ２７）。このとき単語表記リスト生成部１２は、前方一致異表記取得部２３を介して、終端記号が取り除かれた文字列に対して前方一致した異表記すべてを取得し、取得した異表記を数える。
【０１１０】
一方、単語表記リスト生成部１２は、部分文字列に、終端記号が含まれていない場合（ステップＳ２６：ＮＯ）、該当した部分文字列のすべての異表記を数える（ステップＳ２８）。このとき単語表記リスト生成部１２は、異表記取得部１３を介して、部分文字列に対する異表記すべてを取得し、取得した異表記を数える。ここまでが処理Ｂ１１に相当し、処理Ｂ１に相当する。
【０１１１】
一方、文字入力装置１００は、終端指示受付部２１により、文字入力の終端指示を受け付けなければ（ステップＳ２３：ＮＯ）、処理Ｂ２を実行する。具体的には、本実施形態に係る単語表記リスト生成部１２は、入力文字列ＣＳの部分文字列をすべて数え（ステップＳ３１）、数えた部分文字列のすべての異表記を数える（ステップＳ３２）。ここまでが処理Ｂ２に相当し、処理Ｂ２は、上記実施形態で示した図６のステップＳ１３，Ｓ１４の処理に相当する。
【０１１２】
その結果、単語表記リスト生成部１２は、すべての部分文字列のすべての異表記と、入力文字列内の出現位置とを対応付けた単語表記リストＷＬを生成する（ステップＳ２９）。このとき単語表記リスト生成部１２は、入力文字列内において、表記が該当する部分文字列の出現位置を表す数値（該当する部分文字列の開始位置と終了位置）を、取得した表記に対応付ける。ここまでが処理Ｂに相当する。
【０１１３】
次に文字入力装置１００は、処理Ｃを実行する。具体的には、上記実施形態で示した図６のステップＳ１６〜Ｓ１８の処理である。
【０１１４】
［第３の実施形態］
第１および第２の実施形態とは異なり、本実施形態では携帯電話のキーパッドによる英語文の入力について考える。ここでは代表的な省入力方式であるシングルタップ入力方式を用いる。シングルタップ入力方式においては、通常、ユーザが入力したい単語の各文字に相当するキーを一度だけ入力すると、システムはそのキーの組み合わせから考えられる単語を提示し、ユーザに選択させる。しかし、本発明においてはユーザが選択を行う必要は無く、ユーザが入力した可能性が高い文章が自動的に表示される。
【０１１５】
全体のフローは第１の実施形態と同様に図１に沿って処理されるため、第１の実施形態との共通部分については説明を省略する。
【０１１６】
図１２は、本実施形態で扱う携帯電話のキーパッドの一例を示す図である。例えば「２」キーには、「Ａ」、「Ｂ」および「Ｃ」の文字が割り当てられている。キー割り当ては実際にはどのような割り当てであってもよい。また、図示しないスペースキーまたは右カーソルキー等により、スペースを入力できるものとする。
【０１１７】
図１３は、本実施形態に係る単語表記リストの例を示す図である。図１３は、シングルタップ入力方式によって「843＿78425＿27696＿369＿58677＿6837＿843＿5299＿364」の数字列が入力された場合に、単語表記リスト生成部１２が生成する単語表記リストの例である。ただし、ここでは単語間では必ずスペースを入力したものとして扱う。従って、各単語の始点は文頭かスペース直後に限られる。また、各単語の終点は文末かスペース直前に限られる。
【０１１８】
図１４は、Ｎベスト経路決定部１４が単語表記リストから内部的に構築した有向非循環グラフの一例を示す図である。Ｎベスト経路決定部１４は、さらにＮベスト経路を導出し、図３で既に説明した方法に沿って単語を削減する。図１５は、単語を削減したＮベスト経路の一例を示す図である。図１６は、この削減結果から生成されたレイアウト情報に従った表示結果の一例を示す図である。図１６の例では、図１５の１行目に記載された第１位の経路である「the  quick  brown  fox  jumps  over  the  lazy  dog」に対し、図１５の２行目以降に記載された第２位以下の経路に登場し、削除されなかった単語が、順位に応じたフォントの大きさで表示される。
【０１１９】
本実施形態によれば、携帯電話上の英語の省入力においても、候補選択を行うことなく、ユーザが所望する表示を得ることができる。
【０１２０】
＜まとめ＞
以上のように、本実施形態に係る文字入力装置１００によれば、入力文字列取得部１１が、ユーザからの文字入力を受け付けて、入力文字列ＣＳを取得する。次に文字入力装置１００は、終端挿入部２２が、取得した入力文字列ＣＳに対し、ユーザから指示された文字位置に、文字入力の終端記号を挿入する。次に文字入力装置１００は、単語表記リスト生成部１２が、終端記号が挿入された入力文字列ＣＳを、終端記号に従って複数の文字列に分割し、分割した文字列の読みとなり得るすべての組み合わせの単語を単語表記リストＷＬとして生成する。次に文字入力装置１００は、Ｎベスト経路決定部１４が、単語表記リストＷＬを有向非循環グラフ構造として扱い、ユーザの意図する単語表記と単語表記間の接続関係（組み合わせ）とを推測し、ユーザの意図する表記候補として可能性の高い（確率の高い）Ｎベスト経路ＢＲを決定する。次に文字入力装置１００は、レイアウト情報生成部１５が、Ｎベスト経路ＢＲに含まれる単語表記群から、表示する単語表記を抽出し、ユーザの意図する表記候補として可能性の最も高い第１位の経路ＢＲ１の単語表記列と、抽出した単語表記とを、表記候補として表示するためのレイアウト情報を生成する。その結果、文字入力装置１００は、レイアウト情報出力部１８が、レイアウト情報を出力する。
【０１２１】
これによって、本実施形態に係る文字入力装置１００は、ユーザが文節又は単語の文字を最後まで入力することなく、次の文節又は単語の入力に移行可能な環境を提供する。また、本実施形態に係る文字入力装置１００は、このような文字入力環境の中で、ユーザが意図する可能性の最も高い単語表記列と、表示する単語表記とを表示し、入力文字列ＣＳに対する表記候補を提示可能な環境を提供する。その結果、本実施形態に係る文字入力装置１００は、高速な文字入力サービスを提供できる。また、本実施形態に係る文字入力装置１００は、ユーザが、変換の指示、意図した表記の選択、文節又は単語区切りの修正などの操作を一切行わなくても、入力文字列ＣＳから自動的に高確率で意図した表記を提示することができる。これにより、本実施形態に係る文字入力装置１００は、ユーザが、例えば会議や講義などで、人の話を聞きながら、メモをとるといった文字入力を行い、画面を注視することが困難な環境であっても、最低限の注意力と作業量（タイピング量）で文字入力を効率的に継続可能なサービスを実現できる。つまり、本実施形態に係る文字入力装置１００は、利便性の向上を図ることができる。
【０１２２】
＜装置＞
図１７は、実施形態に係る文字入力装置１００の構成例を示す図である。図１７に示すように、実施形態に係る文字入力装置１００は、ＣＰＵ（Central  Processing  Unit）１０１、及び主記憶装置１０２などを備える。また、文字入力装置１００は、補助記憶装置１０３、通信ＩＦ（interface）１０４、外部ＩＦ１０５、及びドライブ装置１０７などを備える。文字入力装置１００は、各デバイスがバスＢを介して相互に接続される。このように、実施形態に係る文字入力装置１００は、一般的な情報処理装置に相当する。
【０１２３】
ＣＰＵ１０１は、装置全体の制御や搭載機能を実現するための演算装置である。主記憶装置１０２は、プログラムやデータなどを所定の記憶領域に保持する記憶装置（メモリ）である。主記憶装置１０２は、例えば、ＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）などである。また、補助記憶装置１０３は、主記憶装置１０２より容量の大きい記憶領域を備える記憶装置である。補助記憶装置１０３は、例えば、ＨＤＤ（Hard  Disk  Drive）やメモリカード（Memory  Card）などの不揮発性の記憶装置である。よって、ＣＰＵ１０１は、例えば、補助記憶装置１０３から主記憶装置１０２上に、プログラムやデータを読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する。
【０１２４】
通信ＩＦ１０４は、装置をデータ伝送路に接続するインタフェースである。これにより、文字入力装置１００は、データ伝送路を介して接続される他の外部機器とデータ通信が行える。外部ＩＦ１０５は、装置と外部装置１０６との間でデータを送受信するためのインタフェースである。外部装置１０６には、例えば処理結果などの各種情報を表示する表示装置（例えば「ディスプレイ」）や操作入力を受け付ける入力装置（例えば「テンキー」、や「キーボード」）などがある。ドライブ装置１０７は、記憶媒体１０８の書き込み又は読み取りを行う制御装置である。記憶媒体１０８は、例えばフレキシブルディスク（ＦＤ）、ＣＤ（Compact  Disk）、及びＤＶＤ（Digital  Versatile  Disk）などである。
【０１２５】
また、上記実施形態に係る文字入力機能は、例えば文字入力装置１００において、プログラム（文字入力プログラム）を実行することで、上記各機能部が連携動作することで実現される。この場合、プログラムは、実行環境の装置（コンピュータ）が読み取り可能な記憶媒体に、インストール可能な形式又は実行可能な形式のファイルで記録され提供される。例えば文字入力装置１００の場合には、プログラムは、上記各機能部を含むモジュール構成となっており、ＣＰＵ１０１が記憶媒体１０８からプログラムを読み出し実行することで、主記憶装置１０２のＲＡＭ上に各機能部が生成される。なお、プログラムの提供方法は、この限りでない。例えばプログラムを、インターネットなどに接続された外部機器に格納し、データ伝送路経由でダウンロードする方法であってもよい。また、主記憶装置１０２のＲＯＭや補助記憶装置１０３のＨＤＤなどに予め組み込んで提供する方法であってもよい。
【０１２６】
また、上記実施形態では、文字入力機能を実現するソフトウェアの実装環境が一般的な情報処理装置である例を説明したが、この限りでない。ソフトウェアの実装環境は、例えば携帯電話やタブレットなどの情報端末（非図示）であってもよい。
また、上記実施形態では、文字入力機能をソフトウェアの実装により実現する例を説明したが、この限りでない。例えば文字入力機能が有する各機能部の一部又は全部を、例えば「電子回路」や「集積回路」などのハードウェアの実装により実現してもよい。
【０１２７】
また、上記実施形態では、日本語入力の例を説明したが、この限りでない。例えば中国語のピンイン入力にも適用できる。
【０１２８】
また、上記実施形態では、一般的な文字入力方式の例を説明したが、この限りでない。例えばＴ９（Text  on  9  keys）などの文字入力方式により省入力を実現するシステムと連携させて実施してもよい。
【０１２９】
また、上記実施形態では、文字入力装置１００が、入力文字列取得部１１、単語表記リスト生成部１２、異表記取得部１３、Ｎベスト経路決定部１４、レイアウト情報生成部１５、意味情報取得部１６、レイアウト制約取得部１７、及びレイアウト情報出力部１８を有する構成について説明を行った。さらに、上記実施形態では、文字入力装置１００が、入力文字列取得部１１、単語表記リスト生成部１２、異表記取得部１３、Ｎベスト経路決定部１４、レイアウト情報生成部１５、意味情報取得部１６、レイアウト制約取得部１７、及びレイアウト情報出力部１８に加えて、終端指示受付部２１、終端挿入部２２、及び前方一致異表記取得部２３を有する構成について説明を行った。しかし、この機能構成については、この限りでない。例えば、文字入力装置１００が、これらの機能部の一部の機能を有する外部機器と、通信ＩＦ１０４を介して接続され、接続された外部機器とデータ通信を行い、各機能部を連携動作させることで、上記文字入力機能を提供する構成であってもよい。具体的には、文字入力装置１００が、異表記取得部１３及び意味情報取得部１６を有する外部機器とデータ通信を行い、各機能部を連携動作させることで、上記文字入力機能を提供してもよい。また、文字入力装置１００が、異表記取得部１３、前方一致異表記取得部２３、及び意味情報取得部１６を有する外部機器とデータ通信を行い、各機能部を連携動作させることで、上記文字入力機能を提供してもよい。このように、上記実施形態に係る文字入力装置１００は、クラウド環境などにも適用できる。
【０１３０】
最後に、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３１】
１１    入力文字列取得部
１２    単語表記リスト生成部
１３    異表記取得部
１４    Ｎベスト経路決定部
１５    レイアウト情報生成部
１６    意味情報取得部
１７    レイアウト制約取得部
１８    レイアウト情報出力部
２１    終端指示受付部
２２    終端挿入部
２３    前方一致異表記取得部
１００  文字入力装置
【図１】
2015022590.tif 000003
【図２】
2015022590.tif 000004
【図３】
2015022590.tif 000005
【図４】
2015022590.tif 000006
【図５】
2015022590.tif 000007
【図６】
2015022590.tif 000008
【図７】
2015022590.tif 000009
【図８】
2015022590.tif 000010
【図９】
2015022590.tif 000011
【図１０】
2015022590.tif 000012
【図１１】
2015022590.tif 000013
【図１２】
2015022590.tif 000014
【図１３】
2015022590.tif 000015
【図１４】
2015022590.tif 000016
【図１５】
2015022590.tif 000017
【図１６】
2015022590.tif 000018
【図１７】
2015022590.tif 000019