説明

文書処理装置およびプログラム

【課題】入力された文から適切な文字列を切り出すことを可能とする。
【解決手段】入力処理部31は、第1の文字列を含む文を入力する。形態素解析部32は、入力処理部31によって入力された文に含まれる第1の文字列を構成する単語の各々を抽出する。単語組み合わせ部33は、形態素解析部32によって抽出された単語の各々を組み合わせることによって複数の第2の文字列を取得する。分類評価値算出部35は、第2の文字列毎に当該第2の文字列と一致するインデックスおよび当該第2の文字列を含むインデックスを分類別文書DB22から検索し、当該第2の文字列の評価値を分類毎に算出する。文字列決定部36は、分類評価値算出部35によって算出された評価値が第1の値以上である分類の数が第2の値以上である第2の文字列のうち当該第2の文字列を構成する単語の数が最も多い第2の文字列を文から切り出される文字列として決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、複数の単語からなる表現から文字列を切り出す文書処理装置およびプログラムに関する。
【背景技術】
【0002】
一般的に、文書検索等の文書処理装置においては、入力された文(または文書)から文字列を切り出す技術が用いられる。この場合、例えば入力された文を形態素解析し、当該形態素解析結果から自立語を文字列として切り出し、当該切り出された文字列が文書検索等における例えばキーワードとして利用される。
【0003】
ところで、例えば専門用語のような連続する複数の単語(名詞)から構成される表現(以下、複合語と表記)については、当該複合語において名詞が連続する範囲の文字列(例えば複合語が「運転模擬評価」である場合における「運転模擬評価」、「模擬評価」および「評価」)を切り出して評価する、または当該複合語を構成する各単語(例えば複合語が「運転模擬評価」である場合における「運転」、「模擬」および「評価」)を評価することにより、当該複合語から切り出される文字列を決定する技術(以下、先行技術と表記)が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9−128402号公報
【非特許文献】
【0005】
【非特許文献1】辻河亨,吉田稔,中川裕志,“語彙空間の構造に基づく専門用語抽出”,情報処理学会研究報告,自然言語処理研究会,Vol.159,No.22,pp.155−162,2003.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記した先行技術では、例えば複合語を構成する複数の単語の各々(複合語において連続する複数の単語の各々)の組み合わせ等については評価されない。つまり、先行技術では、複合語を構成する複数の単語の各々の組み合わせ(の文字列)については切り出すことができない。
【0007】
よって、先行技術においては、例えば入力された文等から適切な文字列を切り出すことができない場合がある。
【0008】
したがって、入力された文から適切な文字列を切り出すことが可能な文書処理装置およびプログラムを提供することが目的とされる。
【課題を解決するための手段】
【0009】
実施形態によれば、文書毎に、当該文書が属する分類を示す分類情報および当該文書に含まれる文字列を示すインデックスを対応づけて予め格納する分類別文書格納手段と、ユーザによって指定された文であって、複数の単語から構成される第1の文字列を含む文を入力する入力手段と、前記入力された文を解析することにより、当該文に含まれる第1の文字列を構成する複数の単語を抽出する抽出手段と、前記抽出された複数の単語の各々を組み合わせることによって複数の第2の文字列を取得する取得手段と、前記取得された複数の第2の文字列を保持する文字列保持手段と、前記文字列保持手段に保持された第2の文字列毎に、当該第2の文字列と一致するインデックスおよび当該第2の文字列を含むインデックスを前記分類別文書格納手段から検索する検索手段と、前記検索されたインデックスに基づいて、前記文字列保持手段に保持された第2の文字列の各々の評価値を、当該インデックスに対応づけて前記分類別文書格納手段に格納されている分類情報によって示される分類毎に算出する評価値算出手段と、前記算出された評価値が予め定められた第1の値以上である分類の数が予め定められた第2の値以上である前記文字列保持手段に保持された第2の文字列のうち、当該第2の文字列を構成する単語の数が最も多い第2の文字列を、前記入力された文から切り出される文字列として決定する決定手段とを具備する文書処理装置が提供される。
【図面の簡単な説明】
【0010】
【図1】実施形態に係る文書処理装置のハードウェ構成を示すブロック図。
【図2】図1に示す文書処理装置30の主として機能構成を示すブロック図。
【図3】図2に示す分類別文書データベース22のデータ構造の一例を示す図。
【図4】本実施形態に係る文書処理装置30の処理手順を示すフローチャート。
【図5】形態素解析結果保持部23に保持される形態素解析結果の一例を示す図。
【図6】単語組み合わせ部33によって取得された文字列を保持する文字列保持部24のデータ構造の一例を示す図。
【図7】包含関係判定部34による判定結果を保持する文字列保持部24のデータ構造の一例を示す図。
【図8】分類評価値算出処理の処理手順を示すフローチャート。
【図9】key文字列が「外用消炎鎮痛剤」である場合の分類評価値算出部35による検索結果の一例を示す図。
【図10】key文字列が「消炎鎮痛剤」である場合の分類評価値算出部35による検索結果の一例を示す図。
【図11】図7に示す文字列保持部24に保持されている文字列の各々に対して分類評価値算出処理が実行された後の文字列保持部24のデータ構造の一例を示す図。
【図12】文字列決定部36による切り出し文字列決定処理の処理手順を示すフローチャート。
【図13】文字列決定部36による切り出し文字列決定処理の処理手順を示すフローチャート。
【図14】切り出し文字列決定処理が実行された後の文字列保持部24のデータ構造の一例を示す図。
【図15】分類別文書データベース22とは内容が異なる分類別文書データベースを用いて分類評価値算出処理が実行された場合の文字列保持部24のデータ構造の一例を示す図。
【図16】図15に示す文字列保持部24に保持されている情報を用いて切り出し文字列決定処理が実行された後の文字列保持部24のデータ構造の一例を示す図。
【発明を実施するための形態】
【0011】
以下、図面を参照して、実施形態について説明する。
【0012】
図1は、本実施形態に係る文書処理装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、文書処理装置30を構成する。
【0013】
図2は、図1に示す文書処理装置30の主として機能構成を示すブロック図である。図2に示すように、文書処理装置30は、入力処理部31、形態素解析部32、単語組み合わせ部33、包含関係判定部34、分類評価値算出部35、文字列決定部36および出力処理部37を含む。本実施形態において、これらの各部31〜37は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
【0014】
また、文書処理装置30は、分類別文書データベース(DB)22、形態素解析結果保持部23、文字列保持部24および一時文字列保持部25を含む。本実施形態において、分類別文書データベース22、形態素解析結果保持部23、文字列保持部24および一時文字列保持部25は、例えば外部記憶装置20に格納される。
【0015】
分類別文書データベース22には、文字列を含む複数の文書が予め格納される。この分類別文書データベース22に格納されている文書には、当該文書が属する分類を示す分類情報および当該文書に含まれる文字列を示すインデックスが含まれる。つまり、分類別文書データベース22には、当該分類別文書データベース22に格納されている文書毎に、当該文書が属する分類を示す分類情報および当該文書に含まれる文字列を示すインデックスが対応づけて予め格納される。
【0016】
入力処理部31は、ユーザの指示・入力を処理する。具体的には、入力処理部31は、ユーザによって指定された文を入力する。入力処理部31によって入力された文には、例えば連続する複数の単語から構成される文字列(第1の文字列)が含まれる。
【0017】
形態素解析部32は、入力処理部31によって入力された文(以下、入力文と表記)を解析(ここでは、形態素解析)する。これにより、形態素解析部32は、入力文に含まれる文字列を構成する複数の単語を抽出する。形態素解析部32による入力文の形態素解析結果は、形態素解析結果保持部23において保持される。
【0018】
単語組み合わせ部33は、形態素解析結果保持部23に保持されている入力文の形態素解析結果に基づいて、当該入力文から抽出された複数の単語の各々を組み合わせることによって複数の文字列(第2の文字列)を取得する。このとき、単語組み合わせ部33は、後述する予め定められた条件(以下、組み合わせ条件と表記)に基づいて入力文から抽出された複数の単語の各々を組み合わせる。単語組み合わせ部33によって取得された複数の文字列は、文字列保持部24保持される。
【0019】
包含関係判定部34は、文字列保持部24に保持された文字列の各々に対して後述する包含関係を判定するためのルールを適用し、当該適用結果を文字列保持部24に格納する。包含関係判定部34は、例えば文字列保持部24に保持された文字列を構成する単語の数(当該文字列の長さ)の順位(以下、包含順位と表記)を当該文字列の各々に対応づけて文字列保持部24に格納する。
【0020】
分類評価値算出部35は、文字列保持部24に保持された文字列と一致するインデックスおよび当該文字列を含むインデックスを分類別文書データベース22から検索する。分類評価値算出部35は、検索結果(検索されたインデックス)に基づいて、文字列保持部24に保持されている文字列の各々の分類評価値を算出する。なお、分類評価値算出部35は、文字列保持部24に保持された文字列の各々の分類評価値を、検索されたインデックスに対応づけて分類別文書データベース22に格納されている分類情報によって示される分類毎に算出する。分類毎に算出された文字列の分類評価値は、文字列保持部24において保持される。
【0021】
文字列決定部36は、文字列保持部24に保持された分類評価値(分類評価値算出部35によって算出された分類評価値)に基づいて、当該文字列保持部24に保持された文字列の中から入力文から切り出される文字列(の範囲)を決定する。文字列決定部36によって決定された文字列(入力文から切り出される文字列)は、出力処理部37によって出力される。
【0022】
図3は、図2に示す分類別文書データベース22のデータ構造の一例を示す。上記したように分類別文書データベース22には、複数の文書が格納される。分類別文書データベース22に格納される文書には、当該文書の本文、当該文書を識別するための文書ID、当該文書が属する文類(を示す分類情報)および当該文書に含まれる文字列を示すインデックス(当該文書のインデックス)が含まれる。
【0023】
図3に示す分類別文書データベース22には、文書221および222を含む複数の文書が格納されている。
【0024】
図3に示す例では、分類別文書データベース22に格納されている文書221には、当該文書221の本文、当該文書221を識別するための文書ID「0001」および当該文書が属する文類を示す分類情報「a」が含まれている。また、分類別文書データベース22に格納されている文書221には、当該文書221のインデックス「消炎効果」、「外用鎮痛剤」、「使用」、「注意」、「患部」、「清潔」、「傷」、「場合」、「皮膚症状」および「中止」が含まれている。
【0025】
また、分類別文書データベース22に格納されている文書222には、当該文書222の本文、当該文書222を識別するための文書ID「0002」および当該文書222が属する文類を示す分類情報「b」が含まれている。また、分類別文書データベース22に格納されている文書222には、当該文書222のインデックス「消炎鎮痛剤」、「禁忌」、「過敏症」、「既往歴」、「患者」、「妊娠」、「可能性」、「婦人」、「注意」、「外用」および「使用」が含まれている。
【0026】
ここで、上記した文書別文書データベース22に格納されている文書に含まれるインデックスは、例えば当該文書の形態素解析結果に対して予め定められた条件(以下、インデックス抽出条件と表記)が適用されることによって当該文書から抽出された文字列である。インデックス抽出条件には、例えば第1および第2のインデックス抽出条件が含まれる。
【0027】
第1のインデックス抽出条件によれば、例えば文書(に含まれる文字列)における品詞が名詞である単語が連続する範囲(区間)に対し、当該範囲内の最初の単語(名詞)から末尾の単語(名詞)までの各単語から構成される文字列がインデックスとして抽出される。
【0028】
この第1のインデックス抽出条件が図3に示す文書221に適用された場合には、品詞が名詞である単語が連続する範囲内の最初の単語から末尾の単語までの各単語から構成される文字列である「消炎効果」および「外用鎮痛剤」がインデックスとして抽出されるが、当該「消炎効果」および「外用鎮痛剤」の一部(の単語)である「効果」や「鎮痛剤」等はインデックスとして抽出されない。同様に、第1のインデックス抽出条件が図3に示す文書222に適用された場合には、「消炎鎮痛剤」がインデックスとして抽出される。
【0029】
また、第2のインデックス抽出条件によれば、例えば文書(に含まれる文字列)における単独の名詞(つまり、品詞が名詞である単語であってその前後の単語の品詞が名詞でない単語)がインデックスとして抽出される。
【0030】
この第2のインデックス抽出条件が図3に示す文書221に適用された場合には、単独の名詞である「使用」および「注意」等がインデックスとして抽出される。同様に、第2のインデックス抽出条件が図3に示す文書222に適用された場合には、「禁忌」等がインデックスとして抽出される。
【0031】
なお、上記した第1および第2のインデックス抽出条件における名詞には、例えばサ変名詞が含まれるものとする。
【0032】
次に、図4のフローチャートを参照して、本実施形態に係る文書処理装置30の処理手順について説明する。
【0033】
まず、入力処理部31は、ユーザによって指定された文(例えば、検索要求文等)を入力する(ステップS1)。入力処理部31によって入力された文は、連続する複数の単語(名詞)から構成される文字列(例えば、外用消炎鎮痛剤)を含む。ここでは、入力処理部31はユーザによって指定された文を入力するものとして説明したが、入力処理部31はユーザによって指定された文書を入力しても構わない。
【0034】
以下、入力処理部31によって入力された文(入力文)は、例えば「外用消炎鎮痛剤を使用する場合の注意」という文であるものとして説明する。
【0035】
次に、形態素解析部32は、入力文「外用消炎鎮痛剤を使用する場合の注意」を形態素解析する(ステップS2)。この形態素解析により、入力文に含まれる複数の単語が抽出される。形態素解析部32は、抽出された複数の単語を含む形態素解析結果を形態素解析結果保持部23に格納する。
【0036】
ここで、図5は、形態素解析結果保持部23に保持される形態素解析結果の一例を示す。図5に示す形態素解析結果は、上記した入力文「外用消炎鎮痛剤を使用する場合の注意」に対する形態素解析の結果である。
【0037】
図5に示すように、形態素解析結果には、番号に対応づけて文字列、単語(見出し)、品詞および活用形が含まれる。なお、単語は、文字列における活用語尾を除いたものである。
【0038】
図5に示す形態素解析結果には、例えば番号「1」に対応づけて文字列「外用」、単語「外用」および品詞「名詞」が含まれている。
【0039】
また、図5に示す形態素解析結果には、例えば番号「5」に対応づけて文字列「使用する」、単語「使用」、品詞「サ変名詞」および活用形「終止形」が含まれている。
【0040】
なお、図5に示す形態素解析結果によれば、入力文「外用消炎鎮痛剤を使用する場合の注意」から複数の単語「外用」、「消炎」、「鎮痛剤」、「を」、「使用」、「場合」、「の」および「注意」が抽出されたことが示されている。
【0041】
次に、単語組み合わせ部33は、形態素解析結果保持部23に保持されている形態素解析結果に基づいて複数の文字列を取得する(ステップS3)。
【0042】
このとき、単語組み合わせ部33は、形態素解析結果保持部23に保持されている形態素解析結果に含まれる入力文から抽出された複数の単語の各々を組み合わせることによって文字列を取得する。
【0043】
なお、単語組み合わせ部33は、前述した組み合わせ条件を適用することによって文字列を取得する。この組み合わせ条件は、例えば単語組み合わせ部33において予め保持されている。
【0044】
ここで、組み合わせ条件について具体的に説明する。組み合わせ条件は、入力文における品詞が名詞(またはサ変名詞)である単語が連続する範囲(区間)に対し、当該範囲内の複数の単語のうちの少なくとも2つ以上の単語の組み合わせ毎に当該組み合わせにおける少なくとも2つ以上の単語を当該範囲内における出現順に組み合わせることを示す。なお、この組み合わせ条件は一例であるため、他の内容の条件が予め定められていてもよい。
【0045】
また、単語組み合わせ部33は、形態素解析結果保持部23に保持されている形態素解析結果に含まれる入力文から抽出された品詞が名詞(またはサ変名詞)である単語を表す文字列を取得する。
【0046】
単語組み合わせ部33は、上記したように取得された複数の文字列を文字列保持部24に格納する。
【0047】
ここで、図6は、単語組み合わせ部33によって取得された文字列を保持する文字列保持部24のデータ構造の一例を示す。図6に示す文字列保持部24には、上記した図5に示す入力文「外用消炎鎮痛剤を使用する場合の注意」の形態素解析結果に基づいて取得された複数の文字列が保持されている。
【0048】
図6に示すように、文字列保持部24には、番号に対応づけて単語組み合わせ部33によって取得された文字列が保持される。
【0049】
図6に示す例では、文字列保持部24には、番号「1」〜「10」の各々に対応づけて文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」、「外用消炎」、「外用」、「消炎」、「鎮痛剤」、「使用」、「場合」および「注意」が保持されている。
【0050】
図6に示す文字列保持部24に保持されている文字列のうちの文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」および「外用消炎」は、入力文(の形態素解析結果)に対して上記した組み合わせ条件が適用されることによって取得された文字列である。
【0051】
具体的には、文字列保持部24に保持されている文字列「外用消炎鎮痛剤」は、入力文「外用消炎鎮痛剤を使用する場合の注意」における品詞が名詞である単語が連続する範囲(ここでは、「外用消炎鎮痛剤」)内の3つの単語「外用」、「消炎」および「鎮痛剤」のうちの全ての単語を当該範囲内における出現順に組み合わせることによって取得された文字列である。
【0052】
また、文字列保持部24に保持されている文字列「消炎鎮痛剤」は、入力文「外用消炎鎮痛剤を使用する場合の注意」における品詞が名詞である単語が連続する範囲(「外用消炎鎮痛剤」)内の3つの単語「外用」、「消炎」および「鎮痛剤」のうちの2つの単語「消炎」および「鎮痛剤」を当該範囲内における出現順に組み合わせることによって取得された文字列である。
【0053】
同様に、文字列保持部24に保持されている文字列「外用鎮痛剤」は、入力文「外用消炎鎮痛剤を使用する場合の注意」における品詞が名詞である単語が連続する範囲(「外用消炎鎮痛剤」)内の3つの単語「外用」、「消炎」および鎮痛剤」のうちの2つの単語「外用」および「鎮痛剤」を当該範囲内における出現順に組み合わせることによって取得された文字列である。
【0054】
更に、文字列保持部24に保持されている文字列「外用消炎」は、入力文「外用消炎鎮痛剤を使用する場合の注意」における品詞が名詞である単語が連続する範囲(「外用消炎鎮痛剤」)内の3つの単語「外用」および「消炎」を当該範囲内における出現順に組み合わせることによって取得された文字列である。
【0055】
一方、図6に示す文字列保持部24に保持されている文字列のうちの文字列「外用」、「消炎」、「鎮痛剤」、「使用」、「場合」および「注意」は、入力文から抽出された品詞が名詞の単語(入力文の形態素解析結果に含まれる品詞が名詞である単語)を表す文字列である。
【0056】
図6に示すように、文字列保持部24においては、単語組み合わせ部33によって取得された文字列の各々が入力文における出現順に保持されるものとする。また、同一の範囲(品詞が名詞である単語が連続する範囲)から取得された文字列(図6に示す例では、文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」、「外用消炎」、「外用」、「消炎」および「鎮痛剤」)については、少なくとも当該文字列を構成する単語の数が多い順に文字列保持部24に保持されるものとする。
【0057】
なお、上述した図5に示す形態素解析結果に含まれる単語において「使用(サ変名詞)」および「場合(名詞)」は連続しているが、これらの単語「使用」および「場合」の間には入力文「外用消炎鎮痛剤を使用する場合の注意」において「する」の文字列が存在するため、このような場合には上記した組み合わせ条件における「品詞が名詞(またはサ変名詞)である単語が連続する範囲」には該当しないものとする。
【0058】
再び図4に戻ると、包含関係判定部34は、文字列保持部24に保持される文字列に対し、包含関係を判定するための予め定められたルールを適用することで、当該文字列保持部24に保持されている文字列間の包含関係を判定する(ステップS4)。この包含関係を判定するためのルールは、包含関係判定部34において予め保持されている。
【0059】
ここで、包含関係を判定するためのルールについて具体的に説明する。包含関係を判定するためのルールには、例えば第1〜第3のルールが含まれる。
【0060】
第1のルールは、文字列保持部24に保持されている文字列のうち、上記した入力文における品詞が名詞(またはサ変名詞)である単語が連続する同一の範囲内から取得された文字列には同一の文字列IDを付与することを示す。つまり、第1のルールによれば、入力文における品詞が名詞(またはサ変名詞)である単語が連続する同一の範囲内の複数の単語のうちの少なくとも2つ以上の単語を組み合わせることによって取得された文字列および当該同一の範囲内から抽出された各単語を表す文字列には、同一の文字列IDが付与される。
【0061】
第2のルールは、文字列保持部24に保持されている文字列のlength(の値)を、当該文字列を構成する単語の数(当該文字列の長さ)とすることを示す。
【0062】
第3のルールは、同一の文字列IDが付与された文字列において、lengthの値が大きい順に順位(包含順位)を付与することを示す。
【0063】
包含関係判定部34は、上記した第1〜第3のルールが適用された結果(包含関係の判定結果)を文字列保持部24に格納する。
【0064】
ここで、図7は、包含関係判定部34による判定結果を保持する文字列保持部24のデータ構造の一例を示す。図7に示す文字列保持部24は、上記した第1〜第3のルールが適用された結果を判定結果として保持している。
【0065】
なお、包含関係判定部34による判定結果には、文字列ID、lengthおよび包含順位が含まれる。
【0066】
上記したように、文字列保持部24に保持されている文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」、「外用消炎」、「外用」、「消炎」および「鎮痛剤」は、入力文「外用消炎鎮痛剤を使用する場合の注意」における品詞が名詞である単語が連続する同一の範囲(ここでは、「外用消炎鎮痛剤」)内から取得された文字列である。このため、文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」、「外用消炎」、「外用」、「消炎」および「鎮痛剤」には同一の文字列IDが付与される。したがって、図7に示すように、文字列保持部24には、文字列「外用消炎鎮痛剤」、「消炎鎮痛剤」、「外用鎮痛剤」、「外用消炎」、「外用」、「消炎」および「鎮痛剤」に対応づけて同一の文字列ID「1」が保持されている。
【0067】
また、文字列保持部24には、文字列「外用消炎鎮痛剤」に対応づけてlength「3」が保持されている。このlength「3」は、文字列「外用消炎鎮痛剤」を構成する単語(ここでは、「外用」、「消炎」および「鎮痛剤」)の数を示す。
【0068】
同様に、文字列保持部24には、文字列「消炎鎮痛剤」に対応づけてlength「2」、文字列「外用鎮痛剤」に対応づけてlength「2」、文字列「外用消炎」に対応づけてlength「2」、文字列「外用」に対応づけてlength「1」、文字列「消炎」に対応づけてlength「1」、文字列「鎮痛剤」に対応づけてlength「1」が保持されている。
【0069】
ここで、文字列「外用消炎鎮痛剤」は、同一の文字列ID(ここでは、文字列ID「1」)が付与された文字列の中でlengthの値が最も大きい。このため、文字列保持部24には、文字列「外用消炎鎮痛剤」に対応づけて包含順位「1」が保持されている。
【0070】
同様に、文字列保持部24には、文字列「消炎鎮痛剤」に対応づけて包含順位「2」、文字列「外用鎮痛剤」に対応づけて包含順位「2」、文字列「外用消炎」に対応づけて包含順位「2」が保持される。また、文字列保持部24には、文字列「外用」に対応づけて包含順位「3」、文字列「消炎」に対応づけて包含順位「3」、文字列「鎮痛剤」に対応づけて包含順位「3」が保持されている。
【0071】
このように、同一の文字列IDが付与された文字列の中でlengthの値が同一である文字列が複数存在する場合には、当該複数の文字列の包含順位は同一とする。したがって、文字列「消炎鎮痛剤」、「外用鎮痛剤」および「外用消炎」の各々に対応づけて文字列保持部24に保持されている包含順位は同一(ここでは、包含順位「2」)である。また、文字列「外用」、「消炎」および「鎮痛剤」の各々に対応づけて文字列保持部24に保持されている包含順位は同一(ここでは、包含順位「3」)である。
【0072】
また、文字列保持部24には、文字列「使用」に対応づけて文字列ID「2」、length「1」および包含順位「1」が保持されている。
【0073】
同様に、文字列保持部24には、文字列「場合」に対応づけて文字列ID「3」、length「1」および包含順位「1」が保持されている。
【0074】
更に、文字列保持部24には、文字列「注意」に対応づけて文字列ID「4」、length「1」および包含順位「1」が保持されている。
【0075】
再び図4に戻ると、分類評価値算出部35は、分類別文書データベース22および図7に示す文字列保持部24を参照して、当該文字列保持部24に保持されている文字列の各々の分類評価値を算出する処理(以下、分類評価値算出処理を表記)を実行する(ステップS5)。分類評価値算出部35によって算出された分類評価値は、文字列保持部24において保持される。この分類評価値算出処理の詳細については後述する。
【0076】
次に、文字列決定部36は、文字列保持部24に保持されている文字列の各々の分類評価値に基づいて、入力文から切り出される文字列(以下、切り出し文字列と表記)を決定する処理(以下、切り出し文字列決定処理と表記)を実行する(ステップS6)。換言すれば、文字列決定部36は、切り出し文字列決定処理によって入力文から文字列を切り出すための適切な範囲を決定する。
【0077】
この切り出し文字列決定処理においては、文字列保持部24に保持されている分類評価値が後述する予め定められた条件を満たす文字列のうち、当該文字列を構成する単語の数が最も多い(つまり、lengthの値が最も大きい)文字列が切り出し文字列として決定される。また、文字列保持部24に保持されている分類評価値が予め定められた条件を満たす文字列のうち、当該文字列を構成する単語の数が最も多い文字列が複数存在する場合、当該文字列を構成する単語の数が最も多い複数の文字列のうち、当該文字列保持部24に保持されている分類評価値が最も大きい文字列が切り出し文字列として決定される。
【0078】
なお、切り出し文字列決定処理においては、一時文字列保持部25が用いられる。この切り出し文字列決定処理の詳細については後述する。
【0079】
次に、出力処理部37は、文字列決定部36によって決定された切り出し文字列を出力する(ステップS7)。出力処理部37によって出力された切り出し文字列は、例えば入力文が検索要求文であるような場合には、当該検索処理等に用いられる。
【0080】
次に、図8のフローチャートを参照して、前述した分類評価値算出部35による分類評価値算出処理(図4に示すステップS5の処理)の処理手順の詳細について説明する。
【0081】
分類評価値算出処理においては、文字列保持部24に保持されている文字列の各々について分類評価値が算出される。ここでは、文字列保持部24には、図7に示す各情報が保持されているものとする。
【0082】
まず、分類評価値算出部35は、文字列保持部24に保持されている文字列のうち、例えば1番目の文字列(番号「1」に対応づけられている文字列)を変数keyに格納することにより、当該文字列をkey文字列とする(ステップS11)。
【0083】
図7に示す文字列保持部24によれば、番号「1」に対応づけられている文字列「外用消炎鎮痛剤」がkey文字列となる。つまり、分類評価値算出処理においては、文字列「外用消炎鎮痛剤」から順に分類評価値が算出される。
【0084】
次に、分類評価値算出部35は、分類別文書データベース22を参照して、インデックスにkey文字列を含む文書を当該分類別文書データベース22から検索する(ステップS12)。この場合、分類評価値算出部35は、key文字列と一致するインデックスおよびkey文字列を含むインデックス(を含む文書)を分類別文書データベース22から検索する。
【0085】
また、分類評価値算出部35は、検索されたインデックスとともに、当該文書が属する分類を示す分類情報を分類別文書データベース22から取得する。
【0086】
なお、分類別文書データベース22に格納されている文書に含まれるインデックスは、前述したように当該文書の形態素解析結果に対して第1および第2のインデックス抽出条件が適用されることによって当該文書から抽出された文字列である。
【0087】
ここで、図9および図10は、分類評価値算出部35による検索結果の一例を示す。図9は、key文字列が「外用消炎鎮痛剤」である場合の分類評価値算出部35による検索結果の一例を示す。
【0088】
図9に示す例では、分類評価値算出部35による検索結果には、key文字列「外用消炎鎮痛剤」を含むインデックスを含む文書として、文書ID「0056」によって識別される文書が含まれる。この文書ID「0056」によって識別される文書に含まれるインデックスであって、key文字列「外用消炎鎮痛剤」を含むインデックス(当該key文字列と一致するインデックス)は、「外用消炎鎮痛剤」である。
【0089】
なお、文書ID「0056」によって識別される文書は、分類「a」に属する文書である。
【0090】
図10は、key文字列が「消炎鎮痛剤(図7に示す文字列保持部24において番号「2」に対応づけられている文字列)」である場合の分類評価値算出部35による検索結果の一例を示す。
【0091】
図10に示す例では、分類評価値算出部35による検索結果には、key文字列「消炎鎮痛剤」を含むインデックスを含む文書として、文書ID「0001」、「0002」、「0056」および「0101」によって識別される文書が含まれる。文書ID「0001」、「0056」および「0101」によって識別される文書に含まれるインデックスであって、key文字列「消炎鎮痛剤」を含むインデックスは、「外用消炎鎮痛剤」である。また、文書ID「0002」によって識別される文書に含まれるインデックスであって、key文字列「消炎鎮痛剤」を含むインデックス(当該key文字列と一致するインデックス)は、「消炎鎮痛剤」である。
【0092】
なお、文書ID「0001」、「0056」および「0101」によって識別される文書は、分類「a」に属する文書である。また、文書ID「0002」によって識別される文書は、分類「b」に属する文書である。
【0093】
再び図8に戻ると、分類評価値算出部35は、上記した図9または図10に示すような検索結果に基づいて、key文字列に対する分類評価値を算出する(ステップS13)。この場合、分類評価値算出部35は、key文字列に対する分類毎の分類評価値Vi(i=分類a、b、…)を算出する。
【0094】
ここで、分類評価値Viは、「length(key)*(Ni(key)−Ti(key)/Ci(key))」の算出式により算出されるものとする。
【0095】
この算出式における「length(key)」は、文字列保持部24に保持されているkey文字列のlengthの値(key文字列を構成する単語の数)である。この「length(key)」は、文字列保持部24を参照することにより特定される。
【0096】
算出式における「Ni(key)」は、分類iにおける、検索されたインデックスの数(第1の出現回数)を示す。具体的には、「Ni(key)」は、key文字列と一致するインデックスおよびkey文字列を含むインデックス(を含む文書)ののべ出現回数を示す。この「Ni(key)」は、上記した分類評価値算出部35による検索結果により特定される。
【0097】
算出式における「Ti(key)」は、分類iにおける、key文字列を含むインデックス(を含む文書)の数(第2の出現回数)を示す。つまり、「Ti(key)」は、検索されたインデックスの数とkey文字列と一致するインデックスの数との差を示す。この「Ti(key)」は、上記した分類評価値算出部35による検索結果により特定される。
【0098】
また、算出式における「Ci(key)」は、分類iにおける、key文字列と一致するインデックスおよびkey文字列を含むインデックス(を含む文書)の異なり数を示す。この「Ci(key)」は、上記した分類評価値算出部35による検索結果により特定される。なお、異なり数とは、分類評価値算出部35によって検索されたインデックスのうち、異なるインデックスの数をいう。
【0099】
つまり、分類評価値算出部35は、上記した「Ni(key)」、「Ti(key)」および「Ci(key)」の各値を算出し、これらの「Ni(key)」、「Ti(key)」および「Ci(key)」の値を用いて分類評価値Viを算出する。
【0100】
ここで、分類評価値算出部35による検索結果が上記した図9および図10に示す検索結果である場合における分類評価値Viの算出について具体的に説明する。ここでは、key文字列「外用消炎鎮痛剤」においては、便宜的に、図9に示す1つのインデックス(を含む文書)のみが検索されたものとして説明する。同様に、key文字列「消炎鎮痛剤」においては、便宜的に、図10に示す4つのインデックス(を含む文書)のみが検索されたものとして説明する。
【0101】
まず、分類評価値算出部35による検索結果が上記した図9に示す検索結果である場合におけるkey文字列「外用消炎鎮痛剤」に対する分類aの分類評価値Vaの算出について説明する。
【0102】
この場合、図7に示す文字列保持部24によれば、「length(key)」は3である。図9に示す検索結果によれば、分類aにおけるkey文字列「外用消炎鎮痛剤」と一致するインデックス(およびkey文字列を含むインデックス)の数は1であるため、「Na(key)」は1である。図9に示す検索結果によれば、分類aにおけるkey文字列「外用消炎鎮痛剤」を含むインデックス(当該key文字列より長いインデックス)の数は0であるため、「Ta(key)」は0である。また、図9に示す検索結果によれば、分類aにおいて検索されたインデックスは「外用消炎鎮痛剤」のみであるため、「Ca(key)」は1である。以上により、key文字列「外用消炎鎮痛剤」に対する分類aの分類評価値Vaは、「3*(1−0/1)」により3となる。
【0103】
一方、分類評価値算出部35による検索結果が上記した図9に示す検索結果である場合における、key文字列「外用消炎鎮痛剤」に対する分類bの分類評価値Vbの算出について説明する。
【0104】
この場合、図9に示す検索結果においては例えば分類bに属する文書は検索されていないため、「Nb(key)」、「Tb(key)」および「Cb(key)」はそれぞれ0となる。したがって、key文字列「外用消炎鎮痛剤」に対する分類bの分類評価値Vbは0となる。
【0105】
次に、分類評価値算出部35による検索結果が上記した図10に示す検索結果である場合における、key文字列「消炎鎮痛剤」に対する分類aの分類評価値Vaの算出について説明する。
【0106】
この場合、図7に示す文字列保持部24によれば、「length」は2である。図10に示す検索結果によれば、分類aにおけるkey文字列「消炎鎮痛剤」を含むインデックス(およびkey文字列と一致するインデックス)の数は3であるため、「Na(key)」は3である。図10に示す検索結果によれば、分類aにおけるkey文字列「消炎鎮痛剤」を含むインデックス(当該key文字列より長いインデックス)の数は3であるため、「Ta(key)」は3である。また、図10に示す検索結果によれば、分類aにおいて検索されたインデックスは「外用消炎鎮痛剤」のみであるため、「Ca(key)」は1である。以上により、key文字列「消炎鎮痛剤」に対する分類aの分類評価値Vaは、「2*(3−3/1)」により0となる。
【0107】
一方、分類評価値算出部35による検索結果が上記した図10に示す検索結果である場合における、key文字列「消炎鎮痛剤」に対する分類bの分類評価値Vbの算出について説明する。
【0108】
この場合、上記したように「length(key)」は2である。図10に示す検索結果によれば、分類bにおけるkey文字列「消炎鎮痛剤」と一致するインデックス(およびkey文字列を含むインデックス)の数は1であるため、「Nb(key)」は1である。図10に示す検索結果によれば、分類bにおけるkey文字列「消炎鎮痛剤」を含むインデックス(当該key文字列より長いインデックス)の数は0であるため、「Tb(key)」は0である。また、図10に示す検索結果によれば、分類bにおいて検索されたインデックスは「消炎鎮痛剤」のみであるため、「Cb(key)」は1である。以上により、key文字列「消炎鎮痛剤」に対する分類bの分類評価値Vbは、「2*(2−0/1)」により2となる。
【0109】
上記したように算出されたkey文字列に対する分類毎の分類評価値Viは、当該分類評価値Viの算出に用いられた「Ni(key)」、「Ti(key)」および「Ci(key)」とともに文字列保持部24において保持される。
【0110】
分類評価値算出部35によって算出されたkey文字列に対する分類毎の分類評価値Viが文字列保持部24に保持されると、分類評価値算出部35は、文字列保持部24に上記したステップS12およびステップS13の処理が実行されていない文字列(つまり、未処理の文字列)があるか否かを判定する(ステップS14)。
【0111】
未処理の文字列が文字列保持部24にない、つまり、文字列保持部24に保持されている全ての文字列について処理が実行されたと判定された場合(ステップS14のNO)、分類評価値算出処理は終了される。
【0112】
一方、未処理の文字列が文字列保持部24にある、つまり、文字列保持部24に保持されている文字列の中に処理が実行されていない文字列があると判定された場合(ステップS14のYES)、当該未処理の文字列をkey文字列として上記したステップS12に戻って処理が繰り返される。
【0113】
ここで、図11は、上述した図7に示す文字列保持部24に保持されている文字列の各々に対して分類評価値算出処理が実行された後の文字列保持部24のデータ構造の一例を示す。
【0114】
図11に示すように、文字列保持部24には、文字列の各々に対する分類毎の分類評価値Vi(Va、Vb、…)が保持されている。なお、図11においては、key文字列に対する分類aの分類評価値Vaの算出に用いられた「Na(key)」、「Ta(key)」および「Ca(key)」を単にNa、TaおよびCaとする。分類bの分類評価値Vbの算出に用いられた「Nb(key)」、「Tb(key)」および「Cb(key)」についても同様に単にNb、TbおよびCbとする。また、以下の説明においても同様とする。
【0115】
具体的には、文字列保持部24には、文字列「外用消炎鎮痛剤」に対する分類aの分類評価値Va「3」と、当該分類評価値Vaの算出に用いられたNa「1」、Ta「0」およびCa「1」とが保持されている。
【0116】
また、文字列保持部24には、文字列「外用消炎鎮痛剤」に対する分類bの分類評価値Vb「0」と、当該分類評価値Vbの算出に用いられたNb「0」、Tb「0」およびCb「0」とが保持されている。
【0117】
同様に、文字列保持部24には、文字列「消炎鎮痛剤」に対する分類aの分類評価値Va「12」と、当該分類評価値Vaの算出に用いられたNa「11」、Ta「10」およびCa「2」とが保持されている。
【0118】
また、文字列保持部24には、文字列「消炎鎮痛剤」に対する分類bの分類評価値Vb「6」と、当該分類評価値Vbの算出に用いられたNb「3」、Tb「0」およびCb「1」とが保持されている。
【0119】
なお、ここでは、文字列保持部24に保持されている文字列「外用消炎鎮痛剤」および「消炎鎮痛剤」について説明したが、他の文字列についても同様であるためその詳しい説明を省略する。
【0120】
次に、図12および図13のフローチャートを参照して、前述した文字列決定部36による切り出し文字列決定処理(図4に示すステップS6の処理)の処理手順の詳細について説明する。
【0121】
切り出し文字列決定処理においては、文字列保持部24に保持されている文字列の各々に対して算出された分類毎の分類評価値に基づいて、入力文から切り出される文字列(切り出し文字列)が決定される。ここでは、文字列保持部24には、上記した図11に示す分類評価値等の各情報が保持されているものとして説明する。
【0122】
まず、文字列決定部36は、変数Id=1、変数n=1、変数a=1とする(ステップS21)。
【0123】
文字列決定部36は、文字列保持部24を参照して、文字列IDが変数Id(の値)で、包含順位が変数n(の値)で、かつ、番号が変数a(の値)である文字列を特定する。以下、文字列決定部36によって特定された文字列を、文字列Xと称する。
【0124】
上記したように変数Id=1、変数n=1、変数a=1である場合には、図11に示す文字列保持部24によれば、文字列ID「1」、包含順位「1」および番号「1」に対応づけられている文字列「外用消炎鎮痛剤」が文字列Xとなる。
【0125】
文字列決定部36は、文字列保持部24に保持されている文字列Xの分類毎の分類評価値(当該文字列Xに対応づけて文字列保持部24に保持されている分類毎の分類評価値)に基づいて、当該分類評価値が予め定められた値(第1の値)以上である分類の数が予め定められた値(第2の値)以上であるという条件(以下、切り出し文字列決定条件と表記)を、当該文字列Xが満たすか否かを判定する(ステップS22)。この切り出し文字列決定条件は、予め定められた条件であり、例えば文字列決定部36において保持されている。
【0126】
ここで、文字列Xが「外用消炎鎮痛剤」であり、第1の値が4であり、第2の値が1である場合を想定する。この場合、図11に示す文字列保持部24によれば、文字列「外用消炎鎮痛剤」に対する分類aの分類評価値Vaは3であり、分類bの分類評価値Vbは0である。このため、文字列「外用消炎鎮痛剤」においては分類評価値が4以上である分類の数は1以上でないため、当該文字列「外用消炎鎮痛剤」は切り出し文字列決定条件を満たさないと判定される。
【0127】
一方、文字列Xが「消炎鎮痛剤」であり、第1の値が4であり、第2の値が1である場合を想定する。この場合、図11に示す文字列保持部24によれば、文字列「消炎鎮痛剤」に対する分類aの分類評価値Vaは12であり、分類bの分類評価値Vbは6である。このため、文字列「消炎鎮痛剤」においては分類評価値が4以上である分類の数は1以上であるため、当該文字列「消炎鎮痛剤」は切り出し文字列決定条件を満たすと判定される。
【0128】
ステップS22において文字列Xが切り出し文字列決定条件を満たすと判定された場合、文字列決定部36は、当該文字列Xに関するデータ(以下、文字列データと表記)を一時文字列保持部25に格納する(ステップS23)。なお、文字列データ(文字列Xに関するデータ)は、文字列Xに対応づけて文字列保持部24に保持されているデータであり、少なくとも当該文字列Xおよび当該文字列Xの分類毎の分類評価値のうち値が最大の分類評価値を含む。
【0129】
一方、ステップS22において文字列Xが切り出し文字列決定条件を満たさないと判定された場合、ステップS23の処理は実行されない。
【0130】
次に、文字列決定部36は、文字列Xと文字列IDおよび包含順位が同一の未処理の文字列(上記したステップS22およびS23の処理がされていない文字列)が文字列保持部24にあるか否かを判定する(ステップS24)。この場合、文字列決定部36は、文字列Xと同一の文字列IDおよび包含順位に対応づけて文字列保持部24に保持されている未処理の文字列(当該文字列X以外の文字列)が存在するか否かを判定する。
【0131】
例えば文字列Xが「外用消炎鎮痛剤」である場合、図11に示す文字列保持部24には文字列ID「1」および包含順位「1」に対応づけられている文字列(文字列「外用消炎鎮痛剤」以外の文字列)は存在しないため、当該文字列Xと文字列IDおよび包含順位が同一の文字列が文字列保持部24にないと判定される。
【0132】
一方、例えば文字列Xが「消炎鎮痛剤」である場合、図11に示す文字列保持部24には文字列ID「1」および包含順位「2」に対応づけられている文字列(ここでは、文字列「外用鎮痛剤」および「外用消炎」)が存在するため、当該文字列Xと文字列IDおよび包含順位が同一の文字列が文字列保持部24にあると判定する。
【0133】
ステップS24において文字列Xと文字列IDおよび包含順位が同一の未処理の文字列が文字列保持部24にないと判定された場合、文字列決定部36は、一時文字列保持部25に文字列データが保持されているか否かを判定する(ステップS25)。
【0134】
一時文字列保持部25に文字列データが保持されていると判定された場合(ステップS25のYES)、文字列決定部36は、一時文字列保持部25に保持されている文字列データに基づいて、入力文から切り出される文字列(切り出し文字列)を決定する(ステップS26)。なお、一時文字列保持部25に保持されている文字列データには、上記したように少なくとも文字列および当該文字列の分類毎の分類評価値のうちの値が最大の分類評価値が含まれている。
【0135】
ここで、一時文字列保持部25に保持されている文字列データが1つである場合を想定する。この場合、文字列決定部36は、一時文字列保持部25に保持されている文字列データに含まれる文字列を切り出し文字列として決定する。
【0136】
一方、一時文字列保持部25に保持されている文字列データが複数ある場合を想定する。この場合、文字列決定部36は、一時文字列保持部25に保持されている文字列データの各々に含まれる分類評価値を比較し、当該比較した結果、最大の分類評価値を含む文字列データに含まれる文字列(つまり、分類評価値が最大の文字列)を切り出し文字列として決定する。
【0137】
なお、文字列決定部36は、文字列データに含まれる文字列が切り出し文字列として決定された旨の情報を、文字列保持部24に格納する。
【0138】
ステップS26の処理が実行されると、文字列決定部36は、一時文字列保持部25(に保持されている文字列データ)をクリアする(ステップS27)。
【0139】
次に、文字列決定部36は、文字列保持部24を参照して、上記したステップS22以降の処理が実行されていない文字列ID(つまり、未処理の文字列ID)が文字列保持部24にあるか否かを判定する(ステップS28)。
【0140】
未処理の文字列IDがあると判定された場合(ステップS28のYES)、文字列決定部36は、変数Id(の値)を次の未処理の文字列ID(つまり、変数Id=Id+1)に更新する(ステップS29)。
【0141】
また、文字列決定部36は、変数n(の値)を更新する(ステップS30)。このステップS30の処理においては、文字列決定部36は、変数nを1(つまり、変数n=1)に更新する。
【0142】
更に、文字列決定部36は、変数a(の値)を、次に処理される文字列の番号に更新する(ステップS31)。この場合、文字列決定部36は、次に処理される番号として、ステップS29において更新された変数Idを文字列IDとし、ステップS30において更新された変数nを包含順位とした場合における当該文字列IDおよび包含順位に対応づけて文字列保持部24に保持されている番号に変数aを更新する。
【0143】
ステップS29、S30およびS31によって変数Id、変数nおよび変数aが更新されると、文字列IDが変数Id(更新された変数Id)で、包含順位が変数n(更新された変数n)で、かつ、番号が変数a(更新された変数a)である文字列を文字列Xとして、上記したステップS22に戻って処理が繰り返される。
【0144】
具体的には、上記したステップS28において未処理の文字列IDがあると判定された時点で例えば変数Id=1、変数n=1および変数a=1である場合には、変数Id=2、変数n=1および変数a=8に更新される。したがって、文字列IDが2で、包含順位が1で、かつ、番号が8の文字列(図11に示す文字列「使用」)を文字列XとしてステップS22以降の処理が実行される。
【0145】
なお、上記したステップS24において文字列Xと文字列IDおよび包含順位が同一の未処理の文字列が文字列保持部24にあると判定された場合には、ステップS31の処理が実行される。この場合、文字列決定部36は、変数a=a+1とする。このようにステップS31の処理が実行されることによって、文字列Xと文字列IDおよび包含順位が同一の次の未処理の文字列を新たな文字列XとしてステップS22以降の処理が実行される。
【0146】
また、上記したステップS25において一時文字列保持部25に文字列データが保持されていないと判定された場合、文字列決定部36は、文字列保持部24を参照して、変数Idを文字列IDとした場合における当該文字列IDに対応づけて文字列保持部24に保持されている包含順位のうち、上記したステップS22以降の処理が実行されていない包含順位(つまり、未処理の包含順位)が文字列保持部24にあるか否かを判定する(ステップS32)。
【0147】
未処理の包含順位が文字列保持部24にあると判定された場合(ステップS32のYES)、文字列決定部36は、変数nを更新する(ステップS33)。この場合、文字列決定部36は、変数n=n+1とする。
【0148】
ステップS33の処理が実行されると、上記したステップS31に処理が実行される。このステップS31の処理においては、文字列決定部36は、変数a=a+1とすることにより、変数aを文字列X(の包含順位)の次の包含順位における先頭の文字列の番号に更新する。これにより、文字列Xと文字列IDが同一で、かつ、包含順位が当該文字列Xの包含順位の次の文字列を新たな文字列XとしてステップS22以降の処理が実行される。
【0149】
一方、未処理の包含順位が文字列保持部24にないと判定された場合(ステップS32のNO)、上記したステップS28の処理が実行される。
【0150】
なお、ステップS28において未処理の文字列IDがないと判定された場合、切り出し文字列決定処理は終了される。
【0151】
上記したような切り出し文字列決定処理によれば、同一の文字列IDに対応づけて文字列保持部24に保持されている複数の文字列(つまり、入力文における品詞が名詞である単語が連続する範囲内)からは、切り出し文字列決定条件を満たすと判定された文字列であって、包含順位が上位の文字列(つまり、文字列を構成する単語が多い文字列)が切り出し文字列として決定される。
【0152】
また、切り出し文字列決定条件を満たすと判定された文字列であって包含順位が上位の文字列が複数存在する場合には、当該複数の文字列のうち、分類評価値(当該文字列の分類毎の分類評価値のうちの最大の分類評価値)が最も大きい文字列が切り出し文字列として決定される。
【0153】
ここで、図14は、図11に示す文字列保持部24(に保持されている情報)を用いて図12および図13に示す切り出し文字列決定処理が実行された後の文字列保持部24のデータ構造の一例を示す。
【0154】
図14に示す例では、文字列保持部24には、文字列ID「1」に対応づけられている文字列のうちの文字列「外用鎮痛剤」が切り出し文字列として決定された旨の情報(当該文字列「外用鎮痛剤」に対応づけられている判定「○」)が保持されている。
【0155】
この文字列「外用鎮痛剤」が切り出し文字列として決定される旨について具体的に説明すると、文字列保持部24において文字列ID「1」に対応づけてられている文字列のうち、包含順位が上位(ここでは、包含順位「1」)の文字列「外用消炎鎮痛剤」は、上記した切り出し文字列決定条件(ここでは、分類評価値が4以上である分類の数が1以上)を満たさないため、切り出し文字列として決定されない。
【0156】
また、文字列「外用消炎鎮痛剤」の包含順位の次に上位の包含順位(ここでは、包含順位「2」)の文字列「消炎鎮痛剤」、「外用鎮痛剤」および「外用消炎」は、それぞれ分類評価値が4以上である分類の数が1以上であるため、切り出し文字列決定条件を満たす。
【0157】
ここで、図14(または図11)に示す文字列保持部24を参照すると、文字列「消炎鎮痛剤」の分類毎の分類評価値(VaおよびVb)のうちの最大の分類評価値Vaは12である。同様に、文字列「外用鎮痛剤」の分類毎の分類評価値(VaおよびVb)のうちの最大の分類評価値Vaは19である。また、文字列「外用消炎」の分類毎の分類評価値(VaおよびVb)のうちの最大の分類評価値Vaは14である。
【0158】
これによれば、これらの文字列「消炎鎮痛剤」、「外用鎮痛剤」および「外用消炎」の分類評価値(Va)を比較すると、文字列「外用鎮痛剤」の分類評価値が最も大きい。
【0159】
したがって、文字列保持部24において文字列ID「1」に対応づけてられている文字列からは文字列「外用鎮痛剤」が切り出し文字列として決定される。
【0160】
また、図14に示す例では、文字列保持部24には、文字列「使用」、「場合」および「注意」が切り出し文字列決定処理において切り出し文字列として決定された旨の情報(これらの文字列に対応づけられている判定「○」)が保持されている。
【0161】
つまり、図14に示すように、文字列保持部24に保持されている文字列ID毎に切り出し文字列が決定される。
【0162】
出力処理部37は、文字列保持部24を参照して、判定「○」に対応づけて当該文字列保持部24に保持されている文字列(切り出し文字列として決定された文字列)を出力する。なお、出力処理部37は、切り出し文字列として決定された文字列とともに、当該文字列において分類評価値が最も大きい分類を示す分類情報等を出力しても構わない。
【0163】
図15は、分類別文書データベース22とは内容(格納されている文書)が異なる分類別文書データベースを用いて分類評価値算出処理が実行された場合の文字列保持部24のデータ構造の一例を示す。
【0164】
この場合、分類別文書データベース22とは内容が異なる分類別文書データベースが用いられているため、図15に示す文字列保持部24には、前述した図11に示す文字列保持部24と比較して、異なる分類評価値(および当該分類評価値の算出に用いられた各値)が保持されている。
【0165】
図16は、図15に示す文字列保持部24(に保持されている情報)を用いて図12および図13に示す切り出し文字列決定処理が実行された後の文字列保持部24のデータ構造の一例を示す。
【0166】
図16に示す例では、文字列保持部234には、前述した図14とは異なり、文字列ID「1」に対応づけられている文字列のうちの文字列「消炎鎮痛剤」が切り出し文字列決定処理において切り出し文字列として決定された旨の情報(つまり、当該文字列「消炎鎮痛剤」に対応づけられている判定「○」)が保持されている。
【0167】
この文字列「消炎鎮痛剤」が切り出し文字列として決定される旨について具体的に説明すると、文字列保持部24において文字列ID「1」に対応づけられている文字列のうち、包含順位が上位(ここでは、包含順位「1」)の文字列「外用消炎鎮痛剤」は、上記した切り出し文字列決定条件(分類評価値が4以上である分類の数が1以上)を満たさないため、切り出し文字列として決定されない。
【0168】
ここで、文字列「外用消炎鎮痛剤」の包含順位の次に上位の包含順位(ここでは、包含順位「2」)の文字列は、文字列「消炎鎮痛剤」、「外用鎮痛剤」および「外用消炎」である。
【0169】
これらの文字列のうち、文字列「消炎鎮痛剤」および「外用鎮痛剤」は、分類評価値が4以上である分類の数が1以上であるため、切り出し文字列決定条件を満たす。一方、文字列「外用消炎」は、分類評価値が4以上である分類の数が1以上でないため、切り出し文字列決定条件を満たさない。
【0170】
ここで、図16(または図15)に示す文字列保持部24を参照すると、文字列「消炎鎮痛剤」の分類毎の分類評価値(VaおよびVb)のうちの最大の分類評価値Vaは21である。また、文字列「外用鎮痛剤」の分類毎の分類評価値(VaおよびVb)のうちの最大の分類評価値Vaは10である。
【0171】
これによれば、これらの文字列「消炎鎮痛剤」および「外用鎮痛剤」の分類評価値(Va)を比較すると、文字列「消炎鎮痛剤」の分類評価値が最も大きい。
【0172】
したがって、文字列保持vy24において文字列ID「1」に対応づけられている文字列からは文字列「消炎鎮痛剤」が切り出し文字列として決定される。
【0173】
上記したように本実施形態においては、入力文に含まれる複数の単語(例えば、「外用消炎鎮痛剤」を構成する複数の単語)の各々を組み合わせることによって複数の文字列が取得され、当該取得された複数の文字列の各々に対して分類毎の分類評価値が算出され、当該分類毎の分類評価値および当該複数の文字列の各々を構成する単語の数(つまり、包含順位)に基づいて入力文から切り出される文字列(切り出し文字列)が決定される。
【0174】
これにより、本実施形態においては、入力文において品詞が名詞である単語(またはサ変名詞)が連続する範囲内における当該単語の組み合わせおよび当該入力文の分類を考慮して入力文から切り出される適切な文字列を決定する(つまり、適切な切り出し範囲を決定する)ことができ、当該入力文から適切な文字列を切り出すことが可能となる。
【0175】
なお、本実施形態においては、分類別文書データベース22には文書の本文、文書ID、分類情報およびインデックス(を含む文書)が格納されているものとして説明したが、分類情報およびインデックスのみが格納されていても構わない。
【0176】
また、分類別文書データベース22において、頻出する文字列に対する分類毎の分類評価値(または、当該分類評価値の算出に用いられるNi(key)、Ti(key)およびCi(key)の各値)を予め格納しておく構成であっても構わない。このような構成とすることで、分類評価値算出処理における処理量を軽減することができる。
【0177】
また、本実施形態においては、品詞が名詞(またサ変名詞)である単語が連続する範囲内の単語のみを組み合わせることによって文字列を取得するものとして説明したが、例えば「外用の消炎鎮痛剤」のように助詞の「の」で区切られているような場合には当該単語が連続する範囲とみなす等のルールを適用しても構わない。これにより、より適切な文字列を切り出すことが可能となる場合がある。
【0178】
上記した実施形態によれば、入力された文から適切な文字列を切り出すことが可能な文書処理装置およびプログラムを提供することができる。
【0179】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【符号の説明】
【0180】
10…コンピュータ、20…外部記憶装置、22…分類別文書データベース、23…形態素解析結果保持部、24…文字列保持部、25…一時文字列保持部、30…文書処理装置、31…入力処理部、32…形態素解析部(抽出手段)、33…単語組み合わせ部(取得手段)、34…包含関係判定部、35…分類評価値算出部、36…文字列決定部、37…出力処理部。

