(57)【要約】      （修正有）【課題】辞書のサイズを抑えつつ難読文字の特定精度を向上させる。【解決手段】文字特定方法は、入力文字が複数の部位に分割された表示である第１分割表示と、第１分割表示に応じて選択された第１部位が置換された候補文字の表示とを行った場合に、第１部位の選択を受け付け、第１部位がさらに複数の部位に分割された表示である第２分割表示を第１辞書を用いて行った場合に、第１部位に含まれる第２部位の選択を受け付け、第１部位のうち第２部位以外の部位である第２確定部位を特定し、候補文字の構成情報であって、当該構成情報のうち第２確定部位を含む部位の構成情報が、第１辞書に登録された文字のうち第２確定部位を含む文字の構成情報で置換された構成情報と、候補文字とを含む第２辞書を生成し、候補文字のうち第１部位以外の部位である第１確定部位と第２確定部位とを含む候補文字を第２辞書から抽出する。【選択図】図６
2018060418.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
記憶領域に記憶され且つ文字と当該文字の構成情報とを含む第１辞書を用いて、入力文字が複数の部位に分割された表示である第１分割表示と、前記第１分割表示に応じて選択された第１部位が置換された文字である１又は複数の候補文字の表示とを行った場合に、前記第１部位が妥当ではない旨の入力を受け付け、
前記１又は複数の候補文字のうち前記第１部位以外の部位である第１確定部位を特定し、
前記第１辞書を用いて、前記第１部位がさらに複数の部位に分割された表示である第２分割表示を行った場合に、前記第１部位に含まれる第２部位の選択を受け付け、
前記第１部位のうち前記第２部位以外の部位である第２確定部位を特定し、
前記１又は複数の候補文字の構成情報であって、当該構成情報のうち前記第２確定部位を含む部位の構成情報が、前記第１辞書に登録された文字のうち前記第２確定部位を含む文字の構成情報で置換された構成情報と、前記１又は複数の候補文字とを含む第２辞書を生成し、
前記第２辞書から、前記第１確定部位および前記第２確定部位を含む候補文字を抽出し、抽出された前記候補文字の表示を行う、
処理を実行させる文字特定プログラム。
【請求項２】
前記第１分割表示を行う処理において、
前記入力文字の構成情報を前記第１辞書から特定し、特定された前記構成情報に従い前記第１分割表示を生成し、
前記第２分割表示を行う処理において、
前記第１部位に相当する文字の構成情報を前記第１辞書から特定し、特定された前記構成情報に従い前記第２分割表示を生成する、
請求項１記載の文字特定プログラム。
【請求項３】
前記第２辞書を生成する処理において、
前記第１辞書を用いて、前記１又は複数の候補文字と、前記１又は複数の候補文字の構成情報とを含む第３辞書を生成し、
前記第３辞書に含まれる構成情報のうち前記第２確定部位を含む部位の構成情報を、前記第１辞書に登録された文字のうち前記第２確定部位を含む文字の構成情報で置換し、前記１又は複数の候補文字と置換後の前記構成情報と含む前記第２辞書を生成する、
請求項１又は２記載の文字特定プログラム。
【請求項４】
前記１又は複数の候補文字の表示を行う処理において、
前記第１部位の強調表示を行い、
特定された前記候補文字の表示を行う処理において、
前記第２部位の強調表示を行う、
請求項１乃至３のいずれか１つ記載の文字特定プログラム。
【請求項５】
前記文字は漢字であり、
前記第１辞書に含まれる構成情報は、漢字構成記述文字と漢字に含まれる要素とを含む、
請求項１乃至４のいずれか１つ記載の文字特定プログラム。
【請求項６】
前記入力文字は、手書きの入力文字である、
請求項１乃至５のいずれか１つ記載の文字特定プログラム。
【請求項７】
コンピュータが、
記憶領域に記憶され且つ文字と当該文字の構成情報とを含む第１辞書を用いて、入力文字が複数の部位に分割された表示である第１分割表示と、前記第１分割表示に応じて選択された第１部位が置換された文字である１又は複数の候補文字の表示とを行った場合に、前記第１部位が妥当ではない旨の入力を受け付け、
前記１又は複数の候補文字のうち前記第１部位以外の部位である第１確定部位を特定し、
前記第１辞書を用いて、前記第１部位がさらに複数の部位に分割された表示である第２分割表示を行った場合に、前記第１部位に含まれる第２部位の選択を受け付け、
前記第１部位のうち前記第２部位以外の部位である第２確定部位を特定し、
前記１又は複数の候補文字の構成情報であって、当該構成情報のうち前記第２確定部位を含む部位の構成情報が、前記第１辞書に登録された文字のうち前記第２確定部位を含む文字の構成情報で置換された構成情報と、前記１又は複数の候補文字とを含む第２辞書を生成し、
前記第２辞書から、前記第１確定部位および前記第２確定部位を含む候補文字を抽出し、抽出された前記候補文字の表示を行う、
処理を実行する文字特定方法。
【請求項８】
記憶領域に記憶され且つ文字と当該文字の構成情報とを含む第１辞書を用いて、入力文字が複数の部位に分割された表示である第１分割表示を行う第１処理部と、
前記第１分割表示に応じて選択された第１部位が置換された文字である１又は複数の候補文字の表示とを行う第２処理部と、
前記第１部位が妥当ではない旨の入力を受け付け、前記１又は複数の候補文字のうち前記第１部位以外の部位である第１確定部位を特定し、前記第１辞書を用いて、前記第１部位がさらに複数の部位に分割された表示である第２分割表示を行う第３処理部と、
前記第１部位に含まれる第２部位の選択を受け付け、前記第１部位のうち前記第２部位以外の部位である第２確定部位を特定し、前記１又は複数の候補文字の構成情報であって、当該構成情報のうち前記第２確定部位を含む部位の構成情報が、前記第１辞書に登録された文字のうち前記第２確定部位を含む文字の構成情報で置換された構成情報と、前記１又は複数の候補文字とを含む第２辞書を生成し、前記第２辞書から、前記第１確定部位および前記第２確定部位を含む候補文字を抽出し、抽出された前記候補文字の表示を行う第４処理部と、
を有する文字特定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字の特定技術に関する。
【背景技術】
【０００２】
ＪＩＳ（Japanese Industrial Standards）Ｘ０２１３の制定および情報処理推進機構等が推進する文字情報基盤整備事業により、コンピュータで利用可能な文字が増加している。コンピュータで利用可能な文字には、一般的な利用者が読むことができない難読文字が含まれる。
【０００３】
難読文字は、同一データか否かの判定の妨げになることがある。例えば図１に示すような２つのシステムがあるとする。システムＡには、コンピュータが利用可能な漢字で氏名が登録されている。システムＢについては、登録を行った者が名の漢字を読むことができず、かな漢字変換によって名の漢字を特定できなかったため、利用者定義文字（外字とも呼ばれる）が登録されている。このようなケースにおいては、２つのレコードが同一人物に関するものであるか判定できないので、情報統合を行うことができない。
【０００４】
スマートフォンやタブレット等のスマートデバイスを利用して入力作業を行う場合、記憶装置の容量が少ないため搭載可能な辞書のサイズが制限されるので、難読文字の特定はより難しくなる。また、スマートデバイスによる入力方法は限られているため、詳細かつ正確な指定が難しい。さらに、画面がパーソナルコンピュータ等と比較して小さいため、多くの異体字を有する漢字について細かい差を判別することが難しい。
【０００５】
目的の漢字を得るための技術として、或る文献は以下のような漢字検索装置を開示する。具体的には、漢字検索装置は、目的の漢字の構成部分と構成部分の相対的な位置の情報と含む検索式を生成し、生成した検索式で辞書を検索する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−２３７２７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記技術は、辞書作成者の意図に沿った検索が行われることを前提としており、辞書作成者が準備する組合せの数が少ない場合には検索漏れが発生する。検索漏れが発生しないようにするためあらゆる組合せを準備すると、辞書のサイズが大きくなる。また、難読文字の場合にはそもそも検索式を入力すること自体が難しい。
【０００８】
本発明の目的は、１つの側面では、辞書のサイズを抑えつつ難読文字の特定精度を向上させる技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明に係る文字特定方法は、記憶領域に記憶され且つ文字と当該文字の構成情報とを含む第１辞書を用いて、入力文字が複数の部位に分割された表示である第１分割表示と、第１分割表示に応じて選択された第１部位が置換された文字である１又は複数の候補文字の表示とを行った場合に、第１部位が妥当ではない旨の入力を受け付け、１又は複数の候補文字のうち第１部位以外の部位である第１確定部位を特定し、第１辞書を用いて、第１部位がさらに複数の部位に分割された表示である第２分割表示を行った場合に、第１部位に含まれる第２部位の選択を受け付け、第１部位のうち第２部位以外の部位である第２確定部位を特定し、１又は複数の候補文字の構成情報であって、当該構成情報のうち第２確定部位を含む部位の構成情報が、第１辞書に登録された文字のうち第２確定部位を含む文字の構成情報で置換された構成情報と、１又は複数の候補文字とを含む第２辞書を生成し、第２辞書から、第１確定部位および第２確定部位を含む候補文字を抽出し、抽出された候補文字の表示を行う処理を含む。
【発明の効果】
【００１０】
１つの側面では、辞書のサイズを抑えつつ難読文字の特定精度を向上させることができるようになる。
【図面の簡単な説明】
【００１１】
【図１】図１は、難読文字が情報利活用の妨げになることを説明するための図である。
【図２】図２は、本実施の形態によって実現される入力作業を説明するための図である。
【図３】図３は、本実施の形態によって実現される入力作業を説明するための図である。
【図４】図４は、本実施の形態によって実現される入力作業を説明するための図である。
【図５】図５は、本実施の形態によって実現される入力作業を説明するための図である。
【図６】図６は、情報処理装置の機能ブロック図である。
【図７】図７は、漢字構成記述文字について説明するための図である。
【図８】図８は、辞書格納部に格納される辞書の一例を示す図である。
【図９】図９は、処理部が実行する処理の処理フローを示す図である。
【図１０】図１０は、入力支援部が実行する処理の処理フローを示す図である。
【図１１】図１１は、イベント時の処理の遷移を示す図である。
【図１２】図１２は、入力開始イベント時の処理の処理フローを示す図である。
【図１３】図１３は、入力開始イベント時の処理によって表示されるデータの一例を示す図である。
【図１４】図１４は、指示イベント時の処理の処理フローを示す図である。
【図１５】図１５は、漢字構成記述文字の一例を示す図である。
【図１６】図１６は、プロパティ「ｃａｎｄｉｄａｔｅｓ」としてデータ格納部に格納されるレコードの一例を示す図である。
【図１７】図１７は、指示イベント時の処理によって表示されるデータの一例を示す図である。
【図１８】図１８は、ドリルダウン開始イベント時の処理の処理フローを示す図である。
【図１９】図１９は、ドリルダウン開始イベント時の処理によって表示されるデータの一例を示す図である。
【図２０】図２０は、ドリルダウン指示イベント時の処理の処理フローを示す図である。
【図２１】図２１は、ドリルダウン後の構成文字列の一例を示す図である。
【図２２】図２２は、ドリルダウン後の構成文字列とプロパティ「ｃａｎｄｉｄａｔｅｓ」として格納される構成文字列とから生成される構成文字列の一例を示す図である。
【図２３】図２３は、プロパティ「ｃａｎｄｉｄａｔｅｓ」としてデータ格納部に格納されるデータの一例を示す図である。
【図２４】図２４は、ドリルダウン指示イベント時の処理によって表示されるデータの一例を示す図である。
【図２５】図２５は、確定イベント時の処理の処理フローを示す図である。
【図２６】図２６は、確定イベント時の処理によって表示されるデータの一例を示す図である。
【図２７】図２７は、キャンセルイベント時の処理の処理フローを示す図である。
【図２８】図２８は、キャンセルイベント時の処理によって表示されるデータの一例を示す図である。
【図２９】図２９は、各プロパティの設定について説明するための図である。
【図３０】図３０は、検索の対象となる文字の集合について説明するための図である。
【図３１】図３１は、検索の対象となる文字の集合について説明するための図である。
【図３２】図３２は、検索の対象となる文字の集合について説明するための図である。
【図３３】図３３は、検索の対象となる文字の集合について説明するための図である。
【図３４】図３４は、辞書のデータ量の抑制について説明するための図である。
【図３５】図３５は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１２】
［本実施の形態における入力作業の概要］
図２に、本実施の形態によって実現される入力作業の一例を示す。ユーザは、図２における文字１ｋを入力したいとする。文字１ｋは、「リョウ」でかな漢字変換を行ったとしても一般的なＩＭＥ（Input Method Editor）では候補として表示されない。そこで、まずユーザは外観が文字１ｋに近い「僚」を入力し、「僚」を選択して例えばロングタップする。なお、既に入力された文字を修正する場合、入力は不要である。
【００１３】
図２（ａ）に示すように、選択された文字の構成を表す破線が辞書に登録されたデータに従い表示される。「僚」は縦２列の構成を有し、左側がにんべんであり且つ右側がそれ以外の部分であるとして辞書に登録されているとする。
【００１４】
ユーザは、入力したい漢字の部位と異なる部位を、例えばタップにより選択する。図２（ｂ）の例では、縦２列の構成のうち部首である左側の部位が文字１ｋの部位と異なるので、ユーザは左側の部位を選択する。
【００１５】
すると、図２（ｃ）に示すように、左側の部位が「僚」と異なる文字の一覧が表示される。ユーザは、表示された文字の中から、入力したい文字である文字１ｋを、例えばタップにより選択する。
【００１６】
図３乃至図５に、本実施の形態によって実現される入力作業の他の例を示す。ユーザは、図５における文字２ｋを入力したいとする。ユーザは文字２ｋの読み方がわからないため、かな漢字変換によって候補を表示させることができない。
【００１７】
そこで、図３（ａ）に示すように、ユーザは外観が文字２ｋに近い「瀬」を入力し、「瀬」を選択して例えばロングタップする。なお、既に入力された文字を修正する場合、入力は不要である。
【００１８】
図３（ｂ）に示すように、選択された文字の構成を表す破線が辞書に登録されたデータに従い表示される。「瀬」は縦２列の構成を有し、左側がさんずいであり且つ右側が「頼」であるとして辞書に登録されているとする。
【００１９】
ユーザは、入力したい漢字の部位と異なる部位を、例えばタップにより選択する。図３（ｃ）の例では、縦２列の構成のうち右側の部位が文字２ｋの部位と異なるので、ユーザは右側の部位を選択する。
【００２０】
すると、図４（ａ）に示すように、右側の部位が「瀬」と異なる文字の一覧が表示される。ユーザは、表示された文字の中から入力したい文字である文字２ｋを探すが、さんずいを含む文字は多すぎるので文字２ｋを発見することができない。
【００２１】
そこで、図４（ｂ）に示すように、ユーザは右側の部位を、例えばロングタップにより再度選択する。以下では、ユーザによる再選択の操作に応じて開始される処理をドリルダウンと呼ぶ。
【００２２】
ドリルダウンにより、図４（ｃ）に示すように、再選択された部位の構成を表す破線が辞書に登録されたデータに従い表示される。「頼」は縦２列の構成を有し、左側が「束」であり且つ右側が「頁」であるとして辞書に登録されているとする。
【００２３】
ユーザは、入力したい漢字の部位と異なる部位を、例えばタップにより選択する。図５（ａ）の例では、縦２列の構成のうち右側の部位（ここでは、３つの部位のうち最も右の部位）が文字２ｋの部位と異なるので、ユーザは右側の部位を選択する。
【００２４】
すると、図５（ｂ）に示すように、右側の部位が「瀬」と異なる文字の一覧が表示される。ユーザは、表示された文字の中から、入力したい文字である文字２ｋを、例えばタップにより選択する。
【００２５】
［本実施の形態の具体的な内容］
以下では、上記のような入力作業を実現するための具体的な内容を説明する。図６に、本実施の形態における情報処理装置１の機能ブロック図を示す。情報処理装置１は、例えばスマートデバイスである。情報処理装置１のＣＰＵ（Central Processing Unit）が、アプリケーションプログラムを実行することによってアプリケーション１０（例えばブラウザ又はテキストエディタ）が実現される。アプリケーション１０は、アプリケーションとしての本来の処理を実行する処理部１０１と、入力支援部１０２とを含む。入力支援部１０２は、第１イベント処理部１０２１と、第２イベント処理部１０２２と、第３イベント処理部１０２３と、第４イベント処理部１０２４と、第５イベント処理部１０２５と、第６イベント処理部１０２６とを含む。情報処理装置１の記憶装置（例えばフラッシュメモリ）には、辞書格納部１１とデータ格納部１２とが設けられる。
【００２６】
第１イベント処理部１０２１は、入力開始イベント時の処理を実行する。第２イベント処理部１０２２は、指示イベント時の処理を実行する。第３イベント処理部１０２３は、ドリルダウン開始イベント時の処理を実行する。第４イベント処理部１０２４は、ドリルダウン指示イベント時の処理を実行する。第５イベント処理部１０２５は、確定イベント時の処理を実行する。第６イベント処理部１０２６は、キャンセルイベント時の処理を実行する。
【００２７】
図７を用いて、漢字構成記述文字について説明する。漢字構成記述文字とは、古い文献等にある「現代にはない文字」および「まだ規格化されていない文字」を表現する際に利用される。破線のブロックは、ＵｎｉｃｏｄｅのＩｄｅｏｇｒａｐｈｉｃ Ｄｅｓｃｒｉｐｔｉｏｎ Ｃｈａｒａｃｔｅｒｓであり、１６進数の４桁の文字コードで表される。なお、漢字構成記述文字については、例えば、http://unicode.org/charts/PDF/U2FF0.pdfおよびhttp://www.unicode.org/versions/Unicode8.0.0/ch18.pdfの１８．２等を参照のこと。
【００２８】
図８に、辞書格納部１１に格納される辞書の一例を示す。本実施の形態における辞書は、キーを文字とし、値を構成文字列とする。構成文字列は、漢字構成記述文字と、漢字に含まれる要素（例えば部首など）とを含み、最大構成で正規化されている。
【００２９】
例えば「瀬」という文字の場合、３分割の構成として「さんずい」と「束」と「頁」とに分けるのではなく、縦二分割の構成として「さんずい」と「頼」とに分ける。「頼」については、縦二分割の構成として「束」と「頁」とに分けられる。
【００３０】
３番目のレコードについては、縦２列の構成で表すことができないため、縦３列の構成を表す漢字構成記述文字が格納される。４番目のレコードについては、右側の部位をそのまま表す文字が無いため入れ子で表現される。５番目のレコードについては、右側の部位を表す文字が無く且つ入れ子で表すこともできないため、右側の部位は「×」で表される。
【００３１】
次に、図９乃至図３４を用いて、情報処理装置１の動作を説明する。
【００３２】
まず、図９を用いて、アプリケーション１０の処理部１０１が実行する処理の概要を説明する。処理部１０１は、ユーザから文字の修正指示を受け付けたか判定する（図９：ステップＳ１）。修正指示とは、例えば、文字のロングタップである。修正指示を受け付けていない場合（ステップＳ１：Ｎｏルート）、ステップＳ１の処理に戻る。一方、修正指示を受け付けた場合（ステップＳ１：Ｙｅｓルート）、入力支援部１０２に対象の文字のデータを送信する（ステップＳ３）。以下では、対象の文字のことを基底文字と呼ぶ。
【００３３】
処理部１０１は、文字が確定したか判定する（ステップＳ５）。文字が確定した場合には入力支援部１０２から確定後の文字が通知されるので、通知を受信したか否かによってステップＳ５の判定が行われる。
【００３４】
文字が確定していない場合（ステップＳ５：Ｎｏルート）、ステップＳ１の処理に戻る。一方、文字が確定した場合（ステップＳ５：Ｙｅｓルート）、基底文字を確定後の文字に修正する（ステップＳ７）。
【００３５】
処理部１０１は、アプリケーション１０に対する終了指示が有ったか判定する（ステップＳ９）。アプリケーション１０に対する終了指示が無い場合（ステップＳ９：Ｎｏルート）、ステップＳ１の処理に戻る。一方、アプリケーション１０に対する終了指示が有った場合（ステップＳ９：Ｙｅｓルート）、処理は終了する。
【００３６】
以上のようにすれば、アプリケーション１０における処理部１０１と導入された入力支援部１０２とが連携できるようになる。
【００３７】
図１０を用いて、アプリケーション１０の入力支援部１０２が実行する処理を説明する。入力支援部１０２は、処理部１０１から呼び出されると、初期化処理（例えば、辞書格納部１１に格納されている辞書をメモリ（例えばＲＡＭ（Random Access Memory））に展開する処理）を実行する（図１０：ステップＳ１１）。処理部１０１からの呼び出しは、例えば、処理部１０１の動作開始時に行われる。
【００３８】
入力支援部１０２は、入力支援処理を実行する（ステップＳ１３）。入力支援処理においては、入力開始イベント時の処理と、指示イベント時の処理と、ドリルダウン開始イベント時の処理と、ドリルダウン指示イベント時の処理と、確定イベント時の処理と、キャンセルイベント時の処理とが実行される。イベント時の処理の遷移は、図１１に示すとおりである。処理部１０１からの通知によって、入力開始イベント時の処理が開始される。処理は入力開始イベント時の処理から指示イベント時の処理に遷移する。次に、処理は指示イベント時の処理からドリルダウン開始イベント時の処理又は確定イベント時の処理に遷移する。処理はドリルダウン開始イベント時の処理からドリルダウン指示イベント時の処理に遷移する。処理はドリルダウン指示イベント時の処理から、ドリルダウン開始イベント時の処理、指示イベント時の処理又は確定イベント時の処理に遷移する。確定イベント時の処理が終了すると、入力支援部１０２は処理部１０１からの通知を受信するまで待機する。また、入力支援部１０２が基底文字ウィンドウの消去指示を受信した場合にはキャンセルイベント時の処理が実行される。
【００３９】
以下では、図１２乃至図２８を用いて、各処理の内容を説明する。
【００４０】
まず、図１２及び図１３を用いて、入力開始イベント時の処理を説明する。第１イベント処理部１０２１は、基底文字のデータを処理部１０１から受信する（図１２：ステップＳ２１）。基底文字のデータの受信は、入力開始イベントとしてユーザが選択文字列を例えばロングタップした場合に行われる。
【００４１】
第１イベント処理部１０２１は、データ格納部１２に記憶されている各プロパティを初期化する（ステップＳ２３）。本実施の形態においては、プロパティ「ｂａｓｅ」として基底文字の状態が記憶され、プロパティ「ｄｅｐｔｈ」としてドリルダウン深度が記憶され、プロパティ「ｅｌｅｍｅｎｔｓ［ｄｅｐｔｈ］」として構成文字列の状態が記憶され、プロパティ「ｐｏｓｉｔｉｏｎ［ｄｅｐｔｈ］」として可変（すなわち、ワイルドカード）とする位置が記憶され、プロパティ「ｃａｎｄｉｄａｔｅｓ」として候補の状態が記憶され、プロパティ「ｗＢａｓｅ」として基底文字ウィンドウオブジェクトの状態が記憶され、プロパティ「ｗＣａｎｄｉｄａｔｅｓ」として候補ウィンドウオブジェクトの状態が記憶される。プロパティ「ｄｅｐｔｈ」初期値は０である。プロパティ「ｐｏｓｉｔｉｏｎ［ｄｅｐｔｈ］」は、左上を原点（０）とし、時計回りで順に番号が割り振られる。例えば縦３列の構成の場合、左、中、右の順に０，１，２である。
【００４２】
第１イベント処理部１０２１は、基底文字のデータをプロパティ「ｂａｓｅ」としてデータ格納部１２に格納する（ステップＳ２５）。
【００４３】
第１イベント処理部１０２１は、基底文字が収まるように基底文字ウィンドウを情報処理装置１の表示装置に表示する（ステップＳ２７）。表示された基底文字ウィンドウの状態は、プロパティ「ｗＢａｓｅ」として記憶される。
【００４４】
第１イベント処理部１０２１は、基底文字に対応する構成文字列を辞書から取得し、データ格納部１２にプロパティ「ｅｌｅｍｅｎｔ［ｄｅｐｔｈ］」として格納する（ステップＳ２９）。
【００４５】
第１イベント処理部１０２１は、ステップＳ２９において取得した構成文字列に基づき、基底文字の構成を表す破線を情報処理装置１の表示装置に表示する（ステップＳ３１）。そして入力開始イベント時の処理は終了する。
【００４６】
図１３に、入力開始イベント時の処理によって表示されるデータの一例を示す。図１３の例では、例えばロングタップされた基底文字「瀬」について、基底文字ウィンドウ１３０１と、構成を表す破線１３０２とが表示されている。
【００４７】
図１４乃至図１７を用いて、指示イベント時の処理を説明する。入力開始イベント時の処理によって、基底文字は破線により複数の部位に分割されるので、ユーザは複数の部位のうち入力したい文字の部位と異なる部位をタップにより選択する。この選択は指示イベントに相当する。
【００４８】
第２イベント処理部１０２２は、破線による分割によって生成された複数の部位のうち入力したい文字の部位と異なるとして選択された部位の位置情報を処理部１０１から受信する（図１４：ステップＳ４１）。例えば「瀬」についての２つの部位のうち右側の部位が選択された場合、位置情報は「１」である。
【００４９】
第２イベント処理部１０２２は、選択されていない（つまり、確定した）部位である確定部位を特定し、確定部位の位置情報をメモリに格納する（ステップＳ４２）。例えば「瀬」のうち右側の部分が選択された場合、確定部位は左側の部位（すなわち、さんずい）である。
【００５０】
第２イベント処理部１０２２は、選択された部位の位置情報をプロパティ「ｐｏｓｉｔｉｏｎ［ｄｅｐｔｈ］」としてデータ格納部１２に格納し、選択された部位を強調表示する（ステップＳ４３）。
【００５１】
第２イベント処理部１０２２は、選択された部位を可変とする検索条件を生成する（ステップＳ４５）。検索条件には、ステップＳ４２において特定された確定部位の情報が反映される。例えば、「瀬」における２つの部位のうち選択された部位の位置情報が「１」である場合、以下の検索条件が生成される。
【００５２】
【数１】
2018060418.tif 000003
【００５３】
なお、「瀬」の漢字構成記述文字は図１５（ａ）に示すものであるが、同様の構成である図１５（ｂ）の漢字構成記述文字も検索条件に追加されている。また、基底文字の漢字構成記述文字が図１５（ｃ）に示すものである場合には、図１５（ｄ）の漢字構成記述文字も検索条件に追加される。
【００５４】
第２イベント処理部１０２２は、ステップＳ４５において生成した検索条件で辞書を検索し、検索条件を満たす構成文字列を含むレコードを取得する（ステップＳ４７）。
【００５５】
第２イベント処理部１０２２は、ステップＳ４７において取得したレコードを、プロパティ「ｃａｎｄｉｄａｔｅｓ」としてデータ格納部１２に格納する（ステップＳ４９）。
【００５６】
図１６に、プロパティ「ｃａｎｄｉｄａｔｅｓ」としてデータ格納部１２に格納されるレコードの一例を示す。図１６の例では、文字と、文字の構成文字列とが格納される。
【００５７】
第２イベント処理部１０２２は、プロパティ「ｃａｎｄｉｄａｔｅｓ」としてデータ格納部１２に格納された文字（以下、候補と呼ぶ）と、候補ウィンドウとを情報処理装置１の表示装置に表示する（ステップＳ５１）。そして処理は終了する。
【００５８】
図１７に、指示イベント時の処理によって表示されるデータの一例を示す。図１７の例では、基底文字ウィンドウ１３０１における２つの部位のうち選択された部位が強調表示されている。また、候補ウィンドウ１７０１と、候補ウィンドウ１７０１に収められた候補とが表示されている。なお、候補の数が所定数以上である場合、「・・・」を用いて省略表示される。
【００５９】
図１８及び図１９を用いて、ドリルダウン開始イベント時の処理を説明する。指示イベント時の処理によって１又は複数の候補が表示されるが、ユーザが入力したい文字と一致する候補が表示されていない場合、ユーザは基底文字の部位のうち入力したい文字の部位と異なる部位を例えばロングタップにより再選択する。この再選択はドリルダウン開始イベントに相当する。
【００６０】
第３イベント処理部１０２３は、ドリルダウンの対象として選択された部位の位置情報を処理部１０１から受信する（図１８：ステップＳ６１）。
【００６１】
第３イベント処理部１０２３は、ドリルダウンの対象である部位が辞書に登録された文字のいずれかに一致するか判定する（ステップＳ６３）。例えば、ドリルダウンの対象である部位が「瀬」の右側の部位である「頼」であれば、「頼」は辞書に登録されているので、処理はステップＳ６５のＹｅｓルートに進む。
【００６２】
ドリルダウンの対象である部位が辞書に登録された文字のいずれにも一致しない場合（ステップＳ６５：Ｎｏルート）、ドリルダウンを実行できないので、処理は終了する。一方、ドリルダウンの対象である部位が辞書に登録された文字のいずれかに一致する場合（ステップＳ６５：Ｙｅｓルート）、第３イベント処理部１０２３は、以下の処理を実行する。具体的には、第３イベント処理部１０２３は、候補ウィンドウ及び候補の表示を消去する（ステップＳ６７）。
【００６３】
第３イベント処理部１０２３は、ドリルダウンの対象である部位の強調表示を消去する（ステップＳ６９）。
【００６４】
第３イベント処理部１０２３は、データ格納部１２に格納されているプロパティ「ｄｅｐｔｈ」を１インクリメントする（ステップＳ７１）。
【００６５】
第３イベント処理部１０２３は、ドリルダウンの対象である部位に対応する構成文字列を辞書から取得し、取得した構成文字列で、プロパティ「ｅｌｅｍｅｎｔｓ［ｄｅｐｔｈ−１］」（すなわち、基底文字に対応する構成文字列）のうちドリルダウンの対象である部位に対応する部分を更新する（ステップＳ７３）。例えば「瀬」の場合、構成文字列のうち「頼」の部分は、図８における２番目のレコードの構成文字列で置換される。なお、更新後の構成文字列はプロパティ「ｅｌｅｍｅｎｔｓ［ｄｅｐｔｈ］」に相当する。
【００６６】
第３イベント処理部１０２３は、プロパティ「ｅｌｅｍｅｎｔｓ［ｄｅｐｔｈ］」に基づき、基底文字の構成を表す破線を表示する（ステップＳ７５）。そして処理は終了する。
【００６７】
図１９に、ドリルダウン開始イベント時の処理によって表示されるデータの一例を示す。図１９の例では、例えばロングタップによって再選択された基底文字「瀬」について、破線１３０２及び１９０１が表示されている。
【００６８】
図２０乃至図２４を用いて、ドリルダウン指示イベント時の処理を説明する。ドリルダウン開始イベント時の処理によって、基底文字のうちユーザにより選択された部位は破線により複数の部位にさらに分割されるので、ユーザは複数の部位のうち入力したい文字の部位と異なる部位をタップによりさらに選択する。この選択はドリルダウン指示イベントに相当する。
【００６９】
第４イベント処理部１０２４は、破線による分割によって生成された複数の部位のうち入力したい文字の部位と異なるとして選択された部位の位置情報を処理部１０１から受信する（図２０：ステップＳ８１）。例えば「瀬」についての３つの部位のうち右側の部位が選択された場合、位置情報は「２」である。
【００７０】
第４イベント処理部１０２４は、選択されていない（つまり、確定した）部位である確定部位を特定し、確定部位の位置情報をメモリに格納する（ステップＳ８２）。例えば「瀬」のうち右側の部分が選択された場合、確定部位は左側の部位および中央の部位（すなわち、さんずいと「束」）である。
【００７１】
第４イベント処理部１０２４は、選択された部位の位置情報をプロパティ「ｐｏｓｉｔｉｏｎ［ｄｅｐｔｈ］」としてデータ格納部１２に格納し、選択された部位を強調表示する（ステップＳ８３）。
【００７２】
第４イベント処理部１０２４は、選択された部位を可変とする検索条件を生成する（ステップＳ８５）。検索条件には、ステップＳ８２において特定された確定部位の情報が反映される。例えば、「瀬」における３つの部位のうち選択された部位の位置情報が「２」である場合、以下の検索条件が生成される。
【００７３】
【数２】
2018060418.tif 000004
【００７４】
なお、「瀬」の漢字構成記述文字は図１５（ａ）に示すものであるが、同様の構成である図１５（ｂ）の漢字構成記述文字も検索条件に追加されている。また、基底文字の漢字構成記述文字が図１５（ｃ）に示すものである場合には、図１５（ｄ）の漢字構成記述文字も検索条件に追加される。
【００７５】
第４イベント処理部１０２４は、ドリルダウンの対象のうち選択された部位を可変とする検索条件で辞書を検索し、ドリルダウン後の構成文字列を生成する（ステップＳ８７）。例えば、ドリルダウンの対象が「頼」であり且つ選択された部位が「頁」である場合、ステップＳ８７においては以下のような検索条件が使用される。
【００７６】
【数３】
2018060418.tif 000005
【００７７】
ステップＳ８７の処理によって、例えば図２１に示すような構成文字列が生成される。
【００７８】
第４イベント処理部１０２４は、ステップＳ８７において生成された、ドリルダウン後の構成文字列で、プロパティ「ｃａｎｄｉｄａｔｅｓ」の構成文字列のうちドリルダウンの対象である部位に対応する部分を更新する（ステップＳ８９）。
【００７９】
例えば、ドリルダウン後の構成文字列が図２１に示した構成文字列であり、プロパティ「ｃａｎｄｉｄａｔｅｓ」の構成文字列が図１６に示した構成文字列であるとする。このような場合には、図２１におけるレコードｒ０４で図１６におけるレコードｒ０１が更新されて、図２１におけるレコードｒ０５で図１６におけるレコードｒ０２が更新され、図２１におけるレコードｒ０６で図１６におけるレコードｒ０３が更新される。その結果、図２２に示すような構成文字列が生成される。図２２におけるレコードｒ０７は、レコードｒ０１とレコードｒ０４とから生成されたレコードであり、レコードｒ０８は、レコードｒ０２とレコードｒ０５とから生成されたレコードであり、レコードｒ０９は、レコードｒ０３とレコードｒ０６とから生成されたレコードである。
【００８０】
第４イベント処理部１０２４は、プロパティ「ｃａｎｄｉｄａｔｅｓ」としてデータ格納部１２に格納されているレコードの中から、検索条件を満たすレコードを特定する（ステップＳ９１）。
【００８１】
第４イベント処理部１０２４は、特定されたレコードでプロパティ「ｃａｎｄｉｄａｔｅｓ」を更新する（ステップＳ９３）。
【００８２】
図２３に、プロパティ「ｃａｎｄｉｄａｔｅｓ」としてデータ格納部１２に格納されるデータの一例を示す。図２３の例では、ステップＳ４２において特定された確定部位およびステップＳ８２において特定された確定部位を含む文字と、文字の構成文字列とが格納される。
【００８３】
第４イベント処理部１０２４は、プロパティ「ｃａｎｄｉｄａｔｅｓ」としてデータ格納部１２に格納されている文字（すなわち候補）と、候補ウィンドウとを情報処理装置１の表示装置に表示する（ステップＳ９５）。そして処理は終了する。
【００８４】
図２４に、ドリルダウン指示イベント時の処理によって表示されるデータの一例を示す。図２４の例では、例えばロングタップされた部位「頼」における２つの部位のうち選択された部位が強調表示されている。また、候補ウィンドウ２４０１と、候補ウィンドウに収められた候補とが表示されている。なお、候補の数が所定数以上である場合、「・・・」を用いて省略表示される。
【００８５】
図２５及び図２６を用いて、確定イベント時の処理を説明する。指示イベント時の処理によって１又は複数の候補が表示されるが、ユーザが入力したい文字と一致する候補が表示されている場合、ユーザはその候補をタップにより選択する。この選択は確定イベントに相当する。また、ドリルダウン指示イベントの処理によって１又は複数の候補が表示されるが、ユーザが入力したい文字と一致する候補が表示されている場合、ユーザはその候補をタップにより選択する。この選択も確定イベントに相当する。
【００８６】
第５イベント処理部１０２５は、表示された１又は複数の候補のうち選択された候補のインデックス（例えば文字の識別番号）を処理部１０１から受信する（図２５：ステップＳ１０１）。
【００８７】
第５イベント処理部１０２５は、選択された文字のデータを処理部１０１に送信する（ステップＳ１０３）。これに応じ、処理部１０１は文字の差し替えを行う。
【００８８】
第５イベント処理部１０２５は、データ格納部１２に格納されている各プロパティを初期化する（ステップＳ１０５）。
【００８９】
第５イベント処理部１０２５は、基底文字ウィンドウの表示を消去する（ステップＳ１０７）。
【００９０】
第５イベント処理部１０２５は、候補ウィンドウの表示を消去する（ステップＳ１０９）。そして処理は終了する。
【００９１】
図２６に、確定イベント時の処理によって表示されるデータの一例を示す。図２６の例では、ユーザが入力した文字２ｋが表示されており、文字２ｋには下線が付されている。ユーザがさらに確定指示を入力（例えば、エンターキーをクリック）すると、文字の入力が完了する。
【００９２】
図２７及び図２８を用いて、キャンセルイベント時の処理を説明する。ユーザは本実施の形態の入力作業を実施中、文字の入力を諦めた場合又は既に入力した文字が誤っていないことに気付いた場合等において、基底文字ウィンドウを画面外にスワイプする。この操作は、キャンセルイベントに相当する。
【００９３】
第６イベント処理部１０２６は、基底文字ウィンドウの消去指示を処理部１０１から受信する（図２７：ステップＳ１１１）。
【００９４】
第６イベント処理部１０２６は、基底文字ウィンドウの消去指示を受け付けたことを処理部１０１に送信する（ステップＳ１１３）。
【００９５】
第６イベント処理部１０２６は、基底文字ウィンドウの表示を消去する（ステップＳ１１５）。
【００９６】
第６イベント処理部１０２６は、候補ウィンドウの表示を消去する（ステップＳ１１７）。
【００９７】
第６イベント処理部１０２６は、データ格納部１２に格納されている各プロパティを初期化する（ステップＳ１１９）。そして処理は終了する。
【００９８】
図２８に、キャンセルイベント時の処理によって表示されるデータの一例を示す。図２８の例では、画面上の文字は本実施の形態の入力作業を開始する前の状態に戻っている。
【００９９】
図２９を用いて、各プロパティの設定について説明を追加する。
【０１００】
プロパティ「ｂａｓｅ」は、入力開始イベント時の処理によって設定され、確定イベント時の処理およびキャンセルイベント時の処理によって消去される。
【０１０１】
プロパティ「ｄｅｐｔｈ」は、入力開始イベント時の処理によって０に設定され、ドリルダウン開始イベント時の処理によって１インクリメントされ、確定イベント時の処理およびキャンセルイベント時の処理によって消去される。
【０１０２】
プロパティ「ｅｌｅｍｅｎｔｓ［］」は、入力開始イベント時の処理およびドリルダウン開始イベント時の処理によって追加され、確定イベント時の処理およびキャンセルイベント時の処理によって消去される。
【０１０３】
プロパティ「ｐｏｓｉｔｉｏｎ［］」は、入力開始イベント時の処理によってｅｍｐｔｙ（すなわち、空）に設定され、指示イベント時の処理およびドリルダウン指示イベント時の処理によって追加され、確定イベント時の処理およびキャンセルイベント時の処理によって消去される。
【０１０４】
プロパティ「ｃａｎｄｉｄａｔｅｓ」は、入力開始イベント時の処理によってｅｍｐｔｙに設定され、指示イベント時の処理によって設定され、ドリルダウン指示イベント時の処理によって絞り込まれ、確定イベント時の処理およびキャンセルイベント時の処理によって消去される。
【０１０５】
プロパティ「ｗＢａｓｅ」は、入力開始イベント時の処理によって表示され、指示イベント時の処理によって強調表示され、ドリルダウン開始イベント時の処理によって破線が追加され、ドリルダウン指示イベント時の処理によって強調表示が消去され、確定イベント時の処理およびキャンセルイベント時の処理によって消去される。
【０１０６】
プロパティ「ｗＣａｎｄｉｄａｔｅｓ」は、指示イベント時の処理によって表示され、ドリルダウン開始イベント時の処理によって消去され、ドリルダウン指示イベント時の処理によって表示され、確定イベント時の処理およびキャンセルイベント時の処理によって消去される。
【０１０７】
図３０乃至図３３を用いて、検索の対象となる文字の集合について説明する。本実施の形態においては、検索の対象となる文字の集合が次第に小さくなるように検索が行われる。例えば基底文字が「瀬」である場合、まず、検索の対象となる文字の集合は辞書全体である。「瀬」のうち「頼」に相当する部位が、入力したい文字の部位とは異なる部位であるとして選択されると、図３１に示すようなＬ１集合が検索の対象となる。さらに、「頼」についてドリルダウンが実行されると、Ｌ１集合に含まれる文字の構成文字列は図３２に示すように詳細化される。そして、「頼」のうち「頁」に相当する部位が、入力したい文字の部位とは異なる部位であるとして選択されると、図３３に示すようなＬ２集合が検索の対象となる。
【０１０８】
本実施の形態のように実行時に動的にサブ辞書を生成して検索を行うことで、記憶装置の容量の消費を抑制することができ、また検索のＣＰＵ時間を減らすことができるようになる。ＣＰＵ時間を減らすことで、消費電力を抑えることができる。従って、本実施の形態によれば、ハードウエア資源に制限があるスマートデバイス等においても、他のアプリケーションの処理に及ぼす影響を抑えつつ文字入力のための処理を実行できるようになる。
【０１０９】
例えば、背景技術の欄において説明した従来技術を利用する場合には、辞書のデータ量が本実施の形態の辞書と比較して数倍から数十倍程度に増えることが確認された。図３４を用いて、より具体的に説明する。例えば１番目のレコードの漢字については、利用者が入力すると想定されるあらゆる検索条件に対応するための辞書データを、本実施形態の辞書における構成文字列のデータ量と比較すると、約３倍である。２番目のレコードの漢字については、利用者が入力すると想定されるあらゆる検索条件に対応するための辞書データを、本実施形態の辞書における構成文字列のデータ量と比較すると、約７倍である。３番目のレコードの漢字については、利用者が入力すると想定されるあらゆる検索条件に対応するための辞書データを、本実施形態の辞書における構成文字列のデータ量と比較すると、約２１倍である。
【０１１０】
また、検索条件が段階的に入力されるので、検索条件の入力のために画面が占有されることを抑制することができる。
【０１１１】
また、ユーザは、似ている文字の入力と異なる部位の選択とを行えば、入力した文字に到達できるようになるので、ユーザの負担を減らすことができる。
【０１１２】
また、辞書作成者の主観的な基準ではなく、客観的な「構成」に基づいた検索を実行するので、漢字スキルが低いユーザが利用する場合においても検索漏れが生じる可能性が低い。
【０１１３】
また、コンピュータシステムにおいて正しく入力が行われるようになるので、情報統合等の際にデータの整合性を高めることができるようになる。
【０１１４】
また、従来より利用されている手書き検索は、統計的手法であることから、書き方によっては目的の文字を特定することができない場合がある。その結果、該当する文字をコンピュータで利用することができないという誤った判定をする可能性がある。これに対し、本実施の形態によれば、統計的手法を使用することなく文字を検索できるので、検索結果の信頼性が高い。
【０１１５】
また、従来より利用されている異体字検索は、国語的な関係性を有する文字を検索するため、似ている文字を特定することができない。これに対し、本実施の形態によれば、国語的な関係を有していなくても「似ている文字」として幅広く検索をすることができるようになる。
【０１１６】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【０１１７】
また、上で説明したデータ構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１１８】
上で述べた例では、本実施の形態の機能がアプリケーション１０に実装されるが、ＯＳ（Operating System）のＩＭＥに実装されてもよいし、サーバに辞書を持たせてウェブアプリケーションとして実現されてもよい。
【０１１９】
情報処理装置１はデスクトップ型あるいはノート型のパーソナルコンピュータであってもよい。
【０１２０】
ユーザによる入力は、手書き入力であってもよい。
【０１２１】
なお、上で述べた情報処理装置１は、コンピュータ装置であって、図３５に示すように、ＲＡＭ（Random Access Memory）２５０１とＣＰＵ２５０３とフラッシュメモリ２５０５と表示装置２５０９に接続される表示制御部２５０７と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーションプログラムは、フラッシュメモリ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはフラッシュメモリ２５０５からＲＡＭ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーションプログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてＲＡＭ２５０１に格納されるが、フラッシュメモリ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーションプログラムは、インターネットなどのネットワーク及び通信制御部２５１７を経由して、フラッシュメモリ２５０５にインストールされる。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、ＲＡＭ２５０１などのハードウエアとＯＳ及びアプリケーションプログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１２２】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１２３】
本実施の形態の第１の態様に係る文字特定方法は、（Ａ）記憶領域に記憶され且つ文字と当該文字の構成情報とを含む第１辞書（例えば、実施の形態における辞書）を用いて、入力文字が複数の部位に分割された表示である第１分割表示と、第１分割表示に応じて選択された第１部位が置換された文字である１又は複数の候補文字の表示とを行った場合に、第１部位が妥当ではない旨の入力を受け付け、（Ｂ）１又は複数の候補文字のうち第１部位以外の部位である第１確定部位を特定し、（Ｃ）第１辞書を用いて、第１部位がさらに複数の部位に分割された表示である第２分割表示を行った場合に、第１部位に含まれる第２部位の選択を受け付け、（Ｄ）第１部位のうち第２部位以外の部位である第２確定部位を特定し、（Ｅ）１又は複数の候補文字の構成情報であって、当該構成情報のうち第２確定部位を含む部位の構成情報が、第１辞書に登録された文字のうち第２確定部位を含む文字の構成情報で置換された構成情報と、１又は複数の候補文字とを含む第２辞書（例えば、ステップＳ８９において更新されたプロパティ「ｃａｎｄｉｄａｔｅｓ」）を生成し、（Ｆ）第２辞書から、第１確定部位および第２確定部位を含む候補文字を抽出し、抽出された候補文字の表示を行う処理を含む。
【０１２４】
第１辞書とは別に生成した第２辞書を利用して候補文字を抽出することで、コンピュータ資源が制限されている場合においても、検索漏れの発生を抑えつつ難読文字を特定することができるようになる。
【０１２５】
また、第１分割表示を行う処理において、（ａ１）入力文字の構成情報を第１辞書から特定し、特定された構成情報に従い第１分割表示を生成し、第２分割表示を行う処理において、（ｃ１）第１部位に相当する文字の構成情報を第１辞書から特定し、特定された構成情報に従い第２分割表示を生成してもよい。構成情報に従った適切な分割が行われるようになる。
【０１２６】
また、第２辞書を生成する処理において、（ｅ１）第１辞書を用いて、１又は複数の候補文字と、１又は複数の候補文字の構成情報とを含む第３辞書（例えば、ステップＳ４９におけるプロパティ「ｃａｎｄｉｄａｔｅｓ」）を生成し、（ｅ２）第３辞書に含まれる構成情報のうち第２確定部位を含む部位の構成情報を、第１辞書に登録された文字のうち第２確定部位を含む文字の構成情報で置換し、１又は複数の候補文字と置換後の構成情報と含む第２辞書を生成してもよい。このような方法で生成された第２辞書は、第１辞書よりも規模が小さいので、段階的に絞り込みを行いつつ候補文字が特定されるようになる。
【０１２７】
また、１又は複数の候補文字の表示を行う処理において、（ａ２）第１部位の強調表示を行い、特定された候補文字の表示を行う処理において、（ｆ１）第２部位の強調表示を行ってもよい。ユーザの入力操作を支援できるようになる。
【０１２８】
また、文字は漢字であり、第１辞書に含まれる構成情報は、漢字構成記述文字と漢字に含まれる要素とを含んでもよい。辞書作成者の考え方や能力によって内容が変わる辞書ではなく、文字の構成という客観的な事実に基づく辞書を使用することができるので、辞書作成者の考え方に合わないから文字を特定することができないといった事態が発生することが無くなる。
【０１２９】
また、入力文字は、手書きの入力文字であってもよい。
【０１３０】
また、コンピュータは、タッチパネルを有する携帯端末であってもよい。そして、第１部位が妥当ではない旨の入力を受け付ける処理において、（ａ３）第１部位に対するロングタップを検出し、第２部位の選択を受け付ける処理において、（ｃ１）第２部位に対するタップを検出してもよい。記憶装置の容量が限られている携帯端末等においても、難読文字を特定することができるようになる。
【０１３１】
本実施の形態の第２の態様に係る文字特定装置は、（Ｇ）記憶領域に記憶され且つ文字と当該文字の構成情報とを含む第１辞書を用いて、入力文字が複数の部位に分割された表示である第１分割表示を行う第１処理部（例えば、実施の形態における第１イベント処理部１０２１）と、（Ｈ）第１分割表示に応じて選択された第１部位が置換された文字である１又は複数の候補文字の表示とを行う第２処理部（例えば、実施の形態における第２イベント処理部１０２２）と、（Ｉ）第１部位が妥当ではない旨の入力を受け付け、１又は複数の候補文字のうち第１部位以外の部位である第１確定部位を特定し、第１辞書を用いて、第１部位がさらに複数の部位に分割された表示である第２分割表示を行う第３処理部（例えば、実施の形態における第３イベント処理部１０２３）と、（Ｊ）第１部位に含まれる第２部位の選択を受け付け、第１部位のうち第２部位以外の部位である第２確定部位を特定し、１又は複数の候補文字の構成情報であって、当該構成情報のうち第２確定部位を含む部位の構成情報が、第１辞書に登録された文字のうち第２確定部位を含む文字の構成情報で置換された構成情報と、１又は複数の候補文字とを含む第２辞書を生成し、第２辞書から、第１確定部位および第２確定部位を含む候補文字を抽出し、抽出された候補文字の表示を行う第４処理部（例えば、実施の形態における第４イベント処理部１０２４）とを有する。
【０１３２】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えば半導体メモリ等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１３３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１３４】
（付記１）
コンピュータに、
記憶領域に記憶され且つ文字と当該文字の構成情報とを含む第１辞書を用いて、入力文字が複数の部位に分割された表示である第１分割表示と、前記第１分割表示に応じて選択された第１部位が置換された文字である１又は複数の候補文字の表示とを行った場合に、前記第１部位が妥当ではない旨の入力を受け付け、
前記１又は複数の候補文字のうち前記第１部位以外の部位である第１確定部位を特定し、
前記第１辞書を用いて、前記第１部位がさらに複数の部位に分割された表示である第２分割表示を行った場合に、前記第１部位に含まれる第２部位の選択を受け付け、
前記第１部位のうち前記第２部位以外の部位である第２確定部位を特定し、
前記１又は複数の候補文字の構成情報であって、当該構成情報のうち前記第２確定部位を含む部位の構成情報が、前記第１辞書に登録された文字のうち前記第２確定部位を含む文字の構成情報で置換された構成情報と、前記１又は複数の候補文字とを含む第２辞書を生成し、
前記第２辞書から、前記第１確定部位および前記第２確定部位を含む候補文字を抽出し、抽出された前記候補文字の表示を行う、
処理を実行させる文字特定プログラム。
【０１３５】
（付記２）
前記第１分割表示を行う処理において、
前記入力文字の構成情報を前記第１辞書から特定し、特定された前記構成情報に従い前記第１分割表示を生成し、
前記第２分割表示を行う処理において、
前記第１部位に相当する文字の構成情報を前記第１辞書から特定し、特定された前記構成情報に従い前記第２分割表示を生成する、
付記１記載の文字特定プログラム。
【０１３６】
（付記３）
前記第２辞書を生成する処理において、
前記第１辞書を用いて、前記１又は複数の候補文字と、前記１又は複数の候補文字の構成情報とを含む第３辞書を生成し、
前記第３辞書に含まれる構成情報のうち前記第２確定部位を含む部位の構成情報を、前記第１辞書に登録された文字のうち前記第２確定部位を含む文字の構成情報で置換し、前記１又は複数の候補文字と置換後の前記構成情報と含む前記第２辞書を生成する、
付記１又は２記載の文字特定プログラム。
【０１３７】
（付記４）
前記１又は複数の候補文字の表示を行う処理において、
前記第１部位の強調表示を行い、
特定された前記候補文字の表示を行う処理において、
前記第２部位の強調表示を行う、
付記１乃至３のいずれか１つ記載の文字特定プログラム。
【０１３８】
（付記５）
前記文字は漢字であり、
前記第１辞書に含まれる構成情報は、漢字構成記述文字と漢字に含まれる要素とを含む、
付記１乃至４のいずれか１つ記載の文字特定プログラム。
【０１３９】
（付記６）
前記入力文字は、手書きの入力文字である、
付記１乃至５のいずれか１つ記載の文字特定プログラム。
【０１４０】
（付記７）
前記コンピュータは、タッチパネルを有する携帯端末であり、
前記第１部位が妥当ではない旨の入力を受け付ける処理において、
前記第１部位に対するロングタップを検出し、
前記第２部位の選択を受け付ける処理において、
前記第２部位に対するタップを検出する、
付記１乃至６のいずれか１つ記載の文字特定プログラム。
【０１４１】
（付記８）
コンピュータが、
記憶領域に記憶され且つ文字と当該文字の構成情報とを含む第１辞書を用いて、入力文字が複数の部位に分割された表示である第１分割表示と、前記第１分割表示に応じて選択された第１部位が置換された文字である１又は複数の候補文字の表示とを行った場合に、前記第１部位が妥当ではない旨の入力を受け付け、
前記１又は複数の候補文字のうち前記第１部位以外の部位である第１確定部位を特定し、
前記第１辞書を用いて、前記第１部位がさらに複数の部位に分割された表示である第２分割表示を行った場合に、前記第１部位に含まれる第２部位の選択を受け付け、
前記第１部位のうち前記第２部位以外の部位である第２確定部位を特定し、
前記１又は複数の候補文字の構成情報であって、当該構成情報のうち前記第２確定部位を含む部位の構成情報が、前記第１辞書に登録された文字のうち前記第２確定部位を含む文字の構成情報で置換された構成情報と、前記１又は複数の候補文字とを含む第２辞書を生成し、
前記第２辞書から、前記第１確定部位および前記第２確定部位を含む候補文字を抽出し、抽出された前記候補文字の表示を行う、
処理を実行する文字特定方法。
【０１４２】
（付記９）
記憶領域に記憶され且つ文字と当該文字の構成情報とを含む第１辞書を用いて、入力文字が複数の部位に分割された表示である第１分割表示を行う第１処理部と、
前記第１分割表示に応じて選択された第１部位が置換された文字である１又は複数の候補文字の表示とを行う第２処理部と、
前記第１部位が妥当ではない旨の入力を受け付け、前記１又は複数の候補文字のうち前記第１部位以外の部位である第１確定部位を特定し、前記第１辞書を用いて、前記第１部位がさらに複数の部位に分割された表示である第２分割表示を行う第３処理部と、
前記第１部位に含まれる第２部位の選択を受け付け、前記第１部位のうち前記第２部位以外の部位である第２確定部位を特定し、前記１又は複数の候補文字の構成情報であって、当該構成情報のうち前記第２確定部位を含む部位の構成情報が、前記第１辞書に登録された文字のうち前記第２確定部位を含む文字の構成情報で置換された構成情報と、前記１又は複数の候補文字とを含む第２辞書を生成し、前記第２辞書から、前記第１確定部位および前記第２確定部位を含む候補文字を抽出し、抽出された前記候補文字の表示を行う第４処理部と、
を有する文字特定装置。
【符号の説明】
【０１４３】
１  情報処理装置    １０  アプリケーション
１１  辞書格納部    １２  データ格納部
１０１  処理部    １０２  入力支援部
１０２１  第１イベント処理部    １０２２  第２イベント処理部
１０２３  第３イベント処理部    １０２４  第４イベント処理部
１０２５  第５イベント処理部    １０２６  第６イベント処理部
【図１】
2018060418.tif 000006
【図２】
2018060418.tif 000007
【図３】
2018060418.tif 000008
【図４】
2018060418.tif 000009
【図５】
2018060418.tif 000010
【図６】
2018060418.tif 000011
【図７】
2018060418.tif 000012
【図８】
2018060418.tif 000013
【図９】
2018060418.tif 000014
【図１０】
2018060418.tif 000015
【図１１】
2018060418.tif 000016
【図１２】
2018060418.tif 000017
【図１３】
2018060418.tif 000018
【図１４】
2018060418.tif 000019
【図１５】
2018060418.tif 000020
【図１６】
2018060418.tif 000021
【図１７】
2018060418.tif 000022
【図１８】
2018060418.tif 000023
【図１９】
2018060418.tif 000024
【図２０】
2018060418.tif 000025
【図２１】
2018060418.tif 000026
【図２２】
2018060418.tif 000027
【図２３】
2018060418.tif 000028
【図２４】
2018060418.tif 000029
【図２５】
2018060418.tif 000030
【図２６】
2018060418.tif 000031
【図２７】
2018060418.tif 000032
【図２８】
2018060418.tif 000033
【図２９】
2018060418.tif 000034
【図３０】
2018060418.tif 000035
【図３１】
2018060418.tif 000036
【図３２】
2018060418.tif 000037
【図３３】
2018060418.tif 000038
【図３４】
2018060418.tif 000039
【図３５】
2018060418.tif 000040