(57)【要約】【課題】入力された文から適切な文字列を切り出すことを可能とする。【解決手段】入力処理部３１は、第１の文字列を含む文を入力する。形態素解析部３２は、入力処理部３１によって入力された文に含まれる第１の文字列を構成する単語の各々を抽出する。単語組み合わせ部３３は、形態素解析部３２によって抽出された単語の各々を組み合わせることによって複数の第２の文字列を取得する。分類評価値算出部３５は、第２の文字列毎に当該第２の文字列と一致するインデックスおよび当該第２の文字列を含むインデックスを分類別文書ＤＢ２２から検索し、当該第２の文字列の評価値を分類毎に算出する。文字列決定部３６は、分類評価値算出部３５によって算出された評価値が第１の値以上である分類の数が第２の値以上である第２の文字列のうち当該第２の文字列を構成する単語の数が最も多い第２の文字列を文から切り出される文字列として決定する。【選択図】図２
2012203470.tif 000002
【特許請求の範囲】
【請求項１】
文書毎に、当該文書が属する分類を示す分類情報および当該文書に含まれる文字列を示すインデックスを対応づけて予め格納する分類別文書格納手段と、
ユーザによって指定された文であって、複数の単語から構成される第１の文字列を含む文を入力する入力手段と、
前記入力された文を解析することにより、当該文に含まれる第１の文字列を構成する複数の単語を抽出する抽出手段と、
前記抽出された複数の単語の各々を組み合わせることによって複数の第２の文字列を取得する取得手段と、
前記取得された複数の第２の文字列を保持する文字列保持手段と、
前記文字列保持手段に保持された第２の文字列毎に、当該第２の文字列と一致するインデックスおよび当該第２の文字列を含むインデックスを前記分類別文書格納手段から検索する検索手段と、
前記検索されたインデックスに基づいて、前記文字列保持手段に保持された第２の文字列の各々の評価値を、当該インデックスに対応づけて前記分類別文書格納手段に格納されている分類情報によって示される分類毎に算出する評価値算出手段と、
前記算出された評価値が予め定められた第１の値以上である分類の数が予め定められた第２の値以上である前記文字列保持手段に保持された第２の文字列のうち、当該第２の文字列を構成する単語の数が最も多い第２の文字列を、前記入力された文から切り出される文字列として決定する決定手段と
を具備することを特徴とする文書処理装置。
【請求項２】
前記決定手段は、前記算出された評価値が予め定められた第１の値以上である分類の数が予め定められた第２の値以上である前記文字列保持手段に保持された第２の文字列のうち、当該第２の文字列を構成する単語の数が最も多い第２の文字列が複数存在する場合、当該第２の文字列を構成する単語の数が最も多い複数の第２の文字列のうち、前記算出された評価値が最も大きい第２の文字列を、前記入力された文から切り出される文字列として決定することを特徴とする請求項１記載の文書処理装置。
【請求項３】
前記取得手段は、前記抽出された複数の単語のうちの少なくとも２つ以上の単語の組み合わせ毎に、当該組み合わせにおける少なくとも２つ以上の単語を前記入力された文に含まれる第１の文字列における出現順に組み合わせることによって複数の第２の文字列を取得することを特徴とする請求項１記載の文書処理装置。
【請求項４】
前記評価値算出手段は、
前記検索されたインデックスの数を示す第１の出現回数を算出する第１の算出手段と、
前記検索されたインデックスのうち、前記文字列保持手段に保持された第２の文字列を含むインデックスの数を示す第２の出現回数を算出する第２の算出手段と、
前記検索されたインデックスのうち、異なるインデックスの数を示す異なり数を算出する第３の算出手段と
を含み、
前記第１の算出手段によって算出された第１の出現回数、前記第２の算出手段によって算出された第２の出現回数および前記第３の算出手段によって算出された異なり数を用いて前記評価値を算出する
ことを特徴とする請求項１記載の文書処理装置。
【請求項５】
文書毎に、当該文書が属する文類を示す分類情報および当該文書に含まれる文字列を示すインデックスを対応づけて予め格納する分類別文書格納手段と文字列保持手段とを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成される文書処理装置において、前記コンピュータによって実行されるプログラムであって、
前記コンピュータに、
ユーザによって指定された文であって、複数の単語から構成される第１の文字列を含む文を入力するステップと、
前記入力された文を解析することにより、当該文に含まれる第１の文字列を構成する複数の単語を抽出するステップと、
前記抽出された複数の単語の各々を組み合わせることによって複数の第２の文字列を取得するステップと、
前記取得された複数の第２の文字列を前記文字列保持手段に保持させるステップと、
前記文字列保持手段に保持された第２の文字列毎に、当該第２の文字列と一致するインデックスおよび当該第２の文字列を含むインデックスを前記分類別文書格納手段から検索するステップと、
前記検索されたインデックスに基づいて、前記文字列保持手段に保持された第２の文字列の各々の評価値を、当該インデックスに対応づけて前記分類別文書格納手段に格納されている分類情報によって示される分類毎に算出するステップと、
前記算出された評価値が予め定められた第１の値以上である分類の数が予め定められた第２の値以上である前記文字列保持手段に保持された第２の文字列のうち、当該第２の文字列を構成する単語の数が最も多い第２の文字列を、前記入力された文から切り出される文字列として決定するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、複数の単語からなる表現から文字列を切り出す文書処理装置およびプログラムに関する。
【背景技術】
【０００２】
一般的に、文書検索等の文書処理装置においては、入力された文（または文書）から文字列を切り出す技術が用いられる。この場合、例えば入力された文を形態素解析し、当該形態素解析結果から自立語を文字列として切り出し、当該切り出された文字列が文書検索等における例えばキーワードとして利用される。
【０００３】
ところで、例えば専門用語のような連続する複数の単語（名詞）から構成される表現（以下、複合語と表記）については、当該複合語において名詞が連続する範囲の文字列（例えば複合語が「運転模擬評価」である場合における「運転模擬評価」、「模擬評価」および「評価」）を切り出して評価する、または当該複合語を構成する各単語（例えば複合語が「運転模擬評価」である場合における「運転」、「模擬」および「評価」）を評価することにより、当該複合語から切り出される文字列を決定する技術（以下、先行技術と表記）が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１２８４０２号公報
【非特許文献】
【０００５】
【非特許文献１】辻河亨，吉田稔，中川裕志，“語彙空間の構造に基づく専門用語抽出”，情報処理学会研究報告，自然言語処理研究会，Ｖｏｌ．１５９，Ｎｏ．２２，ｐｐ．１５５−１６２，２００３．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記した先行技術では、例えば複合語を構成する複数の単語の各々（複合語において連続する複数の単語の各々）の組み合わせ等については評価されない。つまり、先行技術では、複合語を構成する複数の単語の各々の組み合わせ（の文字列）については切り出すことができない。
【０００７】
よって、先行技術においては、例えば入力された文等から適切な文字列を切り出すことができない場合がある。
【０００８】
したがって、入力された文から適切な文字列を切り出すことが可能な文書処理装置およびプログラムを提供することが目的とされる。
【課題を解決するための手段】
【０００９】
実施形態によれば、文書毎に、当該文書が属する分類を示す分類情報および当該文書に含まれる文字列を示すインデックスを対応づけて予め格納する分類別文書格納手段と、ユーザによって指定された文であって、複数の単語から構成される第１の文字列を含む文を入力する入力手段と、前記入力された文を解析することにより、当該文に含まれる第１の文字列を構成する複数の単語を抽出する抽出手段と、前記抽出された複数の単語の各々を組み合わせることによって複数の第２の文字列を取得する取得手段と、前記取得された複数の第２の文字列を保持する文字列保持手段と、前記文字列保持手段に保持された第２の文字列毎に、当該第２の文字列と一致するインデックスおよび当該第２の文字列を含むインデックスを前記分類別文書格納手段から検索する検索手段と、前記検索されたインデックスに基づいて、前記文字列保持手段に保持された第２の文字列の各々の評価値を、当該インデックスに対応づけて前記分類別文書格納手段に格納されている分類情報によって示される分類毎に算出する評価値算出手段と、前記算出された評価値が予め定められた第１の値以上である分類の数が予め定められた第２の値以上である前記文字列保持手段に保持された第２の文字列のうち、当該第２の文字列を構成する単語の数が最も多い第２の文字列を、前記入力された文から切り出される文字列として決定する決定手段とを具備する文書処理装置が提供される。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る文書処理装置のハードウェ構成を示すブロック図。
【図２】図１に示す文書処理装置３０の主として機能構成を示すブロック図。
【図３】図２に示す分類別文書データベース２２のデータ構造の一例を示す図。
【図４】本実施形態に係る文書処理装置３０の処理手順を示すフローチャート。
【図５】形態素解析結果保持部２３に保持される形態素解析結果の一例を示す図。
【図６】単語組み合わせ部３３によって取得された文字列を保持する文字列保持部２４のデータ構造の一例を示す図。
【図７】包含関係判定部３４による判定結果を保持する文字列保持部２４のデータ構造の一例を示す図。
【図８】分類評価値算出処理の処理手順を示すフローチャート。
【図９】ｋｅｙ文字列が「外用消炎鎮痛剤」である場合の分類評価値算出部３５による検索結果の一例を示す図。
【図１０】ｋｅｙ文字列が「消炎鎮痛剤」である場合の分類評価値算出部３５による検索結果の一例を示す図。
【図１１】図７に示す文字列保持部２４に保持されている文字列の各々に対して分類評価値算出処理が実行された後の文字列保持部２４のデータ構造の一例を示す図。
【図１２】文字列決定部３６による切り出し文字列決定処理の処理手順を示すフローチャート。
【図１３】文字列決定部３６による切り出し文字列決定処理の処理手順を示すフローチャート。
【図１４】切り出し文字列決定処理が実行された後の文字列保持部２４のデータ構造の一例を示す図。
【図１５】分類別文書データベース２２とは内容が異なる分類別文書データベースを用いて分類評価値算出処理が実行された場合の文字列保持部２４のデータ構造の一例を示す図。
【図１６】図１５に示す文字列保持部２４に保持されている情報を用いて切り出し文字列決定処理が実行された後の文字列保持部２４のデータ構造の一例を示す図。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、実施形態について説明する。
【００１２】
図１は、本実施形態に係る文書処理装置のハードウェア構成を示すブロック図である。図１に示すように、コンピュータ１０は、例えばハードディスクドライブ（ＨＤＤ：Hard Disk Drive）のような外部記憶装置２０と接続されている。この外部記憶装置２０は、コンピュータ１０によって実行されるプログラム２１を格納する。コンピュータ１０および外部記憶装置２０は、文書処理装置３０を構成する。
【００１３】
図２は、図１に示す文書処理装置３０の主として機能構成を示すブロック図である。図２に示すように、文書処理装置３０は、入力処理部３１、形態素解析部３２、単語組み合わせ部３３、包含関係判定部３４、分類評価値算出部３５、文字列決定部３６および出力処理部３７を含む。本実施形態において、これらの各部３１〜３７は、図１に示すコンピュータ１０が外部記憶装置２０に格納されているプログラム２１を実行することにより実現されるものとする。このプログラム２１は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム２１が例えばネットワークを介してコンピュータ１０にダウンロードされても構わない。
【００１４】
また、文書処理装置３０は、分類別文書データベース（ＤＢ）２２、形態素解析結果保持部２３、文字列保持部２４および一時文字列保持部２５を含む。本実施形態において、分類別文書データベース２２、形態素解析結果保持部２３、文字列保持部２４および一時文字列保持部２５は、例えば外部記憶装置２０に格納される。
【００１５】
分類別文書データベース２２には、文字列を含む複数の文書が予め格納される。この分類別文書データベース２２に格納されている文書には、当該文書が属する分類を示す分類情報および当該文書に含まれる文字列を示すインデックスが含まれる。つまり、分類別文書データベース２２には、当該分類別文書データベース２２に格納されている文書毎に、当該文書が属する分類を示す分類情報および当該文書に含まれる文字列を示すインデックスが対応づけて予め格納される。
【００１６】
入力処理部３１は、ユーザの指示・入力を処理する。具体的には、入力処理部３１は、ユーザによって指定された文を入力する。入力処理部３１によって入力された文には、例えば連続する複数の単語から構成される文字列（第１の文字列）が含まれる。
【００１７】
形態素解析部３２は、入力処理部３１によって入力された文（以下、入力文と表記）を解析（ここでは、形態素解析）する。これにより、形態素解析部３２は、入力文に含まれる文字列を構成する複数の単語を抽出する。形態素解析部３２による入力文の形態素解析結果は、形態素解析結果保持部２３において保持される。
【００１８】
単語組み合わせ部３３は、形態素解析結果保持部２３に保持されている入力文の形態素解析結果に基づいて、当該入力文から抽出された複数の単語の各々を組み合わせることによって複数の文字列（第２の文字列）を取得する。このとき、単語組み合わせ部３３は、後述する予め定められた条件（以下、組み合わせ条件と表記）に基づいて入力文から抽出された複数の単語の各々を組み合わせる。単語組み合わせ部３３によって取得された複数の文字列は、文字列保持部２４保持される。
【００１９】
包含関係判定部３４は、文字列保持部２４に保持された文字列の各々に対して後述する包含関係を判定するためのルールを適用し、当該適用結果を文字列保持部２４に格納する。包含関係判定部３４は、例えば文字列保持部２４に保持された文字列を構成する単語の数（当該文字列の長さ）の順位（以下、包含順位と表記）を当該文字列の各々に対応づけて文字列保持部２４に格納する。
【００２０】
分類評価値算出部３５は、文字列保持部２４に保持された文字列と一致するインデックスおよび当該文字列を含むインデックスを分類別文書データベース２２から検索する。分類評価値算出部３５は、検索結果（検索されたインデックス）に基づいて、文字列保持部２４に保持されている文字列の各々の分類評価値を算出する。なお、分類評価値算出部３５は、文字列保持部２４に保持された文字列の各々の分類評価値を、検索されたインデックスに対応づけて分類別文書データベース２２に格納されている分類情報によって示される分類毎に算出する。分類毎に算出された文字列の分類評価値は、文字列保持部２４において保持される。
【００２１】
文字列決定部３６は、文字列保持部２４に保持された分類評価値（分類評価値算出部３５によって算出された分類評価値）に基づいて、当該文字列保持部２４に保持された文字列の中から入力文から切り出される文字列（の範囲）を決定する。文字列決定部３６によって決定された文字列（入力文から切り出される文字列）は、出力処理部３７によって出力される。
【００２２】
図３は、図２に示す分類別文書データベース２２のデータ構造の一例を示す。上記したように分類別文書データベース２２には、複数の文書が格納される。分類別文書データベース２２に格納される文書には、当該文書の本文、当該文書を識別するための文書ＩＤ、当該文書が属する文類（を示す分類情報）および当該文書に含まれる文字列を示すインデックス（当該文書のインデックス）が含まれる。
【００２３】
図３に示す分類別文書データベース２２には、文書２２１および２２２を含む複数の文書が格納されている。
【００２４】
図３に示す例では、分類別文書データベース２２に格納されている文書２２１には、当該文書２２１の本文、当該文書２２１を識別するための文書ＩＤ「０００１」および当該文書が属する文類を示す分類情報「ａ」が含まれている。また、分類別文書データベース２２に格納されている文書２２１には、当該文書２２１のインデックス「消炎効果」、「外用鎮痛剤」、「使用」、「注意」、「患部」、「清潔」、「傷」、「場合」、「皮膚症状」および「中止」が含まれている。
【００２５】
また、分類別文書データベース２２に格納されている文書２２２には、当該文書２２２の本文、当該文書２２２を識別するための文書ＩＤ「０００２」および当該文書２２２が属する文類を示す分類情報「ｂ」が含まれている。また、分類別文書データベース２２に格納されている文書２２２には、当該文書２２２のインデックス「消炎鎮痛剤」、「禁忌」、「過敏症」、「既往歴」、「患者」、「妊娠」、「可能性」、「婦人」、「注意」、「外用」および「使用」が含まれている。
【００２６】
ここで、上記した文書別文書データベース２２に格納されている文書に含まれるインデックスは、例えば当該文書の形態素解析結果に対して予め定められた条件（以下、インデックス抽出条件と表記）が適用されることによって当該文書から抽出された文字列である。インデックス抽出条件には、例えば第１および第２のインデックス抽出条件が含まれる。
【００２７】
第１のインデックス抽出条件によれば、例えば文書（に含まれる文字列）における品詞が名詞である単語が連続する範囲（区間）に対し、当該範囲内の最初の単語（名詞）から末尾の単語（名詞）までの各単語から構成される文字列がインデックスとして抽出される。
【００２８】
この第１のインデックス抽出条件が図３に示す文書２２１に適用された場合には、品詞が名詞である単語が連続する範囲内の最初の単語から末尾の単語までの各単語から構成される文字列である「消炎効果」および「外用鎮痛剤」がインデックスとして抽出されるが、当該「消炎効果」および「外用鎮痛剤」の一部（の単語）である「効果」や「鎮痛剤」等はインデックスとして抽出されない。同様に、第１のインデックス抽出条件が図３に示す文書２２２に適用された場合には、「消炎鎮痛剤」がインデックスとして抽出される。
【００２９】
また、第２のインデックス抽出条件によれば、例えば文書（に含まれる文字列）における単独の名詞（つまり、品詞が名詞である単語であってその前後の単語の品詞が名詞でない単語）がインデックスとして抽出される。
【００３０】
この第２のインデックス抽出条件が図３に示す文書２２１に適用された場合には、単独の名詞である「使用」および「注意」等がインデックスとして抽出される。同様に、第２のインデックス抽出条件が図３に示す文書２２２に適用された場合には、「禁忌」等がインデックスとして抽出される。
【００３１】
なお、上記した第１および第２のインデックス抽出条件における名詞には、例えばサ変名詞が含まれるものとする。
【００３２】
次に、図４のフローチャートを参照して、本実施形態に係る文書処理装置３０の処理手順について説明する。
【００３３】
まず、入力処理部３１は、ユーザによって指定された文（例えば、検索要求文等）を入力する（ステップＳ１）。入力処理部３１によって入力された文は、連続する複数の単語（名詞）から構成される文字列（例えば、外用消炎鎮痛剤）を含む。ここでは、入力処理部３１はユーザによって指定された文を入力するものとして説明したが、入力処理部３１はユーザによって指定された文書を入力しても構わない。
【００３４】
以下、入力処理部３１によって入力された文（入力文）は、例えば「外用消炎鎮痛剤を使用する場合の注意」という文であるものとして説明する。
【００３５】
次に、形態素解析部３２は、入力文「外用消炎鎮痛剤を使用する場合の注意」を形態素解析する（ステップＳ２）。この形態素解析により、入力文に含まれる複数の単語が抽出される。形態素解析部３２は、抽出された複数の単語を含む形態素解析結果を形態素解析結果保持部２３に格納する。
【００３６】
ここで、図５は、形態素解析結果保持部２３に保持される形態素解析結果の一例を示す。図５に示す形態素解析結果は、上記した入力文「外用消炎鎮痛剤を使用する場合の注意」に対する形態素解析の結果である。
【００３７】
図５に示すように、形態素解析結果には、番号に対応づけて文字列、単語（見出し）、品詞および活用形が含まれる。なお、単語は、文字列における活用語尾を除いたものである。
【００３８】
図５に示す形態素解析結果には、例えば番号「１」に対応づけて文字列「外用」、単語「外用」および品詞「名詞」が含まれている。
【００３９】
また、図５に示す形態素解析結果には、例えば番号「５」に対応づけて文字列「使用する」、単語「使用」、品詞「サ変名詞」および活用形「終止形」が含まれている。
【００４０】
なお、図５に示す形態素解析結果によれば、入力文「外用消炎鎮痛剤を使用する場合の注意」から複数の単語「外用」、「消炎」、「鎮痛剤」、「を」、「使用」、「場合」、「の」および「注意」が抽出されたことが示されている。
【００４１】
次に、単語組み合わせ部３３は、形態素解析結果保持部２３に保持されている形態素解析結果に基づいて複数の文字列を取得する（ステップＳ３）。
【００４２】
このとき、単語組み合わせ部３３は、形態素解析結果保持部２３に保持されている形態素解析結果に含まれる入力文から抽出された複数の単語の各々を組み合わせることによって文字列を取得する。
【００４３】
なお、単語組み合わせ部３３は、前述した組み合わせ条件を適用することによって文字列を取得する。この組み合わせ条件は、例えば単語組み合わせ部３３において予め保持されている。
【００４４】
ここで、組み合わせ条件について具体的に説明する。組み合わせ条件は、入力文における品詞が名詞（またはサ変名詞）である単語が連続する範囲（区間）に対し、当該範囲内の複数の単語のうちの少なくとも２つ以上の単語の組み合わせ毎に当該組み合わせにおける少なくとも２つ以上の単語を当該範囲内における出現順に組み合わせることを示す。なお、この組み合わせ条件は一例であるため、他の内容の条件が予め定められていてもよい。
【００４５】
また、単語組み合わせ部３３は、形態素解析結果保持部２３に保持されている形態素解析結果に含まれる入力文から抽出された品詞が名詞（またはサ変名詞）である単語を表す文字列を取得する。
【００４６】
単語組み合わせ部３３は、上記したように取得された複数の文字列を文字列保持部２４に格納する。
【００４７】
ここで、図６は、単語組み合わせ部３３によって取得された文字列を保持する文字列保持部２４のデータ構造の一例を示す。図６に示す文字列保持部２４には、上記した図５に示す入力文「外用消炎鎮痛剤を使用する場合の注意」の形態素解析結果に基づいて取得された複数の文字列が保持されている。
【００４８】
図６に示すように、文字列保持部２４には、番号に対応づけて単語組み合わせ部３３によって取得された文字列が保持される。
【００４９】
図６に示す例では、文字列保持部２４には、番号「１」〜「１０」の各々に対応づけて文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」、「外用消炎」、「外用」、「消炎」、「鎮痛剤」、「使用」、「場合」および「注意」が保持されている。
【００５０】
図６に示す文字列保持部２４に保持されている文字列のうちの文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」および「外用消炎」は、入力文（の形態素解析結果）に対して上記した組み合わせ条件が適用されることによって取得された文字列である。
【００５１】
具体的には、文字列保持部２４に保持されている文字列「外用消炎鎮痛剤」は、入力文「外用消炎鎮痛剤を使用する場合の注意」における品詞が名詞である単語が連続する範囲（ここでは、「外用消炎鎮痛剤」）内の３つの単語「外用」、「消炎」および「鎮痛剤」のうちの全ての単語を当該範囲内における出現順に組み合わせることによって取得された文字列である。
【００５２】
また、文字列保持部２４に保持されている文字列「消炎鎮痛剤」は、入力文「外用消炎鎮痛剤を使用する場合の注意」における品詞が名詞である単語が連続する範囲（「外用消炎鎮痛剤」）内の３つの単語「外用」、「消炎」および「鎮痛剤」のうちの２つの単語「消炎」および「鎮痛剤」を当該範囲内における出現順に組み合わせることによって取得された文字列である。
【００５３】
同様に、文字列保持部２４に保持されている文字列「外用鎮痛剤」は、入力文「外用消炎鎮痛剤を使用する場合の注意」における品詞が名詞である単語が連続する範囲（「外用消炎鎮痛剤」）内の３つの単語「外用」、「消炎」および鎮痛剤」のうちの２つの単語「外用」および「鎮痛剤」を当該範囲内における出現順に組み合わせることによって取得された文字列である。
【００５４】
更に、文字列保持部２４に保持されている文字列「外用消炎」は、入力文「外用消炎鎮痛剤を使用する場合の注意」における品詞が名詞である単語が連続する範囲（「外用消炎鎮痛剤」）内の３つの単語「外用」および「消炎」を当該範囲内における出現順に組み合わせることによって取得された文字列である。
【００５５】
一方、図６に示す文字列保持部２４に保持されている文字列のうちの文字列「外用」、「消炎」、「鎮痛剤」、「使用」、「場合」および「注意」は、入力文から抽出された品詞が名詞の単語（入力文の形態素解析結果に含まれる品詞が名詞である単語）を表す文字列である。
【００５６】
図６に示すように、文字列保持部２４においては、単語組み合わせ部３３によって取得された文字列の各々が入力文における出現順に保持されるものとする。また、同一の範囲（品詞が名詞である単語が連続する範囲）から取得された文字列（図６に示す例では、文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」、「外用消炎」、「外用」、「消炎」および「鎮痛剤」）については、少なくとも当該文字列を構成する単語の数が多い順に文字列保持部２４に保持されるものとする。
【００５７】
なお、上述した図５に示す形態素解析結果に含まれる単語において「使用（サ変名詞）」および「場合（名詞）」は連続しているが、これらの単語「使用」および「場合」の間には入力文「外用消炎鎮痛剤を使用する場合の注意」において「する」の文字列が存在するため、このような場合には上記した組み合わせ条件における「品詞が名詞（またはサ変名詞）である単語が連続する範囲」には該当しないものとする。
【００５８】
再び図４に戻ると、包含関係判定部３４は、文字列保持部２４に保持される文字列に対し、包含関係を判定するための予め定められたルールを適用することで、当該文字列保持部２４に保持されている文字列間の包含関係を判定する（ステップＳ４）。この包含関係を判定するためのルールは、包含関係判定部３４において予め保持されている。
【００５９】
ここで、包含関係を判定するためのルールについて具体的に説明する。包含関係を判定するためのルールには、例えば第１〜第３のルールが含まれる。
【００６０】
第１のルールは、文字列保持部２４に保持されている文字列のうち、上記した入力文における品詞が名詞（またはサ変名詞）である単語が連続する同一の範囲内から取得された文字列には同一の文字列ＩＤを付与することを示す。つまり、第１のルールによれば、入力文における品詞が名詞（またはサ変名詞）である単語が連続する同一の範囲内の複数の単語のうちの少なくとも２つ以上の単語を組み合わせることによって取得された文字列および当該同一の範囲内から抽出された各単語を表す文字列には、同一の文字列ＩＤが付与される。
【００６１】
第２のルールは、文字列保持部２４に保持されている文字列のlength（の値）を、当該文字列を構成する単語の数（当該文字列の長さ）とすることを示す。
【００６２】
第３のルールは、同一の文字列ＩＤが付与された文字列において、lengthの値が大きい順に順位（包含順位）を付与することを示す。
【００６３】
包含関係判定部３４は、上記した第１〜第３のルールが適用された結果（包含関係の判定結果）を文字列保持部２４に格納する。
【００６４】
ここで、図７は、包含関係判定部３４による判定結果を保持する文字列保持部２４のデータ構造の一例を示す。図７に示す文字列保持部２４は、上記した第１〜第３のルールが適用された結果を判定結果として保持している。
【００６５】
なお、包含関係判定部３４による判定結果には、文字列ＩＤ、lengthおよび包含順位が含まれる。
【００６６】
上記したように、文字列保持部２４に保持されている文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」、「外用消炎」、「外用」、「消炎」および「鎮痛剤」は、入力文「外用消炎鎮痛剤を使用する場合の注意」における品詞が名詞である単語が連続する同一の範囲（ここでは、「外用消炎鎮痛剤」）内から取得された文字列である。このため、文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」、「外用消炎」、「外用」、「消炎」および「鎮痛剤」には同一の文字列ＩＤが付与される。したがって、図７に示すように、文字列保持部２４には、文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」、「外用消炎」、「外用」、「消炎」および「鎮痛剤」に対応づけて同一の文字列ＩＤ「１」が保持されている。
【００６７】
また、文字列保持部２４には、文字列「外用消炎鎮痛剤」に対応づけてlength「３」が保持されている。このlength「３」は、文字列「外用消炎鎮痛剤」を構成する単語（ここでは、「外用」、「消炎」および「鎮痛剤」）の数を示す。
【００６８】
同様に、文字列保持部２４には、文字列「消炎鎮痛剤」に対応づけてlength「２」、文字列「外用鎮痛剤」に対応づけてlength「２」、文字列「外用消炎」に対応づけてlength「２」、文字列「外用」に対応づけてlength「１」、文字列「消炎」に対応づけてlength「１」、文字列「鎮痛剤」に対応づけてlength「１」が保持されている。
【００６９】
ここで、文字列「外用消炎鎮痛剤」は、同一の文字列ＩＤ（ここでは、文字列ＩＤ「１」）が付与された文字列の中でlengthの値が最も大きい。このため、文字列保持部２４には、文字列「外用消炎鎮痛剤」に対応づけて包含順位「１」が保持されている。
【００７０】
同様に、文字列保持部２４には、文字列「消炎鎮痛剤」に対応づけて包含順位「２」、文字列「外用鎮痛剤」に対応づけて包含順位「２」、文字列「外用消炎」に対応づけて包含順位「２」が保持される。また、文字列保持部２４には、文字列「外用」に対応づけて包含順位「３」、文字列「消炎」に対応づけて包含順位「３」、文字列「鎮痛剤」に対応づけて包含順位「３」が保持されている。
【００７１】
このように、同一の文字列ＩＤが付与された文字列の中でlengthの値が同一である文字列が複数存在する場合には、当該複数の文字列の包含順位は同一とする。したがって、文字列「消炎鎮痛剤」、「外用鎮痛剤」および「外用消炎」の各々に対応づけて文字列保持部２４に保持されている包含順位は同一（ここでは、包含順位「２」）である。また、文字列「外用」、「消炎」および「鎮痛剤」の各々に対応づけて文字列保持部２４に保持されている包含順位は同一（ここでは、包含順位「３」）である。
【００７２】
また、文字列保持部２４には、文字列「使用」に対応づけて文字列ＩＤ「２」、length「１」および包含順位「１」が保持されている。
【００７３】
同様に、文字列保持部２４には、文字列「場合」に対応づけて文字列ＩＤ「３」、length「１」および包含順位「１」が保持されている。
【００７４】
更に、文字列保持部２４には、文字列「注意」に対応づけて文字列ＩＤ「４」、length「１」および包含順位「１」が保持されている。
【００７５】
再び図４に戻ると、分類評価値算出部３５は、分類別文書データベース２２および図７に示す文字列保持部２４を参照して、当該文字列保持部２４に保持されている文字列の各々の分類評価値を算出する処理（以下、分類評価値算出処理を表記）を実行する（ステップＳ５）。分類評価値算出部３５によって算出された分類評価値は、文字列保持部２４において保持される。この分類評価値算出処理の詳細については後述する。
【００７６】
次に、文字列決定部３６は、文字列保持部２４に保持されている文字列の各々の分類評価値に基づいて、入力文から切り出される文字列（以下、切り出し文字列と表記）を決定する処理（以下、切り出し文字列決定処理と表記）を実行する（ステップＳ６）。換言すれば、文字列決定部３６は、切り出し文字列決定処理によって入力文から文字列を切り出すための適切な範囲を決定する。
【００７７】
この切り出し文字列決定処理においては、文字列保持部２４に保持されている分類評価値が後述する予め定められた条件を満たす文字列のうち、当該文字列を構成する単語の数が最も多い（つまり、lengthの値が最も大きい）文字列が切り出し文字列として決定される。また、文字列保持部２４に保持されている分類評価値が予め定められた条件を満たす文字列のうち、当該文字列を構成する単語の数が最も多い文字列が複数存在する場合、当該文字列を構成する単語の数が最も多い複数の文字列のうち、当該文字列保持部２４に保持されている分類評価値が最も大きい文字列が切り出し文字列として決定される。
【００７８】
なお、切り出し文字列決定処理においては、一時文字列保持部２５が用いられる。この切り出し文字列決定処理の詳細については後述する。
【００７９】
次に、出力処理部３７は、文字列決定部３６によって決定された切り出し文字列を出力する（ステップＳ７）。出力処理部３７によって出力された切り出し文字列は、例えば入力文が検索要求文であるような場合には、当該検索処理等に用いられる。
【００８０】
次に、図８のフローチャートを参照して、前述した分類評価値算出部３５による分類評価値算出処理（図４に示すステップＳ５の処理）の処理手順の詳細について説明する。
【００８１】
分類評価値算出処理においては、文字列保持部２４に保持されている文字列の各々について分類評価値が算出される。ここでは、文字列保持部２４には、図７に示す各情報が保持されているものとする。
【００８２】
まず、分類評価値算出部３５は、文字列保持部２４に保持されている文字列のうち、例えば１番目の文字列（番号「１」に対応づけられている文字列）を変数ｋｅｙに格納することにより、当該文字列をｋｅｙ文字列とする（ステップＳ１１）。
【００８３】
図７に示す文字列保持部２４によれば、番号「１」に対応づけられている文字列「外用消炎鎮痛剤」がｋｅｙ文字列となる。つまり、分類評価値算出処理においては、文字列「外用消炎鎮痛剤」から順に分類評価値が算出される。
【００８４】
次に、分類評価値算出部３５は、分類別文書データベース２２を参照して、インデックスにｋｅｙ文字列を含む文書を当該分類別文書データベース２２から検索する（ステップＳ１２）。この場合、分類評価値算出部３５は、ｋｅｙ文字列と一致するインデックスおよびｋｅｙ文字列を含むインデックス（を含む文書）を分類別文書データベース２２から検索する。
【００８５】
また、分類評価値算出部３５は、検索されたインデックスとともに、当該文書が属する分類を示す分類情報を分類別文書データベース２２から取得する。
【００８６】
なお、分類別文書データベース２２に格納されている文書に含まれるインデックスは、前述したように当該文書の形態素解析結果に対して第１および第２のインデックス抽出条件が適用されることによって当該文書から抽出された文字列である。
【００８７】
ここで、図９および図１０は、分類評価値算出部３５による検索結果の一例を示す。図９は、ｋｅｙ文字列が「外用消炎鎮痛剤」である場合の分類評価値算出部３５による検索結果の一例を示す。
【００８８】
図９に示す例では、分類評価値算出部３５による検索結果には、ｋｅｙ文字列「外用消炎鎮痛剤」を含むインデックスを含む文書として、文書ＩＤ「００５６」によって識別される文書が含まれる。この文書ＩＤ「００５６」によって識別される文書に含まれるインデックスであって、ｋｅｙ文字列「外用消炎鎮痛剤」を含むインデックス（当該ｋｅｙ文字列と一致するインデックス）は、「外用消炎鎮痛剤」である。
【００８９】
なお、文書ＩＤ「００５６」によって識別される文書は、分類「ａ」に属する文書である。
【００９０】
図１０は、ｋｅｙ文字列が「消炎鎮痛剤（図７に示す文字列保持部２４において番号「２」に対応づけられている文字列）」である場合の分類評価値算出部３５による検索結果の一例を示す。
【００９１】
図１０に示す例では、分類評価値算出部３５による検索結果には、ｋｅｙ文字列「消炎鎮痛剤」を含むインデックスを含む文書として、文書ＩＤ「０００１」、「０００２」、「００５６」および「０１０１」によって識別される文書が含まれる。文書ＩＤ「０００１」、「００５６」および「０１０１」によって識別される文書に含まれるインデックスであって、ｋｅｙ文字列「消炎鎮痛剤」を含むインデックスは、「外用消炎鎮痛剤」である。また、文書ＩＤ「０００２」によって識別される文書に含まれるインデックスであって、ｋｅｙ文字列「消炎鎮痛剤」を含むインデックス（当該ｋｅｙ文字列と一致するインデックス）は、「消炎鎮痛剤」である。
【００９２】
なお、文書ＩＤ「０００１」、「００５６」および「０１０１」によって識別される文書は、分類「ａ」に属する文書である。また、文書ＩＤ「０００２」によって識別される文書は、分類「ｂ」に属する文書である。
【００９３】
再び図８に戻ると、分類評価値算出部３５は、上記した図９または図１０に示すような検索結果に基づいて、ｋｅｙ文字列に対する分類評価値を算出する（ステップＳ１３）。この場合、分類評価値算出部３５は、ｋｅｙ文字列に対する分類毎の分類評価値Ｖｉ（ｉ＝分類ａ、ｂ、…）を算出する。
【００９４】
ここで、分類評価値Ｖｉは、「length(key)＊(Ni(key)−Ti(key)／Ci(key))」の算出式により算出されるものとする。
【００９５】
この算出式における「length(key)」は、文字列保持部２４に保持されているｋｅｙ文字列のlengthの値（ｋｅｙ文字列を構成する単語の数）である。この「length(key)」は、文字列保持部２４を参照することにより特定される。
【００９６】
算出式における「Ni(key)」は、分類ｉにおける、検索されたインデックスの数（第１の出現回数）を示す。具体的には、「Ni(key)」は、ｋｅｙ文字列と一致するインデックスおよびｋｅｙ文字列を含むインデックス（を含む文書）ののべ出現回数を示す。この「Ni(key)」は、上記した分類評価値算出部３５による検索結果により特定される。
【００９７】
算出式における「Ti(key)」は、分類ｉにおける、ｋｅｙ文字列を含むインデックス（を含む文書）の数（第２の出現回数）を示す。つまり、「Ti(key)」は、検索されたインデックスの数とｋｅｙ文字列と一致するインデックスの数との差を示す。この「Ti(key)」は、上記した分類評価値算出部３５による検索結果により特定される。
【００９８】
また、算出式における「Ci(key)」は、分類ｉにおける、ｋｅｙ文字列と一致するインデックスおよびｋｅｙ文字列を含むインデックス（を含む文書）の異なり数を示す。この「Ci(key)」は、上記した分類評価値算出部３５による検索結果により特定される。なお、異なり数とは、分類評価値算出部３５によって検索されたインデックスのうち、異なるインデックスの数をいう。
【００９９】
つまり、分類評価値算出部３５は、上記した「Ni(key)」、「Ti(key)」および「Ci(key)」の各値を算出し、これらの「Ni(key)」、「Ti(key)」および「Ci(key)」の値を用いて分類評価値Ｖｉを算出する。
【０１００】
ここで、分類評価値算出部３５による検索結果が上記した図９および図１０に示す検索結果である場合における分類評価値Ｖｉの算出について具体的に説明する。ここでは、ｋｅｙ文字列「外用消炎鎮痛剤」においては、便宜的に、図９に示す１つのインデックス（を含む文書）のみが検索されたものとして説明する。同様に、ｋｅｙ文字列「消炎鎮痛剤」においては、便宜的に、図１０に示す４つのインデックス（を含む文書）のみが検索されたものとして説明する。
【０１０１】
まず、分類評価値算出部３５による検索結果が上記した図９に示す検索結果である場合におけるｋｅｙ文字列「外用消炎鎮痛剤」に対する分類ａの分類評価値Ｖａの算出について説明する。
【０１０２】
この場合、図７に示す文字列保持部２４によれば、「length(key)」は３である。図９に示す検索結果によれば、分類ａにおけるｋｅｙ文字列「外用消炎鎮痛剤」と一致するインデックス（およびｋｅｙ文字列を含むインデックス）の数は１であるため、「Na(key)」は１である。図９に示す検索結果によれば、分類ａにおけるｋｅｙ文字列「外用消炎鎮痛剤」を含むインデックス（当該ｋｅｙ文字列より長いインデックス）の数は０であるため、「Ta(key)」は０である。また、図９に示す検索結果によれば、分類ａにおいて検索されたインデックスは「外用消炎鎮痛剤」のみであるため、「Ca(key)」は１である。以上により、ｋｅｙ文字列「外用消炎鎮痛剤」に対する分類ａの分類評価値Ｖａは、「３＊（１−０／１）」により３となる。
【０１０３】
一方、分類評価値算出部３５による検索結果が上記した図９に示す検索結果である場合における、ｋｅｙ文字列「外用消炎鎮痛剤」に対する分類ｂの分類評価値Ｖｂの算出について説明する。
【０１０４】
この場合、図９に示す検索結果においては例えば分類ｂに属する文書は検索されていないため、「Nb(key)」、「Tb(key)」および「Cb(key)」はそれぞれ０となる。したがって、ｋｅｙ文字列「外用消炎鎮痛剤」に対する分類ｂの分類評価値Ｖｂは０となる。
【０１０５】
次に、分類評価値算出部３５による検索結果が上記した図１０に示す検索結果である場合における、ｋｅｙ文字列「消炎鎮痛剤」に対する分類ａの分類評価値Ｖａの算出について説明する。
【０１０６】
この場合、図７に示す文字列保持部２４によれば、「length」は２である。図１０に示す検索結果によれば、分類ａにおけるｋｅｙ文字列「消炎鎮痛剤」を含むインデックス（およびｋｅｙ文字列と一致するインデックス）の数は３であるため、「Na(key)」は３である。図１０に示す検索結果によれば、分類ａにおけるｋｅｙ文字列「消炎鎮痛剤」を含むインデックス（当該ｋｅｙ文字列より長いインデックス）の数は３であるため、「Ta(key)」は３である。また、図１０に示す検索結果によれば、分類ａにおいて検索されたインデックスは「外用消炎鎮痛剤」のみであるため、「Ca(key)」は１である。以上により、ｋｅｙ文字列「消炎鎮痛剤」に対する分類ａの分類評価値Ｖａは、「２＊（３−３／１）」により０となる。
【０１０７】
一方、分類評価値算出部３５による検索結果が上記した図１０に示す検索結果である場合における、ｋｅｙ文字列「消炎鎮痛剤」に対する分類ｂの分類評価値Ｖｂの算出について説明する。
【０１０８】
この場合、上記したように「length(key)」は２である。図１０に示す検索結果によれば、分類ｂにおけるｋｅｙ文字列「消炎鎮痛剤」と一致するインデックス（およびｋｅｙ文字列を含むインデックス）の数は１であるため、「Nb(key)」は１である。図１０に示す検索結果によれば、分類ｂにおけるｋｅｙ文字列「消炎鎮痛剤」を含むインデックス（当該ｋｅｙ文字列より長いインデックス）の数は０であるため、「Tb(key)」は０である。また、図１０に示す検索結果によれば、分類ｂにおいて検索されたインデックスは「消炎鎮痛剤」のみであるため、「Cb(key)」は１である。以上により、ｋｅｙ文字列「消炎鎮痛剤」に対する分類ｂの分類評価値Ｖｂは、「２＊（２−０／１）」により２となる。
【０１０９】
上記したように算出されたｋｅｙ文字列に対する分類毎の分類評価値Ｖｉは、当該分類評価値Ｖｉの算出に用いられた「Ni(key)」、「Ti(key)」および「Ci(key)」とともに文字列保持部２４において保持される。
【０１１０】
分類評価値算出部３５によって算出されたｋｅｙ文字列に対する分類毎の分類評価値Ｖｉが文字列保持部２４に保持されると、分類評価値算出部３５は、文字列保持部２４に上記したステップＳ１２およびステップＳ１３の処理が実行されていない文字列（つまり、未処理の文字列）があるか否かを判定する（ステップＳ１４）。
【０１１１】
未処理の文字列が文字列保持部２４にない、つまり、文字列保持部２４に保持されている全ての文字列について処理が実行されたと判定された場合（ステップＳ１４のＮＯ）、分類評価値算出処理は終了される。
【０１１２】
一方、未処理の文字列が文字列保持部２４にある、つまり、文字列保持部２４に保持されている文字列の中に処理が実行されていない文字列があると判定された場合（ステップＳ１４のＹＥＳ）、当該未処理の文字列をｋｅｙ文字列として上記したステップＳ１２に戻って処理が繰り返される。
【０１１３】
ここで、図１１は、上述した図７に示す文字列保持部２４に保持されている文字列の各々に対して分類評価値算出処理が実行された後の文字列保持部２４のデータ構造の一例を示す。
【０１１４】
図１１に示すように、文字列保持部２４には、文字列の各々に対する分類毎の分類評価値Ｖｉ（Ｖａ、Ｖｂ、…）が保持されている。なお、図１１においては、ｋｅｙ文字列に対する分類ａの分類評価値Ｖａの算出に用いられた「Na(key)」、「Ta(key)」および「Ca(key)」を単にＮａ、ＴａおよびＣａとする。分類ｂの分類評価値Ｖｂの算出に用いられた「Nb(key)」、「Tb(key)」および「Cb(key)」についても同様に単にＮｂ、ＴｂおよびＣｂとする。また、以下の説明においても同様とする。
【０１１５】
具体的には、文字列保持部２４には、文字列「外用消炎鎮痛剤」に対する分類ａの分類評価値Ｖａ「３」と、当該分類評価値Ｖａの算出に用いられたＮａ「１」、Ｔａ「０」およびＣａ「１」とが保持されている。
【０１１６】
また、文字列保持部２４には、文字列「外用消炎鎮痛剤」に対する分類ｂの分類評価値Ｖｂ「０」と、当該分類評価値Ｖｂの算出に用いられたＮｂ「０」、Ｔｂ「０」およびＣｂ「０」とが保持されている。
【０１１７】
同様に、文字列保持部２４には、文字列「消炎鎮痛剤」に対する分類ａの分類評価値Ｖａ「１２」と、当該分類評価値Ｖａの算出に用いられたＮａ「１１」、Ｔａ「１０」およびＣａ「２」とが保持されている。
【０１１８】
また、文字列保持部２４には、文字列「消炎鎮痛剤」に対する分類ｂの分類評価値Ｖｂ「６」と、当該分類評価値Ｖｂの算出に用いられたＮｂ「３」、Ｔｂ「０」およびＣｂ「１」とが保持されている。
【０１１９】
なお、ここでは、文字列保持部２４に保持されている文字列「外用消炎鎮痛剤」および「消炎鎮痛剤」について説明したが、他の文字列についても同様であるためその詳しい説明を省略する。
【０１２０】
次に、図１２および図１３のフローチャートを参照して、前述した文字列決定部３６による切り出し文字列決定処理（図４に示すステップＳ６の処理）の処理手順の詳細について説明する。
【０１２１】
切り出し文字列決定処理においては、文字列保持部２４に保持されている文字列の各々に対して算出された分類毎の分類評価値に基づいて、入力文から切り出される文字列（切り出し文字列）が決定される。ここでは、文字列保持部２４には、上記した図１１に示す分類評価値等の各情報が保持されているものとして説明する。
【０１２２】
まず、文字列決定部３６は、変数Ｉｄ＝１、変数ｎ＝１、変数ａ＝１とする（ステップＳ２１）。
【０１２３】
文字列決定部３６は、文字列保持部２４を参照して、文字列ＩＤが変数Ｉｄ（の値）で、包含順位が変数ｎ（の値）で、かつ、番号が変数ａ（の値）である文字列を特定する。以下、文字列決定部３６によって特定された文字列を、文字列Ｘと称する。
【０１２４】
上記したように変数Ｉｄ＝１、変数ｎ＝１、変数ａ＝１である場合には、図１１に示す文字列保持部２４によれば、文字列ＩＤ「１」、包含順位「１」および番号「１」に対応づけられている文字列「外用消炎鎮痛剤」が文字列Ｘとなる。
【０１２５】
文字列決定部３６は、文字列保持部２４に保持されている文字列Ｘの分類毎の分類評価値（当該文字列Ｘに対応づけて文字列保持部２４に保持されている分類毎の分類評価値）に基づいて、当該分類評価値が予め定められた値（第１の値）以上である分類の数が予め定められた値（第２の値）以上であるという条件（以下、切り出し文字列決定条件と表記）を、当該文字列Ｘが満たすか否かを判定する（ステップＳ２２）。この切り出し文字列決定条件は、予め定められた条件であり、例えば文字列決定部３６において保持されている。
【０１２６】
ここで、文字列Ｘが「外用消炎鎮痛剤」であり、第１の値が４であり、第２の値が１である場合を想定する。この場合、図１１に示す文字列保持部２４によれば、文字列「外用消炎鎮痛剤」に対する分類ａの分類評価値Ｖａは３であり、分類ｂの分類評価値Ｖｂは０である。このため、文字列「外用消炎鎮痛剤」においては分類評価値が４以上である分類の数は１以上でないため、当該文字列「外用消炎鎮痛剤」は切り出し文字列決定条件を満たさないと判定される。
【０１２７】
一方、文字列Ｘが「消炎鎮痛剤」であり、第１の値が４であり、第２の値が１である場合を想定する。この場合、図１１に示す文字列保持部２４によれば、文字列「消炎鎮痛剤」に対する分類ａの分類評価値Ｖａは１２であり、分類ｂの分類評価値Ｖｂは６である。このため、文字列「消炎鎮痛剤」においては分類評価値が４以上である分類の数は１以上であるため、当該文字列「消炎鎮痛剤」は切り出し文字列決定条件を満たすと判定される。
【０１２８】
ステップＳ２２において文字列Ｘが切り出し文字列決定条件を満たすと判定された場合、文字列決定部３６は、当該文字列Ｘに関するデータ（以下、文字列データと表記）を一時文字列保持部２５に格納する（ステップＳ２３）。なお、文字列データ（文字列Ｘに関するデータ）は、文字列Ｘに対応づけて文字列保持部２４に保持されているデータであり、少なくとも当該文字列Ｘおよび当該文字列Ｘの分類毎の分類評価値のうち値が最大の分類評価値を含む。
【０１２９】
一方、ステップＳ２２において文字列Ｘが切り出し文字列決定条件を満たさないと判定された場合、ステップＳ２３の処理は実行されない。
【０１３０】
次に、文字列決定部３６は、文字列Ｘと文字列ＩＤおよび包含順位が同一の未処理の文字列（上記したステップＳ２２およびＳ２３の処理がされていない文字列）が文字列保持部２４にあるか否かを判定する（ステップＳ２４）。この場合、文字列決定部３６は、文字列Ｘと同一の文字列ＩＤおよび包含順位に対応づけて文字列保持部２４に保持されている未処理の文字列（当該文字列Ｘ以外の文字列）が存在するか否かを判定する。
【０１３１】
例えば文字列Ｘが「外用消炎鎮痛剤」である場合、図１１に示す文字列保持部２４には文字列ＩＤ「１」および包含順位「１」に対応づけられている文字列（文字列「外用消炎鎮痛剤」以外の文字列）は存在しないため、当該文字列Ｘと文字列ＩＤおよび包含順位が同一の文字列が文字列保持部２４にないと判定される。
【０１３２】
一方、例えば文字列Ｘが「消炎鎮痛剤」である場合、図１１に示す文字列保持部２４には文字列ＩＤ「１」および包含順位「２」に対応づけられている文字列（ここでは、文字列「外用鎮痛剤」および「外用消炎」）が存在するため、当該文字列Ｘと文字列ＩＤおよび包含順位が同一の文字列が文字列保持部２４にあると判定する。
【０１３３】
ステップＳ２４において文字列Ｘと文字列ＩＤおよび包含順位が同一の未処理の文字列が文字列保持部２４にないと判定された場合、文字列決定部３６は、一時文字列保持部２５に文字列データが保持されているか否かを判定する（ステップＳ２５）。
【０１３４】
一時文字列保持部２５に文字列データが保持されていると判定された場合（ステップＳ２５のＹＥＳ）、文字列決定部３６は、一時文字列保持部２５に保持されている文字列データに基づいて、入力文から切り出される文字列（切り出し文字列）を決定する（ステップＳ２６）。なお、一時文字列保持部２５に保持されている文字列データには、上記したように少なくとも文字列および当該文字列の分類毎の分類評価値のうちの値が最大の分類評価値が含まれている。
【０１３５】
ここで、一時文字列保持部２５に保持されている文字列データが１つである場合を想定する。この場合、文字列決定部３６は、一時文字列保持部２５に保持されている文字列データに含まれる文字列を切り出し文字列として決定する。
【０１３６】
一方、一時文字列保持部２５に保持されている文字列データが複数ある場合を想定する。この場合、文字列決定部３６は、一時文字列保持部２５に保持されている文字列データの各々に含まれる分類評価値を比較し、当該比較した結果、最大の分類評価値を含む文字列データに含まれる文字列（つまり、分類評価値が最大の文字列）を切り出し文字列として決定する。
【０１３７】
なお、文字列決定部３６は、文字列データに含まれる文字列が切り出し文字列として決定された旨の情報を、文字列保持部２４に格納する。
【０１３８】
ステップＳ２６の処理が実行されると、文字列決定部３６は、一時文字列保持部２５（に保持されている文字列データ）をクリアする（ステップＳ２７）。
【０１３９】
次に、文字列決定部３６は、文字列保持部２４を参照して、上記したステップＳ２２以降の処理が実行されていない文字列ＩＤ（つまり、未処理の文字列ＩＤ）が文字列保持部２４にあるか否かを判定する（ステップＳ２８）。
【０１４０】
未処理の文字列ＩＤがあると判定された場合（ステップＳ２８のＹＥＳ）、文字列決定部３６は、変数Ｉｄ（の値）を次の未処理の文字列ＩＤ（つまり、変数Ｉｄ＝Ｉｄ＋１）に更新する（ステップＳ２９）。
【０１４１】
また、文字列決定部３６は、変数ｎ（の値）を更新する（ステップＳ３０）。このステップＳ３０の処理においては、文字列決定部３６は、変数ｎを１（つまり、変数ｎ＝１）に更新する。
【０１４２】
更に、文字列決定部３６は、変数ａ（の値）を、次に処理される文字列の番号に更新する（ステップＳ３１）。この場合、文字列決定部３６は、次に処理される番号として、ステップＳ２９において更新された変数Ｉｄを文字列ＩＤとし、ステップＳ３０において更新された変数ｎを包含順位とした場合における当該文字列ＩＤおよび包含順位に対応づけて文字列保持部２４に保持されている番号に変数ａを更新する。
【０１４３】
ステップＳ２９、Ｓ３０およびＳ３１によって変数Ｉｄ、変数ｎおよび変数ａが更新されると、文字列ＩＤが変数Ｉｄ（更新された変数Ｉｄ）で、包含順位が変数ｎ（更新された変数ｎ）で、かつ、番号が変数ａ（更新された変数ａ）である文字列を文字列Ｘとして、上記したステップＳ２２に戻って処理が繰り返される。
【０１４４】
具体的には、上記したステップＳ２８において未処理の文字列ＩＤがあると判定された時点で例えば変数Ｉｄ＝１、変数ｎ＝１および変数ａ＝１である場合には、変数Ｉｄ＝２、変数ｎ＝１および変数ａ＝８に更新される。したがって、文字列ＩＤが２で、包含順位が１で、かつ、番号が８の文字列（図１１に示す文字列「使用」）を文字列ＸとしてステップＳ２２以降の処理が実行される。
【０１４５】
なお、上記したステップＳ２４において文字列Ｘと文字列ＩＤおよび包含順位が同一の未処理の文字列が文字列保持部２４にあると判定された場合には、ステップＳ３１の処理が実行される。この場合、文字列決定部３６は、変数ａ＝ａ＋１とする。このようにステップＳ３１の処理が実行されることによって、文字列Ｘと文字列ＩＤおよび包含順位が同一の次の未処理の文字列を新たな文字列ＸとしてステップＳ２２以降の処理が実行される。
【０１４６】
また、上記したステップＳ２５において一時文字列保持部２５に文字列データが保持されていないと判定された場合、文字列決定部３６は、文字列保持部２４を参照して、変数Ｉｄを文字列ＩＤとした場合における当該文字列ＩＤに対応づけて文字列保持部２４に保持されている包含順位のうち、上記したステップＳ２２以降の処理が実行されていない包含順位（つまり、未処理の包含順位）が文字列保持部２４にあるか否かを判定する（ステップＳ３２）。
【０１４７】
未処理の包含順位が文字列保持部２４にあると判定された場合（ステップＳ３２のＹＥＳ）、文字列決定部３６は、変数ｎを更新する（ステップＳ３３）。この場合、文字列決定部３６は、変数ｎ＝ｎ＋１とする。
【０１４８】
ステップＳ３３の処理が実行されると、上記したステップＳ３１に処理が実行される。このステップＳ３１の処理においては、文字列決定部３６は、変数ａ＝ａ＋１とすることにより、変数ａを文字列Ｘ（の包含順位）の次の包含順位における先頭の文字列の番号に更新する。これにより、文字列Ｘと文字列ＩＤが同一で、かつ、包含順位が当該文字列Ｘの包含順位の次の文字列を新たな文字列ＸとしてステップＳ２２以降の処理が実行される。
【０１４９】
一方、未処理の包含順位が文字列保持部２４にないと判定された場合（ステップＳ３２のＮＯ）、上記したステップＳ２８の処理が実行される。
【０１５０】
なお、ステップＳ２８において未処理の文字列ＩＤがないと判定された場合、切り出し文字列決定処理は終了される。
【０１５１】
上記したような切り出し文字列決定処理によれば、同一の文字列ＩＤに対応づけて文字列保持部２４に保持されている複数の文字列（つまり、入力文における品詞が名詞である単語が連続する範囲内）からは、切り出し文字列決定条件を満たすと判定された文字列であって、包含順位が上位の文字列（つまり、文字列を構成する単語が多い文字列）が切り出し文字列として決定される。
【０１５２】
また、切り出し文字列決定条件を満たすと判定された文字列であって包含順位が上位の文字列が複数存在する場合には、当該複数の文字列のうち、分類評価値（当該文字列の分類毎の分類評価値のうちの最大の分類評価値）が最も大きい文字列が切り出し文字列として決定される。
【０１５３】
ここで、図１４は、図１１に示す文字列保持部２４（に保持されている情報）を用いて図１２および図１３に示す切り出し文字列決定処理が実行された後の文字列保持部２４のデータ構造の一例を示す。
【０１５４】
図１４に示す例では、文字列保持部２４には、文字列ＩＤ「１」に対応づけられている文字列のうちの文字列「外用鎮痛剤」が切り出し文字列として決定された旨の情報（当該文字列「外用鎮痛剤」に対応づけられている判定「○」）が保持されている。
【０１５５】
この文字列「外用鎮痛剤」が切り出し文字列として決定される旨について具体的に説明すると、文字列保持部２４において文字列ＩＤ「１」に対応づけてられている文字列のうち、包含順位が上位（ここでは、包含順位「１」）の文字列「外用消炎鎮痛剤」は、上記した切り出し文字列決定条件（ここでは、分類評価値が４以上である分類の数が１以上）を満たさないため、切り出し文字列として決定されない。
【０１５６】
また、文字列「外用消炎鎮痛剤」の包含順位の次に上位の包含順位（ここでは、包含順位「２」）の文字列「消炎鎮痛剤」、「外用鎮痛剤」および「外用消炎」は、それぞれ分類評価値が４以上である分類の数が１以上であるため、切り出し文字列決定条件を満たす。
【０１５７】
ここで、図１４（または図１１）に示す文字列保持部２４を参照すると、文字列「消炎鎮痛剤」の分類毎の分類評価値（ＶａおよびＶｂ）のうちの最大の分類評価値Ｖａは１２である。同様に、文字列「外用鎮痛剤」の分類毎の分類評価値（ＶａおよびＶｂ）のうちの最大の分類評価値Ｖａは１９である。また、文字列「外用消炎」の分類毎の分類評価値（ＶａおよびＶｂ）のうちの最大の分類評価値Ｖａは１４である。
【０１５８】
これによれば、これらの文字列「消炎鎮痛剤」、「外用鎮痛剤」および「外用消炎」の分類評価値（Ｖａ）を比較すると、文字列「外用鎮痛剤」の分類評価値が最も大きい。
【０１５９】
したがって、文字列保持部２４において文字列ＩＤ「１」に対応づけてられている文字列からは文字列「外用鎮痛剤」が切り出し文字列として決定される。
【０１６０】
また、図１４に示す例では、文字列保持部２４には、文字列「使用」、「場合」および「注意」が切り出し文字列決定処理において切り出し文字列として決定された旨の情報（これらの文字列に対応づけられている判定「○」）が保持されている。
【０１６１】
つまり、図１４に示すように、文字列保持部２４に保持されている文字列ＩＤ毎に切り出し文字列が決定される。
【０１６２】
出力処理部３７は、文字列保持部２４を参照して、判定「○」に対応づけて当該文字列保持部２４に保持されている文字列（切り出し文字列として決定された文字列）を出力する。なお、出力処理部３７は、切り出し文字列として決定された文字列とともに、当該文字列において分類評価値が最も大きい分類を示す分類情報等を出力しても構わない。
【０１６３】
図１５は、分類別文書データベース２２とは内容（格納されている文書）が異なる分類別文書データベースを用いて分類評価値算出処理が実行された場合の文字列保持部２４のデータ構造の一例を示す。
【０１６４】
この場合、分類別文書データベース２２とは内容が異なる分類別文書データベースが用いられているため、図１５に示す文字列保持部２４には、前述した図１１に示す文字列保持部２４と比較して、異なる分類評価値（および当該分類評価値の算出に用いられた各値）が保持されている。
【０１６５】
図１６は、図１５に示す文字列保持部２４（に保持されている情報）を用いて図１２および図１３に示す切り出し文字列決定処理が実行された後の文字列保持部２４のデータ構造の一例を示す。
【０１６６】
図１６に示す例では、文字列保持部２３４には、前述した図１４とは異なり、文字列ＩＤ「１」に対応づけられている文字列のうちの文字列「消炎鎮痛剤」が切り出し文字列決定処理において切り出し文字列として決定された旨の情報（つまり、当該文字列「消炎鎮痛剤」に対応づけられている判定「○」）が保持されている。
【０１６７】
この文字列「消炎鎮痛剤」が切り出し文字列として決定される旨について具体的に説明すると、文字列保持部２４において文字列ＩＤ「１」に対応づけられている文字列のうち、包含順位が上位（ここでは、包含順位「１」）の文字列「外用消炎鎮痛剤」は、上記した切り出し文字列決定条件（分類評価値が４以上である分類の数が１以上）を満たさないため、切り出し文字列として決定されない。
【０１６８】
ここで、文字列「外用消炎鎮痛剤」の包含順位の次に上位の包含順位（ここでは、包含順位「２」）の文字列は、文字列「消炎鎮痛剤」、「外用鎮痛剤」および「外用消炎」である。
【０１６９】
これらの文字列のうち、文字列「消炎鎮痛剤」および「外用鎮痛剤」は、分類評価値が４以上である分類の数が１以上であるため、切り出し文字列決定条件を満たす。一方、文字列「外用消炎」は、分類評価値が４以上である分類の数が１以上でないため、切り出し文字列決定条件を満たさない。
【０１７０】
ここで、図１６（または図１５）に示す文字列保持部２４を参照すると、文字列「消炎鎮痛剤」の分類毎の分類評価値（ＶａおよびＶｂ）のうちの最大の分類評価値Ｖａは２１である。また、文字列「外用鎮痛剤」の分類毎の分類評価値（ＶａおよびＶｂ）のうちの最大の分類評価値Ｖａは１０である。
【０１７１】
これによれば、これらの文字列「消炎鎮痛剤」および「外用鎮痛剤」の分類評価値（Ｖａ）を比較すると、文字列「消炎鎮痛剤」の分類評価値が最も大きい。
【０１７２】
したがって、文字列保持ｖｙ２４において文字列ＩＤ「１」に対応づけられている文字列からは文字列「消炎鎮痛剤」が切り出し文字列として決定される。
【０１７３】
上記したように本実施形態においては、入力文に含まれる複数の単語（例えば、「外用消炎鎮痛剤」を構成する複数の単語）の各々を組み合わせることによって複数の文字列が取得され、当該取得された複数の文字列の各々に対して分類毎の分類評価値が算出され、当該分類毎の分類評価値および当該複数の文字列の各々を構成する単語の数（つまり、包含順位）に基づいて入力文から切り出される文字列（切り出し文字列）が決定される。
【０１７４】
これにより、本実施形態においては、入力文において品詞が名詞である単語（またはサ変名詞）が連続する範囲内における当該単語の組み合わせおよび当該入力文の分類を考慮して入力文から切り出される適切な文字列を決定する（つまり、適切な切り出し範囲を決定する）ことができ、当該入力文から適切な文字列を切り出すことが可能となる。
【０１７５】
なお、本実施形態においては、分類別文書データベース２２には文書の本文、文書ＩＤ、分類情報およびインデックス（を含む文書）が格納されているものとして説明したが、分類情報およびインデックスのみが格納されていても構わない。
【０１７６】
また、分類別文書データベース２２において、頻出する文字列に対する分類毎の分類評価値（または、当該分類評価値の算出に用いられるNi(key)、Ti(key)およびCi(key)の各値）を予め格納しておく構成であっても構わない。このような構成とすることで、分類評価値算出処理における処理量を軽減することができる。
【０１７７】
また、本実施形態においては、品詞が名詞（またサ変名詞）である単語が連続する範囲内の単語のみを組み合わせることによって文字列を取得するものとして説明したが、例えば「外用の消炎鎮痛剤」のように助詞の「の」で区切られているような場合には当該単語が連続する範囲とみなす等のルールを適用しても構わない。これにより、より適切な文字列を切り出すことが可能となる場合がある。
【０１７８】
上記した実施形態によれば、入力された文から適切な文字列を切り出すことが可能な文書処理装置およびプログラムを提供することができる。
【０１７９】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。  
【符号の説明】
【０１８０】
１０…コンピュータ、２０…外部記憶装置、２２…分類別文書データベース、２３…形態素解析結果保持部、２４…文字列保持部、２５…一時文字列保持部、３０…文書処理装置、３１…入力処理部、３２…形態素解析部（抽出手段）、３３…単語組み合わせ部（取得手段）、３４…包含関係判定部、３５…分類評価値算出部、３６…文字列決定部、３７…出力処理部。
【図１】
2012203470.tif 000003
【図２】
2012203470.tif 000004
【図３】
2012203470.tif 000005
【図４】
2012203470.tif 000006
【図５】
2012203470.tif 000007
【図６】
2012203470.tif 000008
【図７】
2012203470.tif 000009
【図８】
2012203470.tif 000010
【図９】
2012203470.tif 000011
【図１０】
2012203470.tif 000012
【図１１】
2012203470.tif 000013
【図１２】
2012203470.tif 000014
【図１３】
2012203470.tif 000015
【図１４】
2012203470.tif 000016
【図１５】
2012203470.tif 000017
【図１６】
2012203470.tif 000018