【特許請求の範囲】
【請求項1】
文書毎に、当該文書が属する分類を示す分類情報および当該文書に含まれる文字列を示すインデックスを対応づけて予め格納する分類別文書格納手段と、
ユーザによって指定された文であって、複数の単語から構成される第1の文字列を含む文を入力する入力手段と、
前記入力された文を解析することにより、当該文に含まれる第1の文字列を構成する複数の単語を抽出する抽出手段と、
前記抽出された複数の単語の各々を組み合わせることによって複数の第2の文字列を取得する取得手段と、
前記取得された複数の第2の文字列を保持する文字列保持手段と、
前記文字列保持手段に保持された第2の文字列毎に、当該第2の文字列と一致するインデックスおよび当該第2の文字列を含むインデックスを前記分類別文書格納手段から検索する検索手段と、
前記検索されたインデックスに基づいて、前記文字列保持手段に保持された第2の文字列の各々の評価値を、当該インデックスに対応づけて前記分類別文書格納手段に格納されている分類情報によって示される分類毎に算出する評価値算出手段と、
前記算出された評価値が予め定められた第1の値以上である分類の数が予め定められた第2の値以上である前記文字列保持手段に保持された第2の文字列のうち、当該第2の文字列を構成する単語の数が最も多い第2の文字列を、前記入力された文から切り出される文字列として決定する決定手段と
を具備することを特徴とする文書処理装置。
【請求項2】
前記決定手段は、前記算出された評価値が予め定められた第1の値以上である分類の数が予め定められた第2の値以上である前記文字列保持手段に保持された第2の文字列のうち、当該第2の文字列を構成する単語の数が最も多い第2の文字列が複数存在する場合、当該第2の文字列を構成する単語の数が最も多い複数の第2の文字列のうち、前記算出された評価値が最も大きい第2の文字列を、前記入力された文から切り出される文字列として決定することを特徴とする請求項1記載の文書処理装置。
【請求項3】
前記取得手段は、前記抽出された複数の単語のうちの少なくとも2つ以上の単語の組み合わせ毎に、当該組み合わせにおける少なくとも2つ以上の単語を前記入力された文に含まれる第1の文字列における出現順に組み合わせることによって複数の第2の文字列を取得することを特徴とする請求項1記載の文書処理装置。
【請求項4】
前記評価値算出手段は、
前記検索されたインデックスの数を示す第1の出現回数を算出する第1の算出手段と、
前記検索されたインデックスのうち、前記文字列保持手段に保持された第2の文字列を含むインデックスの数を示す第2の出現回数を算出する第2の算出手段と、
前記検索されたインデックスのうち、異なるインデックスの数を示す異なり数を算出する第3の算出手段と
を含み、
前記第1の算出手段によって算出された第1の出現回数、前記第2の算出手段によって算出された第2の出現回数および前記第3の算出手段によって算出された異なり数を用いて前記評価値を算出する
ことを特徴とする請求項1記載の文書処理装置。
【請求項5】
文書毎に、当該文書が属する文類を示す分類情報および当該文書に含まれる文字列を示すインデックスを対応づけて予め格納する分類別文書格納手段と文字列保持手段とを有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成される文書処理装置において、前記コンピュータによって実行されるプログラムであって、
前記コンピュータに、
ユーザによって指定された文であって、複数の単語から構成される第1の文字列を含む文を入力するステップと、
前記入力された文を解析することにより、当該文に含まれる第1の文字列を構成する複数の単語を抽出するステップと、
前記抽出された複数の単語の各々を組み合わせることによって複数の第2の文字列を取得するステップと、
前記取得された複数の第2の文字列を前記文字列保持手段に保持させるステップと、
前記文字列保持手段に保持された第2の文字列毎に、当該第2の文字列と一致するインデックスおよび当該第2の文字列を含むインデックスを前記分類別文書格納手段から検索するステップと、
前記検索されたインデックスに基づいて、前記文字列保持手段に保持された第2の文字列の各々の評価値を、当該インデックスに対応づけて前記分類別文書格納手段に格納されている分類情報によって示される分類毎に算出するステップと、
前記算出された評価値が予め定められた第1の値以上である分類の数が予め定められた第2の値以上である前記文字列保持手段に保持された第2の文字列のうち、当該第2の文字列を構成する単語の数が最も多い第2の文字列を、前記入力された文から切り出される文字列として決定するステップと
を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−203470(P2012−203470A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−65004(P2011−65004)
【出願日】平成23年3月23日(2011.3.23)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】