(57)【要約】【課題】知識辞書を用いた文字列の修正を精度よく行うことができる知識処理装置、方法およびプログラムを提供する。【解決手段】実施形態の知識処理装置１０は、選択部１０４と、生成部１０６と、修正部１０７と、を備える。選択部１０４は、文書データから修正対象文字列を選択する。生成部１０６は、修正対象文字列とは属性が異なる文書データ中の条件生成用文字列に基づいて、候補取得条件を生成する。修正部１０７は、候補取得条件に従って知識辞書Ｎから取得された置換文字列の候補を用いて、修正対象文字列に対する修正を行う。【選択図】図２
2015052933.tif 000002
【特許請求の範囲】
【請求項１】
知識辞書を用いて文字列の修正を行う知識処理装置であって、
複数の文字列を含み、文字列ごとに該文字列の属性が付された文書データから、修正対象文字列を選択する選択部と、
前記文書データ中の前記修正対象文字列とは属性が異なる他の文字列に基づいて、前記修正対象文字列を置換する置換文字列の候補を取得する条件を生成する生成部と、
前記条件に従って前記知識辞書から取得された前記置換文字列の候補を用いて、前記修正対象文字列に対する修正を行う修正部と、を備える知識処理装置。
【請求項２】
前記条件によらずに前記置換文字列を特定する特定部をさらに備え、
前記生成部は、前記特定部が前記置換文字列を特定できなかった場合に前記条件を生成し、
前記修正部は、前記特定部が前記置換文字列を特定できた場合は、特定された前記置換文字列により前記修正対象文字列を置換し、前記特定部が前記置換文字列を特定できなかった場合は、前記条件に従って取得された前記置換文字列の候補を用いて、前記修正対象文字列に対する修正を行う、請求項１に記載の知識処理装置。
【請求項３】
前記置換文字列の候補をユーザに提示する提示部と、
提示した前記置換文字列の候補を選択するユーザ操作を受け付ける受付部と、をさらに備え、
前記修正部は、選択された前記置換文字列の候補により前記修正対象文字列を置換する、請求項１に記載の知識処理装置。
【請求項４】
前記文書データをユーザに提示する提示部と、
提示した前記文書データ中の任意の文字列を指定するユーザ操作を受け付ける受付部と、をさらに備え、  
前記選択部は、ユーザ操作により指定された文字列を前記修正対象文字列として選択する、請求項１に記載の知識処理装置。
【請求項５】
前記文書データをユーザに提示する提示部と、
提示した前記文書データ中の任意の文字列を指定するユーザ操作を受け付ける受付部と、をさらに備え、
前記生成部は、ユーザ操作により指定された文字列であって、前記修正対象文字列とは属性が異なる他の文字列に基づいて、前記条件を生成する、請求項１に記載の知識処理装置。
【請求項６】
前記生成部は、前記修正対象文字列の属性が、該文字列が姓名の姓であることを示す姓属性であり、前記他の文字列の属性が、該文字列が住所であることを示す住所属性である場合に、前記他の文字列で示される地域に特有の姓を前記置換文字列の候補として取得する前記条件を生成する、請求項１に記載の知識処理装置。
【請求項７】
前記生成部は、前記修正対象文字列の属性が、該文字列が姓名の名であることを示す姓属性であり、前記他の文字列の属性が、該文字列が生年月日であることを示す生年月日属性である場合に、前記他の文字列で示される年の人気名を前記置換文字列の候補として取得する前記条件を生成する、請求項１に記載の知識処理装置。
【請求項８】
前記生成部は、前記修正対象文字列の属性が、該文字列が姓名の名であることを示す名属性であり、前記他の文字列の属性が、該文字列が生年月日であることを示す生年月日属性である場合に、前記他の文字列で示される年の干支にちなんだ名前を前記置換文字列の候補として取得する前記条件を生成する、請求項１に記載の知識処理装置。
【請求項９】
前記生成部は、前記修正対象文字列の属性が、該文字列が姓名の名であることを示す名属性であり、前記他の文字列の属性が、該文字列が生年月日であることを示す生年月日属性である場合に、前記他の文字列で示される季節にちなんだ名前を前記置換文字列の候補として取得する前記条件を生成する、請求項１に記載の知識処理装置。
【請求項１０】
前記生成部は、複数の前記条件を生成し、
生成した複数の前記条件を提示する提示部と、
提示した複数の前記条件のそれぞれに対する優先度を指定するユーザ操作を受け付ける受付部と、をさらに備え、
前記修正部は、複数の前記条件に従って各々取得された前記置換文字列の候補のうち、前記優先度が高い前記条件に従って取得された前記置換文字列の候補を優先的に用いて、前記修正対象文字列に対する修正を行う、請求項１に記載の知識処理装置。
【請求項１１】
前記属性は、文字列が姓名の姓であることを示す姓属性と、文字列が姓名の名であることを示す名属性とを含み、
前記生成部は、前記修正対象文字列の属性が姓属性である場合は、前記修正対象文字列に隣接する他の文字列であって名属性が付された文字列に基づいて前記条件を生成し、前記修正対象文字列の属性が名属性である場合は、前記修正対象文字列に隣接する他の文字列であって姓属性が付された文字列に基づいて前記条件を生成する、請求項１に記載の知識処理装置。
【請求項１２】
知識辞書を用いて文字列の修正を行う知識処理装置において実行される方法であって、
前記知識処理装置が、複数の文字列を含み、文字列ごとに該文字列の属性が付された文書データから、修正対象文字列を選択するステップと、
前記知識処理装置が、前記文書データ中の前記修正対象文字列とは属性が異なる他の文字列に基づいて、前記修正対象文字列を置換する置換文字列の候補を取得する条件を生成するステップと、
前記知識処理装置が、前記条件に従って前記知識辞書から取得された前記置換文字列の候補を用いて、前記修正対象文字列に対する修正を行うステップと、を含む方法。
【請求項１３】
コンピュータに、
複数の文字列を含み、文字列ごとに該文字列の属性が付された文書データから、修正対象文字列を選択する機能と、
前記文書データ中の前記修正対象文字列とは属性が異なる他の文字列に基づいて、前記修正対象文字列を置換する置換文字列の候補を取得する条件を生成する機能と、
前記条件に従って知識辞書から取得された前記置換文字列の候補を用いて、前記修正対象文字列に対する修正を行う機能と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、知識辞書を用いて文字列の修正を行う知識処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
例えば、ＯＣＲ（Optical  Character  Recognition/Reader）などによって文字認識された文字列を修正して正解に近づけるための技術として、知識処理が知られている。知識処理は、修正の対象となる文字列（以下、修正対象文字列という）を予め用意した知識辞書（単語辞書）と照合し、必要に応じて、修正対象文字列を知識辞書に格納された文字列（単語）により置換することで、修正対象文字列に対する修正を行う。例えば、修正対象文字列が姓名の姓を表す文字列であれば、修正対象文字列を、姓に使用される多数の単語を格納した知識辞書と照合し、適合するものがあれば修正対象文字列を置換する。
【０００３】
しかし、従来の知識処理では、知識辞書から修正対象文字列を置換する文字列を適切に絞り込めずに、十分な修正精度が得られない場合が多く、精度の向上が求められている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２５６４３９号公報
【特許文献２】特開２００６−６５４７７号公報
【特許文献３】特開２００８−２２５６９５号公報
【特許文献４】特開平３−２７１８８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、知識辞書を用いた文字列の修正を精度よく行うことができる知識処理装置、方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態の知識処理装置は、知識辞書を用いて文字列の修正を行う知識処理装置であって、選択部と、生成部と、修正部と、を備える。選択部は、複数の文字列を含み、文字列ごとに該文字列の属性が付された文書データから、修正対象文字列を選択する。生成部は、前記文書データ中の前記修正対象文字列とは属性が異なる他の文字列に基づいて、前記修正対象文字列を置換する置換文字列の候補を取得する条件を生成する。修正部は、前記条件に従って前記知識辞書から取得された前記置換文字列の候補を用いて、前記修正対象文字列に対する修正を行う。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態の知識処理装置のハードウェア構成例を示すブロック図である。
【図２】図２は、実施形態の知識処理装置の機能的な構成例を示すブロック図である。
【図３】図３は、文書データの一例を示す図である。
【図４】図４は、知識辞書の一例を示す図である。
【図５】図５は、置換文字列を特定する様子を模式的に示す図である。
【図６】図６は、置換文字列を一意に特定できない例を説明する図である。
【図７】図７は、置換文字列を一意に特定できない例を説明する図である。
【図８】図８は、「住所」属性の条件生成用文字列に基づいて「姓」属性の修正対象文字列を置換する置換文字列の候補を取得するための候補取得条件を生成する例を説明する図である。
【図９】図９は、「生年月日」属性の条件生成用文字列に基づいて「名」属性の修正対象文字列を置換する置換文字列の候補を取得するための候補取得条件を生成する例を説明する図である。
【図１０】図１０は、候補取得条件に従って取得された置換文字列の候補を用いて置換文字列を絞り込む様子を模式的に示す図である。
【図１１】図１１は、候補取得条件に従って取得された置換文字列の候補を用いて置換文字列を絞り込む様子を模式的に示す図である。
【図１２】図１２は、置換文字列の候補をユーザに提示する場合の提示例を示す図である。
【図１３】図１３は、置換文字列の候補をユーザに提示する場合の提示例を示す図である。
【図１４】図１４は、実施形態の知識処理装置による処理手順の一例を示すフローチャートである。
【図１５】図１５は、優先度が高い候補取得条件に従って取得された置換文字列の候補を優先的に用いて修正対象文字列に対する修正を行う様子を模式的に示す図である。
【図１６】図１６は、優先度に従って置換文字列の絞り込みを行う手順の一例を示すフローチャートである。
【図１７】図１７は、優先度に従って置換文字列の絞り込みを行う手順の他の一例を示すフローチャートである。
【図１８】図１８は、「姓」属性の修正対象文字列に隣接する「名」属性の文字列を条件生成用文字列に用いて置換文字列の候補を取得する例を模式的に示す図である。
【図１９】図１９は、姓名の男女差を説明する図である。
【図２０】図２０は、姓名の男女差を利用して置換文字列の絞り込みを行う例を説明する図である。
【発明を実施するための形態】
【０００８】
以下、実施形態の知識処理装置、方法およびプログラムを、図面を参照して詳細に説明する。以下で示す実施形態では、ＯＣＲにより文字認識された文字列の修正を行う例を想定している。しかし、実施形態の知識処理装置により修正される文字列は、ＯＣＲにより文字認識されたものに限らない。実施形態の知識処理装置は、知識辞書を用いて文字列の修正を行う場合に広く適用できる。
【０００９】
図１は、実施形態の知識処理装置のハードウェア構成例を示すブロック図である。図１に示すように、実施形態の知識処理装置１０は、通常のコンピュータとしてのハードウェア構成を採用することができる。すなわち、知識処理装置１０は、ＣＰＵ（Central  Processing  Unit）１１、ＲＯＭ（Read  Only  Memory）１２、ＲＡＭ（Random  Access  Memory）１３、ハードディスクドライブ、ＣＤ（Compact  Disc）ドライブ、ＤＶＤ（Digital  Versatile  Disc）ドライブ、フラッシュメモリなどの補助記憶装置１４、これらを接続するバス１５などを備える。また、知識処理装置１０には、液晶ディスプレイなどの表示装置１６と、キーボードやマウスなどの入力装置１７とが、有線または無線により接続されている。
【００１０】
図２は、実施形態の知識処理装置１０の機能的な構成例を示すブロック図である。知識処理装置１０は、例えば、ＣＰＵ１１がＲＡＭ１３をワークエリアとして利用し、ＲＯＭ１２や補助記憶装置１４などに格納されたプログラムを実行することによって、図２に示すように、入力部１０１、提示部１０２、受付部１０３、選択部１０４、特定部１０５、生成部１０６、修正部１０７、および出力部１０８の機能的な構成要素を実現する。
【００１１】
入力部１０１は、文書データＤを入力する。文書データＤは、複数の文字列を含み、各文字列にその属性が付されたデータである。文字列は、全体として意味を持つ文字の集合（単語など）である。属性は、文字列の意味の種別であり、例えば、姓名の「姓」属性、姓名の「名」属性、「住所」属性、「生年月日」属性などが挙げられる。文書データＤは、文字列とその属性の他、文字列に関連するその他の情報を含んでいてもよい。本実施形態では、文書データＤとして、ＯＣＲにより文字認識された文字列を含むものを用いる。この場合、文書データＤに含まれるその他の情報としては、文字列を構成する各文字に対する文字認識の結果として得られた候補文字群などが挙げられる。
【００１２】
図３は、文書データＤの一例を示す図である。図３に示す文書データＤは、文字列として「鈴木」、「太郎」、「１９７０年６月１５日」、「東京都府中市・・・」などを含む。文字列「鈴木」には、属性として「姓」、文字列「太郎」には、属性として「名」、文字列「１９７０年６月１５日」には、属性として「生年月日」、文字列「東京都府中市・・・」には、属性として「住所」がそれぞれ付されている。また、各文字列に関連するその他の情報として、文字列を構成する各文字の候補文字群などを含んでいる。
【００１３】
なお、本実施形態では、文字列ごとに予め属性が付された文書データＤを入力するものとしているが、文書データＤに含まれる各文字列の属性を、知識処理装置１０の内部で与えるように構成してもよい。例えば、自然言語処理の意味解析を知識処理装置１０の内部で実行することにより、文書データＤに含まれる各文字列の属性を判定することができる。
【００１４】
提示部１０２は、表示装置１６を用いて、各種の情報をユーザに提示する。例えば、提示部１０２は、入力部１０１が入力した文書データＤを表示装置１６に表示してユーザに提示することができる。この場合、ユーザは、提示された文書データＤを参照しながら、文書データＤに含まれる複数の文字列の中から修正対象文字列を指定する操作や、後述する候補取得条件を生成するために用いる文字列（以下、条件生成用文字列という。）を指定する操作などを行うことができる。また、提示部１０２は、後述するように、表示装置１６を用いて、修正対象文字列を置換する置換文字列の候補をユーザに提示するようにしてもよい。
【００１５】
受付部１０３は、ユーザが入力装置１７を用いて行う入力操作（ユーザ操作）を受け付ける。例えば、ユーザが入力装置１７を用いて、文書データＤに含まれる任意の文字列を修正対象文字列として指定する操作を行うと、受付部１０３は、このユーザ操作を受け付けて、修正対象文字列の指定を選択部１０４に渡す。また、ユーザが入力装置１７を用いて、文書データＤに含まれる任意の文字列を条件生成用文字列として指定する操作を行うと、受付部１０３は、このユーザ操作を受け付けて、条件生成用文字列の指定を生成部１０６に渡す。
【００１６】
選択部１０４は、入力部１０１が入力した文書データＤから、修正対象文字列を選択する。例えば、受付部１０３が修正対象文字列を指定するユーザ操作を受け付けた場合、選択部１０４は、ユーザにより指定された文字列を修正対象文字列として選択する。なお、選択部１０４は、ユーザの指定によらずに、予め定めた規則に従って文書データＤから修正対象文字列を選択するようにしてもよい。例えば、予め定めた属性の文字列を順次、修正対象文字列として選択するといった方法や、文書データＤに含まれるすべての文字列を順次、修正対象文字列として選択するといった方法などが考えられる。
【００１７】
特定部１０５は、知識辞書Ｎを用いて、選択部１０４により選択された修正対象文字列を置換する置換文字列を特定する処理を行う。
【００１８】
図４は、知識辞書Ｎの一例を示す図である。知識辞書Ｎは、知識として獲得された多数の情報を記憶する。知識辞書Ｎに含まれる情報は、複数のデータベース（ＤＢ）に分類されている。各データベースは、概ね、文書データＤに含まれる文字列に付された属性に対応している。例えば、図４に示す知識辞書Ｎには、「姓」属性に対応する姓ＤＢ、「名」属性に対応する名ＤＢ、「住所」属性に対応する住所ＤＢなどが含まれる。なお、知識辞書Ｎは、例えば補助記憶装置１４などに予め格納されている。あるいは、知識処理装置１０の外部の知識辞書Ｎを利用してもよい。
【００１９】
特定部１０５は、選択部１０４により選択された修正対象文字列の属性に対応するデータベースを知識辞書Ｎから呼び出し、修正対象文字列をそのデータベースと照合して、置換文字列の特定を試みる。例えば、修正対象文字列の属性が「姓」属性の場合、特定部１０５は、知識辞書Ｎから姓ＤＢを呼び出す。そして、特定部１０５は、修正対象文字列の各文字の候補文字群（パターンマッチングなどの文字認識により認識候補として取得された文字群）を含めた文字の組み合わせを求め、その組み合わせに一致する姓の文字列が姓ＤＢに１つのみ存在する場合、その文字列を置換文字列として特定する。なお、修正対象文字列の各文字の候補文字群は、例えば、対応する文字（修正対象文字列に含まれる文字）に対する類似度（文字認識結果である各候補に与えられる「その文字（＝答え）らしさ」の値、例えばユークリッド距離）が高い順に順位付けされた情報として与えられる。
【００２０】
図５は、特定部１０５が置換文字列を特定する様子を模式的に示す図である。図５の例では、修正対象文字列として、「姓」属性の文字列「佐薄」が選択されている。また、１文字目の「佐」に対応する候補文字群として「左」、「低」、・・・が与えられ、２文字目の「薄」に対応する候補文字群として「藤」、「薩」、・・・が与えられているものとする。この場合、特定部１０５は、知識辞書Ｎから姓ＤＢを呼び出し、１文字目の「佐」、「左」、「低」、・・・と、２文字目の「薄」、「藤」、「薩」、・・・との組み合わせを求め、それぞれの組み合わせの文字列が姓ＤＢに存在するか否かを判定する。図５の例では、求めた組み合わせの文字列のうち、「佐藤」のみが姓ＤＢに存在している。この場合、特定部１０５は、修正対象文字列「佐薄」を置換する置換文字列として、文字列「佐藤」を一意に特定することができる。
【００２１】
図６および図７は、特定部１０５が置換文字列を一意に特定できない例を説明する図である。図６の例では、修正対象文字列として、「姓」属性の文字列「蒲地」が選択されている。また、１文字目の「蒲」に対応する候補文字群として「蓮」、「薄」、「薙」、・・・が与えられ、２文字目の「地」に対応する候補文字群として「池」、「也」、「他」、・・・が与えられているものとする。この場合、特定部１０５は、知識辞書Ｎから姓ＤＢを呼び出し、１文字目の「蒲」、「蓮」、「薄」、「薙」、・・・と、２文字目の「地」、「池」、「也」、「他」、・・・との組み合わせを求め、それぞれの組み合わせの文字列が姓ＤＢに存在するか否かを判定する。図６の例では、求めた組み合わせの文字列のうち、「蒲池」、「蒲地」、「蓮池」の３つが姓ＤＢに存在している。この場合、特定部１０５は、修正対象文字列「蒲地」を置換する置換文字列を一意に特定することができない。
【００２２】
図７の例では、修正対象文字列として、「名」属性の文字列「富子」が選択されている。また、１文字目の「富」に対応する候補文字群として「聖」、「宿」、「雪」、・・・が与えられているものとする。この場合、特定部１０５は、知識辞書Ｎから名ＤＢを呼び出し、１文字目の「富」、「聖」、「宿」、「雪」、・・・と、２文字目の「子」との組み合わせを求め、それぞれの組み合わせの文字列が名ＤＢに存在するか否かを判定する。図７の例では、求めた組み合わせの文字列のうち、「富子」、「聖子」、「雪子」の３つが名ＤＢに存在している。この場合、特定部１０５は、修正対象文字列「富子」を置換する置換文字列を一意に特定することができない。
【００２３】
特定部１０５は、置換文字列を一意に特定できた場合は、特定した置換文字列を修正部１０７に渡す。この場合、修正部１０７は、選択部１０４により選択された修正対象文字列を、特定部１０５により特定された置換文字列で置換することにより、修正対象文字列の修正を行う。
【００２４】
一方、修正対象文字列を置換する置換文字列を一意に特定できなかった場合、特定部１０５は、置換文字列が特定できない旨を生成部１０６に通知する。
【００２５】
なお、上述した特定部１０５の処理はあくまで一例であり、特定部１０５が置換文字列の特定を行う方法は上述した例に限らない。特定部１０５は、従来の知識処理で用いられる様々な方法を用いて、修正対象文字列を置換する置換文字列の特定を行うことができる。
【００２６】
生成部１０６は、例えば、特定部１０５が修正対象文字列を置換する置換文字列を一意に特定できなかった場合に、条件生成用文字列に基づいて、置換文字列の候補を取得する条件（以下、候補取得条件という。）を生成する。条件生成用文字列は、文書データＤに含まれる文字列であって、修正対象文字列とは属性が異なる他の文字列である。条件生成用文字列は、上述したようにユーザ操作により指定された文字列であってもよいし、修正対象文字列の属性に対して予め定められた他の属性を持つ文字列であってもよい。例えば、処理対象文字列の属性が「姓」であれば、「住所」属性が付された文字列を条件生成用文字列として用いるといった規則や、処理対象文字列の属性が「名」であれば、「生年月日」属性が付された文字列を条件生成用文字列として用いるといった規則を定めておき、この規則に従って条件生成用文字列を決定することができる。
【００２７】
図８は、生成部１０６が「住所」属性の条件生成用文字列に基づいて「姓」属性の修正対象文字列を置換する置換文字列の候補を取得するための候補取得条件を生成する例を説明する図である。条件生成用文字列の属性が「住所」であり、修正対象文字列の属性が「姓」である場合、生成部１０６は、例えば、条件生成用文字列を解析してその住所で示される地域を特定し、その地域特有の姓のリストを取得するといった候補取得条件を生成することができる。図８の例では、生成部１０６が、「住所」属性の条件生成用文字列から「沖縄」を特定し、「沖縄」に特有の姓のリストを取得するための候補取得条件を生成した例を示している。この例の場合、候補取得条件に従って知識辞書Ｎから取得される「沖縄」に特有の姓のリストに含まれる文字列が、置換文字列の候補となる。
【００２８】
図９は、生成部１０６が「生年月日」属性の条件生成用文字列に基づいて「名」属性の修正対象文字列を置換する置換文字列の候補を取得するための候補取得条件を生成する例を説明する図である。条件生成用文字列の属性が「生年月日」であり、修正対象文字列の属性が「名」である場合、生成部１０６は、例えば、条件生成用文字列を解析して生まれ年を特定し、生まれ年の人気名のリストを取得するといった候補取得条件を生成することができる。図９の例では、生成部１０６が、「生年月日」属性の条件生成用文字列から生まれ年として「１９８０年」を特定し、「１９８０年」の人気名のリストを取得するための候補取得条件を生成した例を示している。この例の場合、候補取得条件に従って知識辞書Ｎから取得される「１９８０年」の人気名のリストに含まれる文字列が、置換文字列の候補となる。
【００２９】
同じく、条件生成用文字列の属性が「生年月日」であり、修正対象文字列の属性が「名」である場合、生成部１０６は、例えば、条件生成用文字列を解析して生まれ年の干支を特定し、生まれ年の干支にちなんだ名前のリストを取得するといった候補取得条件を生成することもできる。図９の例では、生成部１０６が、「生年月日」属性の条件生成用文字列から生まれ年の干支として「辰」を特定し、「辰」にちなんだ名前のリストを取得する候補取得条件を生成した例を示している。この例の場合、候補取得条件に従って知識辞書Ｎから取得される「辰」にちなんだ名前のリストに含まれる文字列が、置換文字列の候補となる。
【００３０】
同じく、条件生成用文字列の属性が「生年月日」であり、修正対象文字列の属性が「名」である場合、生成部１０６は、例えば、条件生成用文字列を解析して季節を特定し、季節にちなんだ名前のリストを取得するといった候補取得条件を生成することもできる。図９の例では、生成部１０６が、「生年月日」属性の条件生成用文字列から季節として「冬」を特定し、「冬」にちなんだ名前のリストを取得する候補取得条件を生成した例を示している。この例の場合、候補取得条件に従って知識辞書Ｎから取得される「冬」にちなんだ名前のリストに含まれる文字列が、置換文字列の候補となる。
【００３１】
なお、図９の例のように、生成部１０６が１つの条件生成用文字列に基づいて複数の候補取得条件が生成できる場合は、これら複数の候補取得条件をすべて用いて置換文字列の候補を取得するようにしてもよいし、複数の候補取得条件のうち、例えばユーザ操作により指定された候補取得条件を用いて置換文字列の候補を取得するようにしてもよい。
【００３２】
なお、上述した候補取得条件はあくまで一例であり、これに限らない。生成部１０６は、修正対象文字列とは属性が異なる条件生成用文字列に基づいて、修正対象文字列を置換する置換文字列の候補を取得するための様々な候補取得条件を生成することができる。
【００３３】
修正部１０７は、選択部１０４により選択された修正対象文字列に対する修正を行う。例えば、修正部１０７は、上述したように特定部１０５によって修正対象文字列を置換する置換文字列が一意に特定された場合は、特定された置換文字列により修正対象文字列を置換することによって、修正対象文字列を修正する。
【００３４】
また、修正部１０７は、修正対象文字列を置換する置換文字列が一意に特定されず、生成部１０６が候補取得条件を生成した場合には、生成部１０６が生成した候補取得条件に従って、知識辞書Ｎから置換文字列の候補（リスト）を取得する。そして、修正部１０７は、候補取得条件に従って取得された置換文字列の候補（リスト）を用いて、修正対象文字列に対する修正を行う。例えば、修正部１０７は、候補取得条件に従って取得された置換文字列の候補（リスト）を用いて置換文字列を絞り込み、絞り込んだ置換文字列により修正対象文字列を置換することによって、修正対象文字列を修正する。
【００３５】
なお、候補取得条件に応じた置換文字列の候補（リスト）は、知識辞書Ｎ内の修正対象文字列の属性に対応したデータベースから取得するようにしてもよいし、専用のデータベースを知識辞書Ｎ内に別途設けて、この専用のデータベースから取得するようにしてもよい。専用のデータベースとしては、例えば、地域に特有の姓を地域と対応付けて記憶したデータベース、生まれ年の人気名を年別に記憶したデータベース、干支にちなんだ名前を干支ごとに記憶したデータベース、季節にちなんだ名前を季節ごとに記憶したデータベースなどが挙げられる。また、候補取得条件に応じた置換文字列の候補（リスト）を修正対象文字列の属性に対応したデータベースから取得する場合は、属性ごとのデータベースを、候補取得条件に従って情報を抽出できるリレーショナルデータベースの形式としておけばよい。
【００３６】
図１０および図１１は、修正部１０７が候補取得条件に従って取得された置換文字列の候補（リスト）を用いて置換文字列を絞り込む様子を模式的に示す図である。なお、図１０の例は図６に示した例に対応し、図１１の例は図７に示した例に対応している。
【００３７】
図１０の例では、「姓」属性の修正対象文字列である「蒲地」に対し、「住所」属性の条件生成用文字列に基づいて候補取得条件が生成され、条件生成用文字列で示される地域に特有の姓のリストが置換文字列の候補として取得されている。図６に示した例では、上述したように、候補文字群を含めた文字の組み合わせのうち、「蒲池」、「蒲地」、「蓮池」の３つが姓ＤＢに存在しているため、特定部１０５が置換文字列を一意に特定できなかった。しかし、候補取得条件に従って置換文字列の候補として取得された地域特有の姓のリストが「蒲池」を含み、「蒲地」と「蓮池」を含んでいなければ、置換文字列を「蒲池」に絞り込むことができる。この場合、修正部１０７は、絞り込まれた置換文字列である「蒲池」により修正対象文字列である「蒲地」を置換することによって、修正対象文字列を修正することができる。
【００３８】
図１１の例では、「名」属性の修正対象文字列である「富子」に対し、「生年月日」属性の条件生成用文字列に基づいて候補取得条件が生成され、条件生成用文字列で示される季節にちなんだ名前のリストが置換文字列の候補として取得されている。図７に示した例では、上述したように、候補文字群を含めた文字の組み合わせのうち、「富子」、「聖子」、「雪子」の３つが名ＤＢに存在しているため、特定部１０５が置換文字列を一意に特定できなかった。しかし、候補取得条件に従って置換文字列の候補として取得された季節にちなんだ名前のリストが「雪子」を含み、「富子」と「聖子」を含んでいなければ、置換文字列を「雪子」に絞り込むことができる。この場合、修正部１０７は、絞り込まれた置換文字列である「雪子」により修正対象文字列である「富子」を置換することによって、修正対象文字列を修正することができる。
【００３９】
なお、修正部１０７は、絞り込まれた置換文字列により修正対象文字列をそのまま置換するのではなく、提示部１０２により置換文字列の候補をユーザに提示させ、提示した置換文字列の候補を選択するユーザ操作を受付部１０３が受け付けた場合に、選択された置換文字列の候補により修正対象文字列を置換するようにしてもよい。
【００４０】
図１２および図１３は、提示部１０２が置換文字列の候補をユーザに提示する場合の提示例を示す図である。なお、図１２の例は図１０に示した例に対応し、図１３の例は図１１に示した例に対応している。図１２および図１３に示すように、提示部１０２は、例えば、置換文字列の候補を修正対象文字列とともに表示装置１６に表示して、ユーザに提示することができる。この際、提示する置換文字列の候補のうち、生成部１０６が生成した候補取得条件に従って知識辞書Ｎから取得された置換文字列の候補を最上位に表示したり、ハイライト表示したりすることで、ユーザが選択しやすくすることが望ましい。
【００４１】
なお、図１２および図１３に示した例はあくまで一例であり、提示部１０２は、この例に限らず、様々な方法で置換文字列の候補をユーザに提示することができる。
【００４２】
出力部１０８は、修正部１０７が修正対象文字列を修正した後の文書データＤ’を出力する。文書データＤ’の出力形式は任意である。例えば、表示装置１６への表示であってもよいし、テキストファイルとして出力してもよい。なお、文書データＤ’は、文字列のみを含んでいればよく、各文字列に付与した属性やその他の情報は削除した状態で出力してもよい。
【００４３】
次に、実施形態の知識処理装置１０の動作を説明する。図１４は、知識処理装置１０による処理手順の一例を示すフローチャートである。知識処理装置１０は、例えば、図１４のフローチャートで示す一連の処理手順に従って動作する。
【００４４】
知識処理装置１０が動作を開始すると、まず、入力部１０１が、文書データＤを入力する（ステップＳ１０１）。次に、選択部１０４が、ステップＳ１０１で入力された文書データＤから修正対象文字列を選択する（ステップＳ１０２）。
【００４５】
次に、特定部１０５が、ステップＳ１０２で選択された処理対象文字列を知識辞書Ｎと照合する（ステップＳ１０３）。そして、この知識辞書Ｎとの照合の結果、処理対象文字列を置換する置換文字列が一意に特定されたか否かを確認し（ステップＳ１０４）、置換文字列が一意に特定された場合は（ステップＳ１０４：Ｙｅｓ）、修正部１０７が、特定された置換文字列により修正対象文字列を置換する（ステップＳ１０５）。
【００４６】
一方、置換文字列が一意に特定されない場合は（ステップＳ１０４：Ｎｏ）、生成部１０６が、ステップＳ１０１で入力された文書データ中の処理対象文字列とは属性が異なる条件生成用文字列に基づいて、候補取得条件を生成する（ステップＳ１０６）。
【００４７】
そして、修正部１０７が、ステップＳ１０６で生成された候補取得条件に従って知識辞書Ｎから置換文字列の候補（リスト）を取得し（ステップＳ１０７）、取得した置換文字列の候補（リスト）を用いて置換文字列の絞り込みを行う（ステップＳ１０８）。その後、修正部１０７は、ステップＳ１０８で絞り込んだ置換文字列により修正対象文字列を置換する（ステップＳ１０９）。
【００４８】
次に、ステップＳ１０１で入力した文書データＤに対する修正が完了したか否かを確認し（ステップＳ１１０）、修正が完了していなければ（ステップＳ１１０：Ｎｏ）、ステップＳ１０２に戻って以降の処理を繰り返す。一方、文書データＤに対する修正が完了したら（ステップＳ１１０：Ｙｅｓ）、出力部１０８が、修正された文書データＤ’を出力し（ステップＳ１１１）、一連の処理が終了する。
【００４９】
以上、具体的な例を挙げながら詳細に説明したように、実施形態の知識処理装置１０は、文書データＤ中の修正対象文字列とは属性が異なる条件生成用文字列に基づいて、修正対象文字列を置換する置換文字列の候補を取得するための候補取得条件を生成する。そして、生成した候補取得条件に従って知識辞書Ｎから置換文字列の候補を取得し、取得した置換文字列の候補を用いて修正対象文字列に対する修正を行う。したがって、単に修正対象文字列を知識辞書Ｎと照合して修正対象文字列の修正を行う場合と比較して、文字列の修正を精度よく行うことができる。
【００５０】
なお、修正対象文字列以外の文字列を用いて修正対象文字列の修正を行う方法としては、例えば、郵便番号を用いて住所の文字列を修正するという方法が知られている。しかし、この方法は、修正対象文字列と一対一に対応する情報を用いるため、一対一に対応する情報が存在しない文字列に対して適用することができない。これに対して、本実施形態の知識処理装置１０は、文書データＤ中の条件生成用文字列に基づいて候補取得条件を生成し、この候補取得条件に従って知識辞書Ｎから取得された置換文字列の候補を用いて修正対象文字列の修正を行う構成であるため、様々な文字列に対して精度のよい修正を行うことができる。
【００５１】
また、本実施形態の知識処理装置１０では、特定部１０５が修正対象文字列を置換する置換文字列を一意に特定できなかった場合に生成部１０６が候補取得条件を生成し、修正部１０７が候補取得条件に従って知識辞書Ｎから取得された置換文字列の候補を用いて修正対象文字列の修正を行う構成とすることで、より精度のよい文字列の修正を効率よく行うことができる。
【００５２】
また、本実施形態の知識処理装置１０では、置換文字列の候補をユーザに提示し、ユーザにより選択された置換文字列の候補により修正対象文字列を置換する構成とすることで、文字列の修正を正確に行うことができる。
【００５３】
また、本実施形態の知識処理装置１０では、修正対象文字列や条件生成用文字列をユーザに指定させる構成とすることで、ユーザの意向に沿った文字列の修正を効率よく行うことができる。
【００５４】
（変形例１）
実施形態の知識処理装置１０は、特定部１０５を備えない構成としてもよい。つまり、知識処理装置１０は、修正対象文字列を知識辞書Ｎと照合して置換文字列を特定する処理を行わず、候補取得条件に従って知識辞書Ｎから取得される置換文字列の候補のみを用いて、修正対象文字列に対する修正を行うようにしてもよい。この場合、例えば、候補取得条件に従って知識辞書Ｎから取得される置換文字列の候補に対して修正対象文字列との類似度を求め、類似度によって置換文字列の絞り込みを行う。これにより、置換文字列の絞り込みを適切に行って、修正対象文字列に対する修正を精度よく行うことができる。
【００５５】
（変形例２）
実施形態の知識処理装置１０は、生成部１０６が複数の候補取得条件を生成した場合に、提示部１０２が生成された複数の候補取得条件をユーザに提示し、複数の候補取得条件のそれぞれに対する優先度を指定するユーザ操作を受付部１０３が受け付ける構成としてもよい。この場合、修正部１０７は、複数の候補取得条件に従って知識辞書Ｎから各々取得された置換文字列の候補のうち、優先度が高い候補取得条件に従って取得された置換文字列の候補を優先的に用いて、修正対象文字列に対する修正を行う。
【００５６】
複数の候補取得条件は、１つの条件生成用文字列に基づいて生成部１０６が生成したものであってもよいし、複数の条件生成用文字列に基づいて生成部１０６が生成したものであってもよい。また、生成部１０６が生成する複数の候補取得条件の数とその内容を、ユーザが優先度とともに指定する構成としてもよい。
【００５７】
図１５は、修正部１０７が、優先度が高い候補取得条件に従って取得された置換文字列の候補を優先的に用いて修正対象文字列に対する修正を行う様子を模式的に示す図である。図１５の例では、「名」属性の文字列「大揮」が修正対象文字列として選択されており、２文字目の「揮」に対応する候補文字群として「輝」、「樹」、・・・が与えられている。ここで、複数の候補取得条件に従って、知識辞書Ｎから名前のリストが複数取得され、優先度が最も高い候補取得条件に従って取得されたリストを優先度１のリスト、次に優先度が高い候補取得条件に従って取得されたリストを優先度２のリストとする。優先度１のリストには、文字列「大輝」が含まれ、優先度２のリストには、文字列「大樹」が含まれている。
【００５８】
図１５の例の場合、修正対象文字列の候補文字群を含めた文字の組み合わせのうち、「大輝」と「大樹」が置換文字列の候補となるが、修正部１０７は、優先度２のリストに含まれている「大樹」よりも、優先度１のリストに含まれている「大輝」を優先し、この文字列「大輝」により修正対象文字列である「大揮」を置換することによって、修正対象文字列を修正することができる。
【００５９】
図１６は、優先度に従って置換文字列の絞り込みを行う手順の一例を示すフローチャートである。複数の候補取得条件に従って知識辞書Ｎから複数のリストを取得した場合、修正部１０７は、例えば図１６のフローチャートで示す手順に従って、置換文字列の絞り込みを行うことができる。
【００６０】
修正部１０７は、まず、優先度Ｘ＝１を代入し（ステップＳ２０１）、修正対象文字列を優先度Ｘのリストと照合する（ステップＳ２０２）。優先度Ｘは、リストの取得に用いた候補取得条件に対してユーザが指定した優先度に対応している。
【００６１】
次に、修正部１０７は、修正対象文字列に適合する候補が優先度Ｘのリストに含まれているか否か、具体的には例えば、修正対象文字列の候補文字群を含めた文字の組み合わせのうちのいずれかが、優先度Ｘのリストに含まれているか否かを判定する（ステップＳ２０３）。そして、修正対象文字列に適合する候補が優先度Ｘのリストに含まれていれば（ステップＳ２０３：Ｙｅｓ）、修正部１０７は、その候補を置換文字列として用いて、修正対象文字列をその候補で置換し（ステップＳ２０４）、一連の処理を終了する。
【００６２】
なお、１つのリストから修正対象文字列に適合する候補が複数取得された場合には、例えば、これら複数の候補のうち、修正対象文字列に対する各文字の類似度（修正対象文字列に含まれる文字に一致する文字は、文字ごとの類似度が最大値となる）の合計が最も高くなる候補を置換文字列として選択し、修正対象文字列に対する修正を行えばよい。
【００６３】
一方、修正対象文字列に適合する候補が優先度Ｘのリストに含まれていなければ（ステップＳ２０３：Ｎｏ）、修正部１０７は、優先度Ｘの値をインクリメントし（ステップＳ２０５）、優先度Ｘの値が、知識辞書Ｎから取得したリストの数（リスト数）より大きいか否かを判定する（ステップＳ２０６）。そして、優先度Ｘの値がリスト数以下であれば（ステップＳ２０６：Ｎｏ）、ステップＳ２０２に戻って以降の処理を繰り返す。一方、優先度Ｘの値がリスト数より大きければ（ステップＳ２０６：Ｙｅｓ）、一連の処理を終了する。
【００６４】
なお、以上の例では、優先度が高いリストから順に修正対象文字列の照合を行い、修正対象文字列に適合する候補が見つかった時点でリストに対する修正対象文字列の照合を終了し、得られた候補を置換文字列として用いて修正対象文字列に対する修正を行うようにしている。しかし、修正対象文字列に適合する候補が見つかった時点でリストに対する修正対象文字列の照合を終了するのではなく、各リストから得られた候補に対してリストの優先度を用いてスコア（リスト記載の各候補に与えられる、リストにおける「答えらしさ」の値）を算出し、最終的に最も高いスコアが与えられた候補を置換文字列として選択して、修正対象文字列に対する修正を行うようにしてもよい。
【００６５】
図１７は、優先度に従って置換文字列の絞り込みを行う手順の他の例を示すフローチャートであり、リストから得られた候補ごとにスコアを与える例である。修正部１０７は、この図１７のフローチャートで示す手順に従って、置換文字列の絞り込みを行うようにしてもよい。
【００６６】
修正部１０７は、まず、優先度Ｘ＝１を代入し（ステップＳ３０１）、修正対象文字列を優先度Ｘのリストと照合する（ステップＳ３０２）。優先度Ｘは、リストの取得に用いた候補取得条件に対してユーザが指定した優先度に対応している。
【００６７】
次に、修正部１０７は、修正対象文字列に適合する候補が優先度Ｘのリストに含まれているか否か、具体的には例えば、修正対象文字列の候補文字群を含めた文字の組み合わせのうちのいずれかが、優先度Ｘのリストに含まれているか否かを判定する（ステップＳ３０３）。そして、修正対象文字列に適合する候補が優先度Ｘのリストに含まれていれば（ステップＳ３０３：Ｙｅｓ）、修正部１０７は、その候補に対するスコアを計算する（ステップＳ３０４）。
【００６８】
候補に対するスコアは、例えば、その候補を含むリストの優先度が高いほど大きな値をとる重みと、その候補の修正対象文字列に対する類似度と、を掛け合わせた値を用いることができる。また、候補に対するスコアは、例えば、上記の重みと、その候補のリスト内の順位と、を掛け合わせた値を用いてもよい。この場合、候補のリスト内の順位は、例えば、リストに対応する候補取得条件への適合度などに応じて定められる。また、上記の重みのみを候補に対するスコアとして用いてもよい。また、複数のリストで同じ候補が見つかった場合は、リストごとに算出されたその候補のスコアを合算して、最終的なスコアとしてもよい。
【００６９】
一方、修正対象文字列に適合する候補が優先度Ｘのリストに含まれていなければ（ステップＳ３０３：Ｎｏ）、修正部１０７は、ステップＳ３０４のスコアの計算を行うことなく、ステップＳ３０５に進む。
【００７０】
次に、修正部１０７は、優先度Ｘの値をインクリメントし（ステップＳ３０５）、優先度Ｘの値が、知識辞書Ｎから取得したリストの数（リスト数）より大きいか否かを判定する（ステップＳ３０６）。そして、優先度Ｘの値がリスト数以下であれば（ステップＳ３０６：Ｎｏ）、ステップＳ３０２に戻って以降の処理を繰り返す。一方、優先度Ｘの値がリスト数より大きければ（ステップＳ３０６：Ｙｅｓ）、以上の処理で得られた候補のうち、最大スコアの候補を置換文字列として用いて、修正対象文字列をその候補で置換し（ステップＳ３０７）、一連の処理を終了する。
【００７１】
なお、以上の例では、候補取得条件に従って知識辞書Ｎから取得されるすべてのリストを使用するものとして説明したが、使用するリストの数に制限を設け、例えば優先度が高い順からＹ個のリストを対象として図１７に示す処理を行うようにしてもよい。この場合、上記ステップＳ３０６の処理は、優先度Ｘの値がＹよりも大きいか否かを判定する処理となる。
【００７２】
また、使用するリストの優先度Ｘに対して閾値を設け、優先度Ｘの値が閾値よりも小さいリスト（優先度Ｘが閾値と一致するリストよりも優先されるリスト）を対象として図１７に示す処理を行うようにしてもよい。また、このときの閾値を、すでに得られた候補のスコアに応じて動的に変化させるようにしてもよい。例えば、修正対象文字列の１位候補の類似度が８００点以上で、２位候補と１００点以上離れており修正する必要性が高くないと考えられるような場合は、より信用できるリストのみを使うようにするためにリストの優先度Ｘに対する閾値を４とし、優先度Ｘの値が４以上のリストを処理の対象から除外してもよい。この場合、上記ステップＳ３０６の処理は、優先度Ｘの値がＹ以上か否かを判定する処理となる。
【００７３】
以上のように、本変形例の知識処理装置１０では、優先度が高い候補取得条件に従って取得された置換文字列の候補を優先的に用いて修正対象文字列に対する修正を行うようにしているので、置換文字列の絞り込みをより適切に行って、修正対象文字列に対する修正を精度よく行うことができる。
【００７４】
（変形例３）
実施形態の知識処理装置１０は、修正対象文字列の属性が「姓」属性である場合には、この処理対象文字列に隣接する「名」属性の文字列を条件生成用文字列として用いて候補取得条件を生成し、修正対象文字列の属性が「名」属性である場合には、この処理対象文字列に隣接する「姓」属性の文字列を条件生成用文字列として用いて候補取得条件を生成するように構成してもよい。
【００７５】
「姓」属性の文字列とこれに隣接する「名」属性の文字列は、同一人物を表す文字列であり、その人物の国籍や性別などによって両者に相関がある場合が多い。例えば、「姓」属性の文字列が固有の国に特有の姓を表すものであれば、「名」属性の文字列もその国に固有の名前を表していることが想定される。また、「姓」属性の文字列が女性に特有の姓を表すものであれば、「名」属性の文字列も女性に特有の名前を表していることが想定される。このため、修正対象文字列の属性が「姓」属性である場合、この処理対象文字列に隣接する「名」属性の文字列は、修正対象文字列を置換する置換文字列の候補を絞り込む上で有益な情報となり得る。また、修正対象文字列の属性が「名」属性である場合、この処理対象文字列に隣接する「姓」属性の文字列は、修正対象文字列を置換する置換文字列の候補を絞り込む上で有益な情報となり得る。
【００７６】
図１８は、「姓」属性の修正対象文字列に隣接する「名」属性の文字列を条件生成用文字列に用いて置換文字列の候補を取得する例を模式的に示す図である。図１８の例では、「姓」属性の文字列「Ｋａｖｆｍａｎ」が修正対象文字列として選択されている。この場合、生成部１０６は、「Ｋａｖｆｍａｎ」に隣接する「名」属性の文字列「Ｊａｃｏｂ」を条件生成用文字列として用いる。
【００７７】
生成部１０６は、まず、条件生成用文字列である「Ｊａｃｏｂ」を知識辞書Ｎと照合し、一致する文字列を検索する。ここで、知識辞書Ｎには、各国に固有の名前を集めたリストや、各国に固有の姓を集めたリストが含まれているものとする。そして、「Ｊａｃｏｂ」がユダヤ人に特有の名前を集めた「ユダヤ人名前リスト」に含まれている場合、生成部１０６は、例えば、ユダヤ人に固有の姓のリストを取得するといった候補取得条件を生成する。この場合、修正部１０７は、生成部１０６が生成した候補取得条件に従って「ユダヤ人姓リスト」を知識辞書Ｎから取得し、この「ユダヤ人姓リスト」を用いて、修正対象文字列である「Ｋａｖｆｍａｎ」に対する修正を行う。図１８の例では、知識辞書Ｎから取得した「ユダヤ人姓リスト」に含まれる「Ｋａｕｆｍａｎ」により修正対象文字列の「Ｋａｕｖｍａｎ」が置換され、修正される。
【００７８】
図１９は、姓名の男女差を説明する図であり、ロシア人の姓名の男女差を示している。図１９に示すように、ロシア人の姓名は、男性と女性とで、その末尾（特に姓の末尾）が別々に変化する。
【００７９】
図２０は、姓名の男女差を利用して置換文字列の絞り込みを行う例を説明する図である。図２０の例では、「名」属性の文字列「Ｙｕｌｉｉ」が修正対象文字列として選択されており、５文字目の「ｉ」に対応する候補文字群として「ｊ」、「ｌ」、「ｆ」、「ａ」・・・が与えられている。この場合、生成部１０６は、「Ｙｕｌｉｉ」に隣接する「姓」属性の文字列「Ｉｖａｎｏｖａ」を条件生成用文字列として用いる。
【００８０】
生成部１０６は、条件生成用文字列である「Ｉｖａｎｏｖａ」から、この「Ｉｖａｎｏｖａ」で表される人物が女性であると判定し、女性名のリストを取得するといった候補取得条件を生成する。この場合、修正部１０７は、生成部１０６が生成した候補取得条件に従って「女性名リスト」を知識辞書Ｎから取得し、この「女性名リスト」を用いて、修正対象文字列「Ｙｕｌｉｉ」の５文字目の候補文字を「ａ」に限定する。これにより、置換文字列が「Ｙｕｌｉａ」に絞り込まれ、修正対象文字列「Ｙｕｌｉｉ」が「Ｙｕｌｉａ」に置換される。
【００８１】
以上のように、本変形例の知識処理装置１０では、隣接する「姓」属性の文字列と「名」属性の文字列のうち、一方が修正対象文字列として選択された場合は、他方を条件生成用文字列に用いて候補取得条件を生成し、この候補取得条件に従って知識辞書Ｎから取得された置換文字列の候補を用いて、修正対象文字列の修正を行う。したがって、置換文字列の絞り込みをより適切に行って、修正対象文字列に対する修正を精度よく行うことができる。
【００８２】
以上説明した実施形態の知識処理装置１０における各機能構成は、例えば、知識処理装置１０のハードウェア構成としてコンピュータを用いる場合、このコンピュータで所定のプログラムを実行することにより実現できる。知識処理装置１０として用いるコンピュータで実行されるプログラムは、例えば、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【００８３】
また、知識処理装置１０として用いるコンピュータで実行されるプログラムを、インターネットなどのネットワークに接続された他のコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、知識処理装置１０として用いるコンピュータで実行されるプログラムをインターネットなどのネットワーク経由で提供または配布するように構成してもよい。また、知識処理装置１０として用いるコンピュータで実行されるプログラムを、コンピュータ内部のＲＯＭ１２などに予め組み込んで提供するように構成してもよい。
【００８４】
知識処理装置１０として用いるコンピュータで実行されるプログラムは、知識処理装置１０の機能的な構成要素（入力部１０１、提示部１０２、受付部１０３、選択部１０４、特定部１０５、生成部１０６、修正部１０７、および出力部１０８）を含むモジュール構成となっており、実際のハードウェアとしては、例えば、ＣＰＵ１１（プロセッサ）が上記記録媒体からプログラムを読み出して実行することにより、上記の各構成要素がＲＡＭ１３などの主記憶部上にロードされ、上記の各構成要素が主記憶部上に生成されるようになっている。なお、知識処理装置１０の機能的な構成要素は、その一部または全部を、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field-Programmable  Gate  Array）などの専用のハードウェアを用いて実現することも可能である。
【００８５】
以上述べた実施形態の知識処理装置１０によれば、文書データＤから処理対象文字列を選択する選択部１０４と、文書データＤ中の処理対象文字列とは属性が異なる条件生成用文字列に基づいて候補取得条件を生成する生成部１０６と、候補取得条件に従って知識辞書Ｎから取得された置換文字列の候補を用いて修正対象文字列に対する修正を行う修正部１０７と、を備えることにより、知識辞書Ｎを用いた文字列の修正を精度よく行うことができる。  
【００８６】
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８７】
１０  知識処理装置
１０１  入力部
１０２  提示部
１０３  受付部
１０４  選択部
１０５  特定部
１０６  生成部
１０７  修正部
１０８  出力部
Ｄ（Ｄ’）  文書データ
Ｎ  知識辞書
【図１】
2015052933.tif 000003
【図２】
2015052933.tif 000004
【図３】
2015052933.tif 000005
【図４】
2015052933.tif 000006
【図５】
2015052933.tif 000007
【図６】
2015052933.tif 000008
【図７】
2015052933.tif 000009
【図８】
2015052933.tif 000010
【図９】
2015052933.tif 000011
【図１０】
2015052933.tif 000012
【図１１】
2015052933.tif 000013
【図１２】
2015052933.tif 000014
【図１３】
2015052933.tif 000015
【図１４】
2015052933.tif 000016
【図１５】
2015052933.tif 000017
【図１６】
2015052933.tif 000018
【図１７】
2015052933.tif 000019
【図１８】
2015052933.tif 000020
【図１９】
2015052933.tif 000021
【図２０】
2015052933.tif 000022