(57)【要約】【課題】単語のタイプを判別するために規則を適用する際の処理速度を高速化する。【解決手段】単語の属性種別と出現相対位置と属性値との組み合わせで表される条件又は条件の組み合わせの各々に関連付けてスコアと当該スコアを付与すべき出現相対位置及びタイプとを含む１又は複数のスコア設定規則が登録されている規則データ格納部を新たに用意する。このような規則データ格納部を適用条件で検索すれば、関連するスコア設定規則が一度に抽出できるので、処理速度が高速になる。【選択図】図９
2010250642.tif 000002
【特許請求の範囲】
【請求項１】
単語の属性種別と出現相対位置と属性値との組み合わせで表される条件又は条件の組み合わせの各々に関連付けてスコアと当該スコアを付与すべき出現相対位置及びタイプとを含む１又は複数のスコア設定規則が登録されている規則データ格納部と、単語の各属性種別の属性値を含む要素が出現順に並べられた要素列を格納する要素列データ格納部とにアクセス可能なコンピュータにより実行される規則処理方法であって、
前記要素列データ格納部から、前記条件の組み合わせに含まれる条件の最大数と前記条件又は条件の組み合わせに関連付けられている前記スコア設定規則に含まれる出現相対位置の、基準位置からの最大距離とにより特定される候補抽出条件に従って、前記要素毎に、単語の属性種別と出現相対位置と属性値との組み合わせで表される要素条件又は要素条件の組み合わせである適用候補を抽出する抽出ステップと、
前記適用候補で前記規則データ格納部を検索して、該当する前記条件又は条件の組み合わせが存在する場合には、前記規則データ格納部から該当する前記条件又は条件の組み合わせに関連付けられている１又は複数のスコア設定規則を抽出し、抽出された前記１又は複数のスコア設定規則に含まれる前記タイプ及び前記スコアで、抽出された前記１又は複数のスコア設定規則に含まれる前記出現相対位置と前記適用候補に係る前記出現位置とから特定される要素の当該タイプについてのスコアを更新し、前記要素列データ格納部に格納するステップと、
を含む規則処理方法。
【請求項２】
前記抽出ステップが、
処理に係る要素の出現位置から前記最大距離だけ離れた出現位置までの前記要素の各々について、前記属性種別毎に当該属性種別と当該属性種別の属性値と前記処理に係る要素の出現位置からの出現相対位置との組み合わせで表される要素条件を生成するステップと、
前記処理に係る要素についての要素条件のいずれかを少なくとも含むように前記要素条件を前記条件の最大数以内で組み合わせて前記適用候補を生成するステップと、
を含む請求項１記載の規則処理方法。
【請求項３】
前記要素の各々について、各前記タイプについてのスコアを比較して、最大のスコアが設定されているタイプを当該要素のタイプとして特定するステップ
をさらに含む請求項１又は２記載の規則処理方法。
【請求項４】
前記コンピュータが、単語の属性種別と出現相対位置と属性値との組み合わせで表される第２条件又は第２条件の組み合わせの各々に関連付けてスコアと当該スコアを付与すべきタイプとを含む１の第２スコア設定規則が登録されている第２規則データ格納部にさらにアクセス可能であり、
前記第２規則データ格納部に格納されている前記第２条件又は第２条件の組み合わせの各々について、前記第２条件又は第２条件の組み合わせに含まれる前記出現相対位置における最も小さい値を基準値として特定し、前記第２条件又は第２条件の組み合わせに含まれる各前記第２条件の前記出現相対位置を前記基準値からの新たな出現相対位置に変換して前記条件又は条件の組み合わせを生成し、当該条件又は条件の組み合わせに関連付けて、前記第２設定規則に加えて前記基準値に（−１）を乗じた値を前記出現相対位置として含む前記スコア設定規則を前記規則データ格納部に格納するステップと、
前記規則データ格納部において、前記条件又は条件の組み合わせが同じ前記スコア設定規則を抽出して、前記条件又は条件の組み合わせを集約するステップと、
をさらに含む請求項１乃至３のいずれか１つ記載の規則処理方法。
【請求項５】
請求項１乃至４のいずれか１つ記載の規則処理方法をコンピュータに実行させるためのプログラム。
【請求項６】
単語の属性種別と出現相対位置と属性値との組み合わせで表される条件又は条件の組み合わせの各々に関連付けてスコアと当該スコアを付与すべき出現相対位置及びタイプとを含む１又は複数のスコア設定規則が登録されている規則データ格納部と、
単語の各属性種別の属性値を含む要素が出現順に並べられた要素列を格納する要素列データ格納部と、
前記要素列データ格納部から、前記条件の組み合わせに含まれる条件の最大数と前記条件又は条件の組み合わせに関連付けられている前記スコア設定規則に含まれる出現相対位置の、基準位置からの最大距離とにより特定される候補抽出条件に従って、前記要素毎に、単語の属性種別と出現相対位置と属性値との組み合わせで表される要素条件又は要素条件の組み合わせである適用候補を抽出する抽出手段と、
前記適用候補で前記規則データ格納部を検索して、該当する前記条件又は条件の組み合わせが存在する場合には、前記規則データ格納部から該当する前記条件又は条件の組み合わせに関連付けられている１又は複数のスコア設定規則を抽出し、抽出された前記１又は複数のスコア設定規則に含まれる前記タイプ及び前記スコアで、抽出された前記１又は複数のスコア設定規則に含まれる前記出現相対位置と前記適用候補に係る前記出現位置とから特定される要素の当該タイプについてのスコアを更新し、前記要素列データ格納部に格納する手段と、
を有する規則処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、予め学習によって得られる規則についての処理技術に関する。
【背景技術】
【０００２】
例えば単語列から人名や場所などの固有名詞を抽出する場合に、従来では以下のような処理が必要であった。ここでは説明を簡単にするため、人名（「人」と記す）とそれ以外（「Ｏ」と記す）とを判別するものとする。すなわち、図１（ａ）に示すような単語と固有名詞タイプとの正しい組み合わせを用意し、そこから図１（ｂ）に示すような固有名詞タイプと素性集合との組み合わせを生成する。素性は、判別のための手がかりを表している。素性においては、単語そのものという属性種別であればＷで表し、その記号の後の（０）や（１）などで注目単語の位置（０）を基準にした出現相対位置を表す。例えば、図１（ａ）の１番目の単語「宮崎」に注目すると、Ｗ（０）＝宮崎と表すことができる。さらに、判別のための手がかりは、現在位置の単語と前後の単語とを用いることとする。よって、１番目の単語を現在位置とすると、１つ正の方向に移動した単語「出身」については、Ｗ（１）＝出身と表される。また、現在位置を２番目の単語に移行させると、現在位置の単語「出身」についてはＷ（０）＝出身と表され、現在位置から見て１つ前の単語「宮崎」についてはＷ（-1）＝宮崎と表され、現在位置から見て１つ後の単語「さん」についてはＷ（1）＝さんと表される。同様にして、図１（ａ）のような単語列とその固有名詞タイプとから、図１（ｂ）のようなデータを生成する。なお、本願では、一般化してＷ（ｐ）＝ｗiと表すものとする。ｗiは、ｉ番目の位置の単語である。ｐは注目位置からの出現相対位置を表す。また、ここでは簡略化しているが、属性種別には、文字種（例えば漢字、ひらがななど）、品詞など他の属性を用いるようにしても良い。複数の属性種別を組み合わせる場合もある。
【０００３】
さらに、図１（ｂ）に示すようなデータに対して周知の方法（Iwakura, Tomoya and Okamoto, Seishi,"A Fast Boosting-based Learner for Feature-Rich Tagging and Chunking", Proc. of CoNLL 2008, pages: {17-24}を参照のこと。）で機械学習を行うと、図２に示すような規則が生成される。図２の各行が１つの規則であり、各規則は、条件と、固有名詞タイプと、スコアとを含む。条件は素性で表される。図２の例では１つの条件が１つの素性を含むが、複数の素性の組み合わせを含むようにしても良い。スコアは、大きい程対応する固有名詞タイプである可能性が高くなる。条件「Ｗ（０）＝宮崎」、固有名詞タイプ「人」、スコア「１０」ということは、Ｗ（０）＝宮崎を満たす場合に、現在位置の単語「宮崎」が「人」であるスコアは「１０」であるということである。
【０００４】
図２に示すような規則を用いて、図３に示すような単語列「宮崎」「さん」「と」「遊ぶ」から人名を特定する際の処理は図４及び図５に示すようなものである。まず、現在位置の単語「宮崎」を規則に適用する場合、まず、現在位置の単語「宮崎」と次の単語「さん」とから、素性集合「Ｗ（０）＝宮崎」及び「Ｗ（１）＝さん」とを生成する（ステップ（１））。現在位置の単語とその前後の単語から素性を生成するためである。生成された素性で規則の条件を検索し（ステップ（２））、一致する条件に対応する固有名詞タイプ及びスコアを抽出する。素性Ｗ（０）＝宮崎に一致する条件の規則が存在するので、固有名詞タイプ「人」及びスコア「１０」が得られる。同様に、素性Ｗ（１）＝さんに一致する条件の規則が存在するので、固有名詞タイプ「人」及びスコア「３０」が得られる。まとめると、現在位置の単語「宮崎」について、固有名詞タイプ「人」がスコア「４０（＝１０＋３０）」となり、登録される（ステップ（３））。
【０００５】
次に、現在位置の単語を「宮崎」から「さん」に移行して、単語「さん」の前後の単語から、素性集合「Ｗ（-1）＝宮崎」「Ｗ（０）＝さん」「Ｗ（１）＝と」を生成する（ステップ（４））。そして、生成された素性で規則の条件を検索し（ステップ（５））、一致する条件に対応する固有名詞タイプ及びスコアを抽出する。素性Ｗ（-1）＝宮崎に一致する条件の規則が存在するので、固有名詞タイプ「Ｏ」及びスコア「５」が得られる。同様に、素性Ｗ（０）＝さんに一致する条件の規則が存在するので、固有名詞タイプ「Ｏ」及びスコア「２０」が得られる。まとめると、現在位置の単語「さん」について、固有名詞タイプ「Ｏ」がスコア「２５（＝５＋２０）」となり、登録される（ステップ（６））。
【０００６】
図４及び図５から分かるように、生成される素性において「宮崎」「さん」といった単語が、相対位置「０」、「−１」、「１」といったように異なる位置で別物として出現し、その都度規則とのマッチングを行わなければならない。これによって検索回数が増加するため処理速度が遅くなるという問題がある。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Iwakura, Tomoya and Okamoto, Seishi,"A Fast Boosting-based Learner for Feature-Rich Tagging and Chunking", Proc. of CoNLL 2008, pages: {17-24}
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以上述べたように、従来技術では、同じ単語について何回も異なる位置で異なる素性として規則に対して適用することになるので、規則に対する検索回数が増加して処理速度が遅くなる。上の例では、単語の属性種別としては単語そのもののみを使用する例を示したが、その他単語の属性種別として品詞や文字種別をも用いる場合や、複数の素性の組み合わせで規則の条件が規定される場合には、余計に検索回数が増加する。
【０００９】
従って、本技術の目的は、単語のタイプを判別するために規則を適用する際の処理速度を高速化するための技術を提供することである。
【課題を解決するための手段】
【００１０】
本規則処理方法は、単語の属性種別と出現相対位置と属性値との組み合わせで表される条件又は条件の組み合わせの各々に関連付けてスコアと当該スコアを付与すべき出現相対位置及びタイプとを含む１又は複数のスコア設定規則が登録されている規則データ格納部と、単語の各属性種別の属性値を含む要素が出現順に並べられた要素列を格納する要素列データ格納部とにアクセス可能なコンピュータにより実行される。そして本規則処理方法は、要素列データ格納部から、上記条件の組み合わせに含まれる条件の最大数と上記条件又は条件の組み合わせに関連付けられているスコア設定規則に含まれる出現相対位置の、基準位置からの最大距離とにより特定される候補抽出条件に従って、要素毎に、単語の属性種別と出現相対位置と属性値との組み合わせで表される要素条件又は要素条件の組み合わせである適用候補を抽出する抽出ステップと、適用候補で規則データ格納部を検索して、該当する条件又は条件の組み合わせが存在する場合には、規則データ格納部から該当する上記条件又は条件の組み合わせに関連付けられている１又は複数のスコア設定規則を抽出し、抽出された１又は複数のスコア設定規則に含まれるタイプ及びスコアで、抽出された上記１又は複数のスコア設定規則に含まれる出現相対位置と適用候補に係る出現位置とから特定される要素の当該タイプについてのスコアを更新し、要素列データ格納部に格納するステップとを含む。
【発明の効果】
【００１１】
単語のタイプを判別するために規則を適用する際の処理速度が高速化される。
【図面の簡単な説明】
【００１２】
【図１】図１は、従来技術を説明するための図である。
【図２】図２は、従来技術の規則データを示す図である。
【図３】図３は、判別対象データの一例を示す図である。
【図４】図４は、従来技術の処理を説明するための模式図である。
【図５】図５は、従来技術の処理を説明するための模式図である。
【図６】図６は、本技術の実施の形態における規則データの変換について示す図である。
【図７】図７は、実施の形態における規則の適用を示す模式図である。
【図８】図８は、実施の形態における規則の適用を示す模式図である。
【図９】図９は、規則処理装置の機能ブロック図である。
【図１０】図１０は、実施の形態におけるメインの処理フローを示す図である。
【図１１】図１１は、規則変換処理の処理フローを示す図である。
【図１２】図１２は、規則変換過程を表すデータを示す図である。
【図１３】図１３は、規則変換過程を表すデータを示す図である。
【図１４】図１４は、一般化した判別対象データの一例を示す図である。
【図１５】図１５は、判別処理の処理フローを示す図である。
【図１６】図１６は、判別結果格納部に格納されるデータの一例を示す図である。
【図１７】図１７は、第２規則変換処理の処理フローを示す図である。
【図１８】図１８は、第２規則変換処理の内容を説明するための模式図である。
【図１９】図１９は、第２規則変換処理の処理フローを示す図である。
【図２０】図２０は、第２判別処理の処理フローを示す図である。
【図２１】図２１は、判別対象データの一例を示す図である。
【図２２】図２２は、チェック候補の一例を示す図である。
【図２３】図２３は、第２判別処理における規則適用例を示す図である。
【図２４】図２４は、第２判別処理の処理フローを示す図である。
【図２５】図２５は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１３】
［本実施の形態の概要］
本実施の形態では、図２に示すような規則を、図６に示すような新たなフォーマットの規則に変換する。具体的には、新たな規則は、条件と、スコアを付与する単語の位置と、固有名詞タイプと、スコアとを含む。但し、条件１つにつき、スコアを付与する単語の位置と固有名詞タイプとスコアとを含むスコア設定規則が１又は複数関連付けられている。従って、規則の適用時に１つ条件が特定されると、一度にスコア設定規則が抽出できるようになる。
【００１４】
そして、図７に示すように、図３に示すような単語列を処理する場合には、現在位置の単語「宮崎」で、図６に示す新規則を検索し、一致する条件が存在するか確認する（ステップ（１０））。図６の新規則では、１番目の規則が特定され、２つのスコア設定規則が一度に抽出される。第１のスコア設定規則は、スコアを付与する単語の位置「０」と固有名詞タイプ「人」とスコア「１０」とを含むので、スコアを付与する単語の位置「０」から現在位置の単語「宮崎」に対して、固有名詞タイプ「人」についてスコア「１０」を設定する（ステップ（１１））。さらに、第２のスコア設定規則は、スコアを付与する単語の位置「１」と固有名詞タイプ「Ｏ」とスコア「５」とを含むので、スコアを付与する単語の位置「１」から現在位置の次の位置の単語「さん」に対して、固有名詞タイプ「Ｏ」についてスコア「５」を設定する（ステップ（１２））。
【００１５】
また、図８に示すように、現在位置を次の単語に移動させ、現在位置の単語「さん」で、図６に示す新規則を検索し、一致する条件が存在するか確認する（ステップ（１３））。図６の新規則では、２番目の規則が特定され、２つのスコア設定規則が一度に抽出される。第１のスコア設定規則は、スコアを付与する単語の位置「０」と固有名詞タイプ「Ｏ」とスコア「２０」とを含むので、スコアを付与する単語の位置「０」から現在位置の単語「さん」に対して、固有名詞タイプ「Ｏ」についてスコア「２０」を現在の値「５」に加算して「２５」を登録する（ステップ（１４））。同様に、第２のスコア設定規則は、スコアを付与する単語の位置「−１」と固有名詞タイプ「人」とスコア「３０」とを含むので、スコアを付与する単語の位置「−１」から１つ前の位置の単語「宮崎」に対して、固有名詞タイプ「人」についてスコア「３０」を現在の値「１０」に加算して「４０」を登録する（ステップ（１５））。
【００１６】
このようにすれば、判別対象の単語１つについて新規則を１度検索すれば、適用すべきスコア設定規則を抽出することができ、検索回数が減少して処理速度が高速化される。
【００１７】
［本実施の形態の具体的内容］
図９に規則処理装置の機能ブロック図を示す。規則処理装置は、学習データ入力部１と、学習データ入力部１により入力された学習データを格納する学習データ格納部３と、学習データ格納部３に格納されているデータを用いて規則学習処理を実施する規則学習部５と、規則学習部５の処理結果を格納する第１規則データ格納部７と、第１規則データ格納部７に格納されている第１の規則を第２の規則に変換する規則変換部９と、規則変換部９により生成された第２の規則のデータを格納する第２規則データ格納部１１と、判別対象データ入力部１３と、判別対象データ入力部１３により入力された判別対象データを格納する判別対象データ格納部１５と、第２規則データ格納部１１と判別対象データ格納部１５とに格納されたデータを用いて処理する判別部１７と、判別部１７の処理結果を格納する判別結果格納部１９と、判別結果格納部１９に格納されているデータを出力する出力部２１とを有する。
【００１８】
次に、規則処理装置の処理内容について図１０乃至図２４を用いて説明する。最初に、規則処理装置の学習データ入力部１は、ユーザから学習データの入力を受け付け、学習データ格納部３に格納する（図１０：ステップＳ１）。例えば、図１（ａ）に示すようなデータ、すなわち単語と正しい固有名詞タイプとの複数の対が含まれる。そして、規則学習部５は、学習データ格納部３に格納されている学習データに対して周知の学習処理を実施して第１の規則を生成し、第１規則データ格納部７に格納する（ステップＳ３）。例えば図１（ａ）から図１（ｂ）そして図２に示すようなデータ・テーブルを生成する。この処理自体は周知であるからこれ以上述べない。
【００１９】
次に、規則変換部９は、規則変換処理を実施する（ステップＳ５）。この規則変換処理については、図１１乃至図１３を用いて説明する。但し、最初は、単語の属性種別については単語そのものだけであるものとする。規則変換部９は、ｒを１に初期化する（ステップＳ２１）。そして、第１規則データ格納部７に格納されている第１規則テーブル（図２）におけるｒ番目の規則の条件を、素性の出現位置情報（＝出現相対位置）ｐと値ｆとに分離する（ステップＳ２３）。図２の第１行目を処理する場合、条件はＷ（０）＝宮崎となっているので、ｐ＝０とｆ＝宮崎とが得られる。
【００２０】
その後、規則変換部９は、第２規則データ格納部１１における第２規則テーブルに、値ｆを条件として、「−ｐ」をスコアを付与する単語の位置として、第１規則テーブルにおけるｒ番目の規則のスコア及び固有名詞タイプをそのまま、登録する（ステップＳ２５）。図２の第１行目であれば、図１２に示すようなデータが第２規則データ格納部１１における第２規則テーブルに登録される。すなわち、条件「宮崎」と、スコアを付与する単語の位置「０」と固有名詞タイプ「人」とスコア「１０」とを含むスコア設定規則とが登録される。
【００２１】
そして、規則変換部９は、ｒを１インクリメントし、ｒがｍ（ｍは第１規則データ格納部７の第１規則テーブルのレコード数）以下であるか判断する（ステップＳ２９）。ｒがｍ以下であればステップＳ２３に戻る。
【００２２】
ｒ＝２になると、条件はＷ（-1）＝宮崎となっているので、ｐ＝−１とｆ＝宮崎とが得られる。そして、図１３に太線で示すように、ｆ＝宮崎を条件として、−ｐ＝１をスコアを付与する単語の位置として、ｒ番目の規則のスコア「５」及び固有名詞タイプ「Ｏ」をそのまま、第２規則テーブルに登録する。
【００２３】
一方、ｒがｍを超える場合には、規則変換部９は、同一の条件についてスコア設定規則を集めることによって規則を集約する（ステップＳ３０）。同一の条件に対応付けられているスコア設定規則を収集して、１つの条件に関連付けて収集されたスコア設定規則が登録される形に変換する。これによって、一度の検索で簡単に全てのスコア設定規則を抽出することができるようになる。その後、元の処理に戻る。
【００２４】
このような処理を実施すれば、図６に示すような変換が完了して、第２規則データ格納部１１に第２規則テーブルが格納されるようになる。
【００２５】
図１０の処理の説明に戻って、ステップＳ１乃至Ｓ３とは別に又はステップＳ５の後に、判別対象データ入力部１３は、ユーザから判別対象データの入力を受け付け、判別対象データ格納部１５に格納する（ステップＳ７）。判別対象データは、例えば図３に示すようなデータである。このような単純な例では、単語の属性種別が、単語そのものである。但し、必ずしも単語の属性種別は１種類に限定されるものではなく、例えば図１４に示すように、単語そのものと、品詞と、文字種とを属性種別として採用するようにしても良い。このように、１つの単語について、使用する全属性種別の属性値の組み合わせを、要素ｗと呼ぶものとする。この単語の出現位置がある入力で「ｉ」番目であれば、ｗiと表すものとする。
【００２６】
そして、判別部１７は、第２規則データ格納部１１及び判別対象データ格納部１５に格納されているデータを用いて判別処理を実施する（ステップＳ９）。この判別処理については、図１５及び図１６を用いて説明する。但し、最初は、条件が１種類のみの場合の処理を以下に説明する。具体的には、図６の右側の第２規則テーブルが用意されている場合の処理を説明する。
【００２７】
まず、判別部１７は、ｉを１に初期化する（ステップＳ３１）。そして、判別対象データ格納部１５における要素ｗiの未処理の属性種別を１つ特定する（ステップＳ３３）。上で述べたように、要素ｗiは、判別対象データ格納部１５におけるｉ番目の単語の１又は複数の属性種別の属性値を含む。図３の例は、属性種別が単語そのもののみという非常に単純な例であり、上でも述べた品詞や文字種が組み合わせられる場合もある。
【００２８】
そして、判別部１７は、要素ｗiの特定された属性種別の属性値がいずれかの規則の条件を満たすか判断する（ステップＳ３５）。図７の例では、属性種別が単語そのもので、単語「宮崎」を条件とする規則が存在するか判断し、該当するスコア設定規則が２つ得られる。要素ｗiの特定された属性種別の属性値がいずれの規則の条件にも合致しない場合にはステップＳ３９に移行する。一方、要素ｗiの特定された属性種別の属性値がいずれかの規則の条件を満たしている場合には、該当規則におけるスコア設定規則（すなわち、スコアが付与される単語の位置（出現相対位置）と、タイプ及びスコア）に応じて、要素ｗiに対してスコアを設定する（ステップＳ３７）。図７の例では、ステップ（１１）及び（１２）のように、単語「宮崎」の要素について固有名詞タイプ「人」にスコア「１０」を設定すると共に、単語「さん」の要素について固有名詞タイプ「Ｏ」にスコア「５」を設定する。既にスコアが登録されている場合には、今回のスコア設定規則に含まれるスコアの値を加算する。処理はステップＳ３９に移行する。
【００２９】
ステップＳ３９では、判別部１７は、要素ｗiについて未処理の属性が存在するか判断し、要素ｗiについて未処理の属性種別が存在すればステップＳ３３に戻る。一方、未処理の属性種別が存在しなければ、ｉを１インクリメントして（ステップＳ４１）、ｉがｎ（ｎは要素の数）以下であるか判断する（ステップＳ４３）。ｉがｎ以下であればステップＳ３３に戻る。一方、ｉがｎを超える場合には、判別対象データ格納部１５における各要素ｗiについて、スコア最大のタイプ（図７の例では人名かそれ以外か）を特定し、判別結果格納部１９に格納する（ステップＳ４５）。例えば図１６に示すように、判別結果格納部１９には、単語毎に、判別結果が登録されるようになっている。すなわち、「宮崎」だけが「人」と判定されている。
【００３０】
以上のように、条件が１つの属性種別についてのみで組み合わせ無しという単純な例では、属性種別が複数存在していれば、１つの要素について属性種別の数だけ規則の検索が行われる。但し、１つの要素については１回のみ処理されるので、検索回数は削減されている。属性種別が１つだけであれば、１要素について１回の検索で済んでいる。
【００３１】
図１０の処理の説明に戻り、出力部２１は、判別結果格納部１９に格納されている判別結果を、表示装置や印刷装置などの出力装置に出力する（ステップＳ２１）。規則処理装置がネットワークに接続されている場合には、ネットワークに接続されている他のコンピュータに送信するようにしても良い。
【００３２】
以上のような処理を実施すれば、検索回数を削減しつつ、判別対象データの各単語について、最も確からしいタイプが特定されるようになる。上で述べた例では、人名であるか否かが特定されるが、他のタイプを判別することもできるようになる。例えば品詞の判別を行うことも可能である。さらに、名詞句、動詞句などの判別（基本フレーズ判別）、文節推定などを行うことも可能である。
【００３３】
上では規則の条件が１つの属性種別についてのみで組み合わせ無しという単純な例について述べたが、一般的にはこのような単純な例だけではない。次に、より一般化した処理について説明する。すなわち、条件が複数の素性の組み合わせで表される場合について図１７乃至図１９を用いて説明する。規則変換部９は、現在位置を示すｒを１に初期化する（ステップＳ５１）。そして、出現相対位置の最小値ＭＩＮを「未定義」に初期化する（ステップＳ５３）。その後、第１規則データ格納部７におけるｒ番目の規則から未処理の素性を１つ特定する（ステップＳ５５）。例えば図１８（ａ）に示すように、各規則の条件が２つの素性の組み合わせで表される場合、第１の規則を処理する場合には、Ｗ（０）＝宮崎とＷ（１）＝さんのうち例えばＷ（０）＝宮崎を特定する。
【００３４】
そして、規則変換部９は、特定された素性から素性の出現相対位置ｐを特定する（ステップＳ５７）。上で特定された例では、ｐ＝０となる。その後、ＭＩＮが未定義又はｐ＜ＭＩＮであるか判断する（ステップＳ５９）。ＭＩＮが未定義又はｐ＜ＭＩＮである場合には、ＭＩＮを最小にするためにＭＩＮ＝ｐに設定する（ステップＳ６１）。そしてステップＳ６３に移行する。一方、ＭＩＮ≦ｐである場合には、ＭＩＮを更新する必要がないので、ステップＳ６３に移行する。
【００３５】
ステップＳ６３では、規則変換部９は、ｒ番目の規則に未処理の素性が存在するか判断し（ステップＳ６３）、未処理の素性が存在している場合にはステップＳ５５に戻る。図１８（ａ）の例では、Ｗ（１）＝さんが未処理として特定されるが、ｐ＝１で、ＭＩＮ＝０であるから、ＭＩＮ＝０で確定する。２番目の規則の場合、Ｗ（−１）＝宮崎とＷ（０）＝さんであるので、ＭＩＮ＝−１となる。
【００３６】
一方、ｒ番目の規則に未処理の素性が存在しない場合には、端子Ａを介して図１９の処理に移行する。次に、規則変換部９は、ｒ番目の規則から再度未処理の素性を１つ特定する（ステップＳ６５）。そして、特定された素性を、属性種別ｔと素性の出現相対位置ｐと値ｆとに分離する（ステップＳ６７）。Ｗ（０）＝宮崎については、属性種別ｔ＝Ｗ（すなわち単語）、ｐ＝０、ｆ＝宮崎といったように分離される。そして、ＮＩ＝ｐ−ＭＩＮを新たな出現相対位置に設定し、属性種別ｔと新たな出現相対位置ＮＩと値ｆとで表現される素性を、新たな条件ｎｒに追加する（ステップＳ６９）。１番目の規則のＷ（０）＝宮崎については、ＮＩ＝０−０＝０であるので、素性の内容に変化はない。Ｗ（１）＝さんについても素性の内容に変化はない。一方、２番目の規則におけるＷ（-1）＝宮崎については、ＮＩ＝−１−（−１）＝０であり、Ｗ（０）＝宮崎に変更される。２番目の規則におけるＷ（０）＝さんについては、ＮＩ＝０−（−１）＝１であり、Ｗ（１）＝さんに変更される。その後、ｒ番目の規則において未処理の素性が存在するか判断する（ステップＳ７１）。未処理の素性が存在する場合にはステップＳ６５に戻る。
【００３７】
一方、ｒ番目の規則において未処理の素性が存在しない場合には、規則変換部９は、第２規則データ格納部１１における第２規則テーブルに、条件「ｎｒ」と、スコアを付与する単語の位置「−ＭＩＮ」とｒ番目の規則のタイプ及びスコアとを含むスコア設定規則とを登録する（ステップＳ７３）。そして、ｒを１インクリメントし（ステップＳ７５）、ｒがｍ（ｍが規則数）以下であるか判断する（ステップＳ７７）。ｒがｍ以下である場合には、端子Ｂを介してステップＳ５３に戻る。一方、ｒがｍを超えた場合には、第２規則テーブルにおいて、同一条件の規則を集約する（ステップＳ７９）。図１８（ａ）の１番目の規則と２番目の規則については図１８（ｂ）に示すように、同じ条件となるので、１つの条件から２つのスコア設定規則が抽出できるように関連付けを行う。図１８（ａ）の例では、３番目及び４番目の規則についても同様に条件は同じとなるので、図１８（ｂ）に示すように、１つの条件から２つのスコア設定規則が抽出できるように関連付けを行う。そして元の処理に戻る。
【００３８】
以上のような処理を実施すれば、条件に含まれる素性の数が複数であっても、また複数の属性種別について素性が構成される場合においても対応することができる。
【００３９】
次に、図２０乃至図２４を用いて、より一般的な判別処理について説明する。なお、図１８（ｂ）の第２規則テーブルを用いることとする。まず、ｎに要素ｗの個数を設定する（ステップＳ８１）。例えば図２１に示すようなデータが判別対象データ格納部１５に格納されているものとする。ここでは、単語の属性種別として単語そのものＷの他に品詞Ｐも含まれている。ここでは４つの要素が存在しているので、ｎ＝４となる。また、ＷＲに、規則の条件における単語の出現相対位置の、基準位置からの最大距離を設定し、ＭＡＸに、規則の条件に含まれる素性の最大個数を設定する（ステップＳ８３）。これは、第２規則データ格納部１１における第２規則テーブルを探索することによって設定される。図１８（ｂ）に示すような第２規則テーブルの場合には、「Ｗ（ｐ）＝ｗi」におけるｐの最大値が１であるから、ＷＲ＝１である。但し、以下の処理の説明のためにＷＲ＝「２」であるものとする。また、各規則には最大２つの素性が含まれるので、ＭＡＸ＝２と設定される。
【００４０】
そして、判別部１７は、ｉ＝１と設定し（ステップＳ８５）、要素ｗiを基準とし、ＷＲ及びＭＡＸに従ってチェック候補を生成し、ＡＲに格納する（ステップＳ８７）。要素ｗiから最大距離ＷＲだけ離れた出現位置の要素ｗi+WRまでの要素の各々について、属性種別（例えばＷ又はＰ）毎に当該属性種別（Ｗ又はＰ）と当該属性種別の属性値ｆと要素ｗiからの出現相対位置ｐjとから素性を生成する。そして、ＭＡＸ以内で要素ｗiについての素性のいずれかを少なくとも含むように組み合わせてチェック候補を生成する。図２１の例で、要素ｗ1を処理対象とすると、考慮しなければならない要素は、単語「宮崎」の要素ｗ1と、単語「さん」の要素ｗ2と、単語「と」の要素ｗ3とになる。そして、要素ｗ1について、Ｗ（０）＝宮崎（すなわちｐj＝０、ｆ＝宮崎）、Ｐ（０）＝名詞（すなわちｐj＝０、ｆ＝名詞）、Ｗ（１）＝さん（すなわちｐj＝１、ｆ＝さん）、Ｐ（１）＝接尾（すなわちｐj＝１、ｆ＝接尾）、Ｗ（２）＝と（すなわちｐj＝２、ｆ＝と）、Ｐ（２）＝助詞（すなわちｐj＝２、ｆ＝助詞）とが生成される。そして、ＭＡＸ＝２であるから、素性１個又は２個で、Ｗ（０）＝宮崎とＰ（０）＝名詞との少なくともいずれかを含むように素性を組み合わせると、図２２に示すようなチェック候補が生成される。
【００４１】
そして、判別部１７は、ＡＲから未処理のチェック候補ｃｒを１つ特定する（ステップＳ８９）。その後、チェック候補ｃｒで第２規則データ格納部１１における第２規則テーブルを検索することによって、チェック候補ｃｒが適用条件となる規則が存在するか判断する（ステップＳ９１）。チェック候補ｃｒが適用条件となる規則が存在しない場合には、端子Ｃを介して図２４の処理に移行する。一方、チェック候補ｃｒが適用条件となる規則が存在する場合には、該当規則についてのスコア設定規則に基づき、判別対象データ格納部１５における該当するスコアを更新する（ステップＳ９３）。図２３に模式的に示すように、ステップＳ８７で生成されたチェック候補の各々について第２規則データ格納部１１に格納されている第２規則テーブルを検索すると、４番目のチェック候補が１番目の規則の条件に一致することになる。そうすると２つのスコア設定規則が抽出されて、それぞれについて、判別対象データ格納部１５の該当箇所のスコアを更新する。第１のスコア設定規則であれば、スコアを付与する単語の位置が「０」であるから要素ｗiについてのタイプ「人」のスコアを「２０」だけ増加させる。第２のスコア設定規則であれば、スコアを付与する単語の位置が「１」であるから要素ｗi+1についてのタイプ「Ｏ」のスコアを「１０」だけ増加させる。そうすると、判別対象データ格納部１５のテーブルは、図２３の左上の状態になる。処理は端子Ｃを介して図２４の処理に移行する。
【００４２】
図２４の処理の説明に移行して、判別部１７は、ＡＲに未処理のチェック候補が残っているか判断する（ステップＳ９７）。未処理のチェック候補が残っている場合には端子Ｅを介して図２０のステップＳ８９に戻る。一方、ＡＲにおいて全てのチェック候補を処理した場合には、ｉを１インクリメントし（ステップＳ９９）、ｉがｎ（ｎは要素数）以下であるか判断する（ステップＳ１０１）。ｉがｎ以下であれば端子Ｄを介して図２０のステップＳ８７に戻る。一方、ｉがｎを超えた場合には、判別対象データ格納部１５内の各要素についてスコア最大のタイプを特定し、判別結果格納部１９に格納する（ステップＳ１０３）。そして元の処理に戻る。
【００４３】
このような処理を実施すれば要素や規則が一般化しても対応可能である。
【００４４】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、タイプは「人名」か「その他」しかない例を示したが、他のタイプであってもよいし、多数のタイプにスコアを設定するような場合にも対応可能である。
【００４５】
さらに、処理フローについても同様の結果を得られれば、処理順番を入れ替えたり、並列実施するようにしても良い。特にステップＳ８７のような処理については、一度にチェック候補を全て生成するのではなく、第２規則テーブルを検索する毎に生成するような形に変形するようにしても良い。
【００４６】
また規則処理装置の機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成とは一致しない場合もある。
【００４７】
なお、上で述べた規則処理装置は、コンピュータ装置であって、図２５に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００４８】
以上本実施の形態をまとめると以下のようになる。
【００４９】
本規則処理方法は、単語の属性種別と出現相対位置と属性値との組み合わせで表される条件又は条件の組み合わせの各々に関連付けてスコアと当該スコアを付与すべき出現相対位置及びタイプとを含む１又は複数のスコア設定規則が登録されている規則データ格納部と、単語の各属性種別の属性値を含む要素が出現順に並べられた要素列を格納する要素列データ格納部とにアクセス可能なコンピュータにより実行される。そして本規則処理方法は、要素列データ格納部から、上記条件の組み合わせに含まれる条件の最大数と上記条件又は条件の組み合わせに関連付けられているスコア設定規則に含まれる出現相対位置の、基準位置からの最大距離とにより特定される候補抽出条件に従って、要素毎に、単語の属性種別と出現相対位置と属性値との組み合わせで表される要素条件（実施の形態における素性）又は要素条件の組み合わせである適用候補を抽出する抽出ステップと、適用候補で規則データ格納部を検索して、該当する条件又は条件の組み合わせが存在する場合には、規則データ格納部から該当する上記条件又は条件の組み合わせに関連付けられている１又は複数のスコア設定規則を抽出し、抽出された１又は複数のスコア設定規則に含まれるタイプ及びスコアで、抽出された上記１又は複数のスコア設定規則に含まれる出現相対位置と適用候補に係る出現位置とから特定される要素の当該タイプについてのスコアを更新し、要素列データ格納部に格納するステップとを含む。
【００５０】
上で述べたような規則データ格納部を用意することによって、適用候補で規則データ格納部を検索して、適用候補に該当する条件又は条件の組み合わせが存在する場合にはそれに関連付けられている１又は複数のスコア設定規則が一度に抽出できるので、規則データ格納部の検索回数等を減らすことができるようになり、全体の処理速度が向上する。なお、属性種別は１又は複数の場合があり、例えば単語そのもの、品詞、文字種などが想定される。
【００５１】
また、上で述べた抽出ステップが、処理に係る要素の出現位置から最大距離だけ離れた出現位置までの要素の各々について、属性種別毎に当該属性種別と当該属性種別の属性値と処理に係る要素の出現位置からの出現相対位置との組み合わせで表される要素条件を生成するステップと、処理に係る要素についての要素条件のいずれかを少なくとも含むように要素条件を上記条件の最大数以内で組み合わせて適用候補を生成するステップとを含むようにしてもよい。要素列において処理に係る要素より前の要素のデータを再度用いて適用候補を生成するのではないので、処理が単純化且つ高速化される。
【００５２】
さらに、本規則処理方法において、上記要素の各々について、各タイプについてのスコアを比較して、最大のスコアが設定されているタイプを当該要素のタイプとして特定するステップをさらに含むようにしても良い。例えばタイプが固有名詞やそれ以外といったものであれば、単語毎に固有名詞か否かを判断することができるようになる。
【００５３】
また、コンピュータが、単語の属性種別と出現相対位置と属性値との組み合わせで表される第２条件又は第２条件の組み合わせの各々に関連付けてスコアと当該スコアを付与すべきタイプとを含む１の第２スコア設定規則が登録されている第２規則データ格納部にさらにアクセス可能であってもよい。その場合、第２規則データ格納部に格納されている第２条件又は第２条件の組み合わせの各々について、第２条件又は第２条件の組み合わせに含まれる出現相対位置における最も小さい値を基準値として特定し、第２条件又は第２条件の組み合わせに含まれる各第２条件の出現相対位置を基準値からの新たな出現相対位置に変換して上記条件又は条件の組み合わせを生成し、当該条件又は条件の組み合わせに関連付けて、第２設定規則に加えて基準値に（−１）を乗じた値を出現相対位置として含むスコア設定規則を規則データ格納部に格納するステップと、規則データ格納部において、上記条件又は条件の組み合わせが同じスコア設定規則を抽出して、上記条件又は条件の組み合わせを集約するステップとをさらに含むようにしてもよい。例えば、第２規則データ格納部が従来技術で用意されるような場合、このようにすれば本技術で必要な規則データ格納部のデータが用意できるようになる。
【００５４】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【００５５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００５６】
（付記１）
単語の属性種別と出現相対位置と属性値との組み合わせで表される条件又は条件の組み合わせの各々に関連付けてスコアと当該スコアを付与すべき出現相対位置及びタイプとを含む１又は複数のスコア設定規則が登録されている規則データ格納部と、単語の各属性種別の属性値を含む要素が出現順に並べられた要素列を格納する要素列データ格納部とにアクセス可能なコンピュータにより実行される規則処理方法であって、
前記要素列データ格納部から、前記条件の組み合わせに含まれる条件の最大数と前記条件又は条件の組み合わせに関連付けられている前記スコア設定規則に含まれる出現相対位置の、基準位置からの最大距離とにより特定される候補抽出条件に従って、前記要素毎に、単語の属性種別と出現相対位置と属性値との組み合わせで表される要素条件又は要素条件の組み合わせである適用候補を抽出する抽出ステップと、
前記適用候補で前記規則データ格納部を検索して、該当する前記条件又は条件の組み合わせが存在する場合には、前記規則データ格納部から該当する前記条件又は条件の組み合わせに関連付けられている１又は複数のスコア設定規則を抽出し、抽出された前記１又は複数のスコア設定規則に含まれる前記タイプ及び前記スコアで、抽出された前記１又は複数のスコア設定規則に含まれる前記出現相対位置と前記適用候補に係る前記出現位置とから特定される要素の当該タイプについてのスコアを更新し、前記要素列データ格納部に格納するステップと、
を含む規則処理方法。
【００５７】
（付記２）
前記抽出ステップが、
処理に係る要素の出現位置から前記最大距離だけ離れた出現位置までの前記要素の各々について、前記属性種別毎に当該属性種別と当該属性種別の属性値と前記処理に係る要素の出現位置からの出現相対位置との組み合わせで表される要素条件を生成するステップと、
前記処理に係る要素についての要素条件のいずれかを少なくとも含むように前記要素条件を前記条件の最大数以内で組み合わせて前記適用候補を生成するステップと、
を含む付記１記載の規則処理方法。
【００５８】
（付記３）
前記要素の各々について、各前記タイプについてのスコアを比較して、最大のスコアが設定されているタイプを当該要素のタイプとして特定するステップ
をさらに含む付記１又は２記載の規則処理方法。
【００５９】
（付記４）
前記コンピュータが、単語の属性種別と出現相対位置と属性値との組み合わせで表される第２条件又は第２条件の組み合わせの各々に関連付けてスコアと当該スコアを付与すべきタイプとを含む１の第２スコア設定規則が登録されている第２規則データ格納部にさらにアクセス可能であり、
前記第２規則データ格納部に格納されている前記第２条件又は第２条件の組み合わせの各々について、前記第２条件又は第２条件の組み合わせに含まれる前記出現相対位置における最も小さい値を基準値として特定し、前記第２条件又は第２条件の組み合わせに含まれる各前記第２条件の前記出現相対位置を前記基準値からの新たな出現相対位置に変換して前記条件又は条件の組み合わせを生成し、当該条件又は条件の組み合わせに関連付けて、前記第２設定規則に加えて前記基準値に（−１）を乗じた値を前記出現相対位置として含む前記スコア設定規則を前記規則データ格納部に格納するステップと、
前記規則データ格納部において、前記条件又は条件の組み合わせが同じ前記スコア設定規則を抽出して、前記条件又は条件の組み合わせを集約するステップと、
をさらに含む付記１乃至３のいずれか１つ記載の規則処理方法。
【００６０】
（付記５）
付記１乃至４のいずれか１つ記載の規則処理方法をコンピュータに実行させるためのプログラム。
【００６１】
（付記６）
単語の属性種別と出現相対位置と属性値との組み合わせで表される条件又は条件の組み合わせの各々に関連付けてスコアと当該スコアを付与すべき出現相対位置及びタイプとを含む１又は複数のスコア設定規則が登録されている規則データ格納部と、
単語の各属性種別の属性値を含む要素が出現順に並べられた要素列を格納する要素列データ格納部と、
前記要素列データ格納部から、前記条件の組み合わせに含まれる条件の最大数と前記条件又は条件の組み合わせに関連付けられている前記スコア設定規則に含まれる出現相対位置の、基準位置からの最大距離とにより特定される候補抽出条件に従って、前記要素毎に、単語の属性種別と出現相対位置と属性値との組み合わせで表される要素条件又は要素条件の組み合わせである適用候補を抽出する抽出手段と、
前記適用候補で前記規則データ格納部を検索して、該当する前記条件又は条件の組み合わせが存在する場合には、前記規則データ格納部から該当する前記条件又は条件の組み合わせに関連付けられている１又は複数のスコア設定規則を抽出し、抽出された前記１又は複数のスコア設定規則に含まれる前記タイプ及び前記スコアで、抽出された前記１又は複数のスコア設定規則に含まれる前記出現相対位置と前記適用候補に係る前記出現位置とから特定される要素の当該タイプについてのスコアを更新し、前記要素列データ格納部に格納する手段と、
を有する規則処理装置。
【符号の説明】
【００６２】
１  学習データ入力部    ３  学習データ格納部
５  規則学習部    ７  第１規則データ格納部
９  規則変換部    １１  第２規則データ格納部
１３  判別対象データ入力部    １５  判別対象データ格納部
１７  判別部    １９  判別結果格納部
２１  出力部
【図１】
2010250642.tif 000003
【図２】
2010250642.tif 000004
【図３】
2010250642.tif 000005
【図４】
2010250642.tif 000006
【図５】
2010250642.tif 000007
【図６】
2010250642.tif 000008
【図７】
2010250642.tif 000009
【図８】
2010250642.tif 000010
【図９】
2010250642.tif 000011
【図１０】
2010250642.tif 000012
【図１１】
2010250642.tif 000013
【図１２】
2010250642.tif 000014
【図１３】
2010250642.tif 000015
【図１４】
2010250642.tif 000016
【図１５】
2010250642.tif 000017
【図１６】
2010250642.tif 000018
【図１７】
2010250642.tif 000019
【図１８】
2010250642.tif 000020
【図１９】
2010250642.tif 000021
【図２０】
2010250642.tif 000022
【図２１】
2010250642.tif 000023
【図２２】
2010250642.tif 000024
【図２３】
2010250642.tif 000025
【図２４】
2010250642.tif 000026
【図２５】
2010250642.tif 000027