(57)【要約】【課題】様々な用途に対しても、できる限り小さいルール集合を用いて推論することができる推論エンジンを有するプログラム、装置及び方法を提供する。【解決手段】カテゴリ毎に分類された教師データの群によって、各カテゴリに応じた学習モデルを構築した分類型の機械学習エンジンと、カテゴリ毎に異なるルールセットを予め記憶したルールベースとを有する。機械学習エンジンは、対象データを入力し、学習モデルを用いてカテゴリを出力する。また、機械学習エンジンから出力された当該カテゴリに対応するルールセットを、ルールベースから選択するルールセット選択手段と、対象データを入力し、ルールセット選択手段によって選択された当該ルールセットを用いて推論結果を出力するルールエンジンとを有する。【選択図】図２
2018097397.tif 000002
【特許請求の範囲】
【請求項１】
入力された対象データに対する推論結果を出力するようにコンピュータを機能させるプログラムにおいて、
カテゴリ毎に分類された教師データの群によって、各カテゴリに応じた学習モデルを構築した分類型の機械学習エンジンと、
カテゴリ毎に異なるルールセットを予め記憶したルールベースと
を有し、
前記機械学習エンジンは、対象データを入力し、前記学習モデルを用いてカテゴリを出力し、
前記機械学習エンジンから出力された当該カテゴリに対応するルールセットを、前記ルールベースから選択するルールセット選択手段と、
前記対象データを入力し、前記ルールセット選択手段によって選択された当該ルールセットを用いて推論結果を出力するルールエンジンと
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
前記機械学習エンジンは、カテゴリ毎の複数のサポートベクタマシンを備えており、
前記サポートベクタマシンは、
学習段階として、担当カテゴリに属するか否かと、教師データとを入力して学習モデルを構築し、
運用段階として、対象データを入力し、前記学習モデルを用いて担当カテゴリに属するか否かを出力する
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記対象データ及び前記教師データは、テキストであり、
前記テキストから形態素の群を出力する前処理手段を更に有し、
前記対象データの形態素の群は、前記機械学習エンジン及び前記ルールエンジンの両方へ入力され、
前記教師データの形態素の群は、前記機械学習エンジンへ入力される
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記前処理手段からの前記対象データの形態素の群を入力し、異なる目的に応じた複数の中間項文を、前記対象データとして前記ルールエンジンへ出力する中間項文生成手段を更に有し、
前記ルールエンジンは、複数の中間項文を入力し、選択された前記ルールセットを用いて後向き推論に基づく推論結果を出力する
ことを特徴とする請求項３に記載のプログラム。
【請求項５】
前記中間項文生成手段は、式指向の手続型の関数プログラミングのＬＩＳＰに基づくものである
ことを特徴とする請求項４に記載のプログラム。
【請求項６】
前記対象データ及び前記教師データは、メール文章であり、
前記カテゴリは、自動配信メールか否か、ビジネスメールか否か、又は、プライベートメールか否かに基づくものである
ことを特徴とする請求項３に記載のプログラム。
【請求項７】
前記ルールエンジンは、式指向の非手続型の論理プログラミングのＰｒｏｌｏｇに基づくものである
ことを特徴とする請求項１から６のいずれか１項に記載のプログラム。
【請求項８】
前記対象データ及び前記教師データは、マルチメディアデータであり、
前記マルチメディアデータに付与されたテキスト要素の群を出力する前処理手段を更に有し、
前記対象データのテキスト要素の群は、前記機械学習エンジン及び前記ルールエンジンの両方へ入力され、
前記教師データのテキスト要素の群は、前記機械学習エンジンへ入力される
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項９】
前記対象データ及び前記教師データは、センサ種別及び計測値であり、
前記対象データのセンサ種別及び計測値の群は、前記機械学習エンジン及び前記ルールエンジンの両方へ入力され、
前記教師データのセンサ種別及び計測値の群は、前記機械学習エンジンへ入力される
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項１０】
入力された対象データに対する推論結果を出力する推論装置において、
カテゴリ毎に分類された教師データの群によって、各カテゴリに応じた学習モデルを構築した機械学習エンジンと、
カテゴリ毎に異なるルールセットを予め記憶したルールベースと
を有し、
前記機械学習エンジンは、前記対象データを入力し、前記学習モデルを用いてカテゴリを出力し、
前記機械学習エンジンから出力された当該カテゴリに対応するルールセットを、前記ルールベースから選択するルールセット選択手段と、
前記対象データを入力し、前記ルールセット選択手段によって選択された当該ルールセットを用いて推論結果を出力するルールエンジンと
を有することを特徴とする推論装置。
【請求項１１】
入力された対象データに対する推論結果を出力する装置の推論方法において、
前記装置は、
カテゴリ毎に分類された教師データの群によって、各カテゴリに応じた学習モデルを構築した機械学習エンジンと、
カテゴリ毎に異なるルールセットを予め記憶したルールベースと
を有し、
前記装置は、
前記機械学習エンジンが、前記対象データを入力し、前記学習モデルを用いてカテゴリを出力する第１のステップと、
前記機械学習エンジンから出力された当該カテゴリに対応するルールセットを、前記ルールベースから選択する第２のステップと、
前記対象データを入力し、第２のステップによって選択された当該ルールセットを用いて推論結果を出力する第３のステップと
を実行することを特徴とする推論方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推論エンジンの構成技術に関する。
【背景技術】
【０００２】
近年、ＡＩ(Artificial Intelligence)技術が様々な用途に適用されてきている。特に、サポートベクタマシンのような統計分析知能や、ニューラルネットワークのような計算知能としての機械学習エンジンが注目されてきている。これらは、大量の教師データを用いることによって統計的に処理しようとするものであって、専門的且つ論理的に判断するものではない。
【０００３】
一方で、専門的且つ論理的な判断を要する実用的用途では、エキスパートシステムのようなルール分析知能が適用されている。エキスパートシステムは、特定分野に関して予め記述されたルール（ロジック）を蓄積したルールベースと、ルールとのマッチングを繰り返す推論エンジンとからなる。ルールは、「if〜then〜」の自然言語形式で記述されたものである。エキスパートシステムによれば、例えばユーザとの対話インタフェースのような言語処理にも適している。
【０００４】
従来、エキスパートシステムとして、前向き推論及び後向き推論を統合させる技術がある（例えば特許文献１参照）。この技術によれば、ルールが存在しない場合に、後向き推論を実行し、ルールの存在を検出した場合に、前向き推論を実行させるものである。
また、if-thenルールを自己増殖型ニューラルネットワークによって学習させる技術もある（例えば特許文献２参照）。この技術によれば、if-thenルールを入力パターンとして学習し、その学習結果を用いて推論する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２８５３８１８号公報
【特許文献２】特開２００８−３０５１２９号公報
【非特許文献】
【０００６】
【非特許文献１】「日本語形態素解析システム JUMAN」、京都大学 大学院情報学研究科 知能情報学専攻 知能メディア講座 言語メディア分野、黒橋・河原研究室、[online]、［平成２８年１０月１４日］、インターネット＜URL:http://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN＞
【非特許文献２】「日本語構文・格・照応解析システム KNP」、京都大学 大学院情報学研究科 知能情報学専攻 知能メディア講座 言語メディア分野、黒橋・河原研究室、[online]、［平成２８年１０月１４日］、インターネット＜URL: http://nlp.ist.i.kyoto-u.ac.jp/index.php?KNP＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ルールベースを用いた推論エンジンによれば、多様な状況に対応するべく、１つのルールベースに大量のルールを蓄積する必要がある。これらルールは、適用される専門分野が広くなる（絞り込まれていない）ほど、多様なルールを考慮する必要があるために、そのルールの量も増大する。ルールの量の増加は、推論エンジンにおける探索時間や計算量、メモリ量の増大を招く。
同時に、大量のルールが用いられるほど、専門的且つ論理的な推論結果も曖昧なものとなる。
また、推論エンジンが、高速大容量のサーバに限られず、ユーザによって所持されるスマートフォンや、ＩｏＴ(Internet of Things)に代表される組込機器に搭載される場合、その探索時間や計算量、メモリ量をできる限り小さくすることが望まれる。
【０００８】
そこで、本発明は、様々な用途に対しても、できる限り小さいルールセット（ルール集合）を用いて推論することができる推論エンジンを有するプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によれば、入力された対象データに対する推論結果を出力するようにコンピュータを機能させるプログラムにおいて、
カテゴリ毎に分類された教師データの群によって、各カテゴリに応じた学習モデルを構築した分類型の機械学習エンジンと、
カテゴリ毎に異なるルールセットを予め記憶したルールベースと
を有し、
機械学習エンジンは、対象データを入力し、学習モデルを用いてカテゴリを出力し、
機械学習エンジンから出力された当該カテゴリに対応するルールセットを、ルールベースから選択するルールセット選択手段と、
対象データを入力し、ルールセット選択手段によって選択された当該ルールセットを用いて推論結果を出力するルールエンジンと
してコンピュータを機能させることを特徴とする。
【００１０】
本発明のプログラムにおける他の実施形態によれば、
機械学習エンジンは、カテゴリ毎の複数のサポートベクタマシンを備えており、
サポートベクタマシンは、
学習段階として、担当カテゴリに属するか否かと、教師データとを入力して学習モデルを構築し、
運用段階として、対象データを入力し、学習モデルを用いて担当カテゴリに属するか否かを出力する
ようにコンピュータを機能させることも好ましい。
【００１１】
本発明のプログラムにおける他の実施形態によれば、
対象データ及び教師データは、テキストであり、
テキストから形態素の群を出力する前処理手段を更に有し、
対象データの形態素の群は、機械学習エンジン及びルールエンジンの両方へ入力され、
教師データの形態素の群は、機械学習エンジンへ入力される
ようにコンピュータを機能させることも好ましい。
【００１２】
本発明のプログラムにおける他の実施形態によれば、
前処理手段からの対象データの形態素の群を入力し、異なる目的に応じた複数の中間項文を、対象データとしてルールエンジンへ出力する中間項文生成手段を更に有し、
ルールエンジンは、複数の中間項文を入力し、選択されたルールセットを用いて後向き推論に基づく推論結果を出力することも好ましい。
【００１３】
本発明のプログラムにおける他の実施形態によれば、
中間項文生成手段は、式指向の手続型の関数プログラミングのＬＩＳＰに基づくものであることも好ましい。
【００１４】
本発明のプログラムにおける他の実施形態によれば、
対象データ及び教師データは、メール文章であり、
カテゴリは、自動配信メールか否か、ビジネスメールか否か、又は、プライベートメールか否かに基づくものであることも好ましい。
【００１５】
本発明のプログラムにおける他の実施形態によれば、
ルールエンジンは、式指向の非手続型の論理プログラミングのＰｒｏｌｏｇに基づくものであることも好ましい。
【００１６】
本発明のプログラムにおける他の実施形態によれば、
対象データ及び教師データは、マルチメディアデータであり、
マルチメディアデータに付与されたテキスト要素の群を出力する前処理手段を更に有し、
対象データのテキスト要素の群は、機械学習エンジン及びルールエンジンの両方へ入力され、
教師データのテキスト要素の群は、機械学習エンジンへ入力される
ようにコンピュータを機能させることも好ましい。
【００１７】
本発明のプログラムにおける他の実施形態によれば、
対象データ及び教師データは、センサ種別及び計測値であり、
対象データのセンサ種別及び計測値の群は、機械学習エンジン及びルールエンジンの両方へ入力され、
教師データのセンサ種別及び計測値の群は、機械学習エンジンへ入力される
ようにコンピュータを機能させることも好ましい。
【００１８】
本発明によれば、入力された対象データに対する推論結果を出力する推論装置において、
カテゴリ毎に分類された教師データの群によって、各カテゴリに応じた学習モデルを構築した機械学習エンジンと、
カテゴリ毎に異なるルールセットを予め記憶したルールベースと
を有し、
機械学習エンジンは、対象データを入力し、学習モデルを用いてカテゴリを出力し、
機械学習エンジンから出力された当該カテゴリに対応するルールセットを、ルールベースから選択するルールセット選択手段と、
対象データを入力し、ルールセット選択手段によって選択された当該ルールセットを用いて推論結果を出力するルールエンジンと
を有することを特徴とする。
【００１９】
本発明によれば、入力された対象データに対する推論結果を出力する装置の推論方法において、
装置は、
カテゴリ毎に分類された教師データの群によって、各カテゴリに応じた学習モデルを構築した機械学習エンジンと、
カテゴリ毎に異なるルールセットを予め記憶したルールベースと
を有し、
装置は、
機械学習エンジンが、対象データを入力し、学習モデルを用いてカテゴリを出力する第１のステップと、
機械学習エンジンから出力された当該カテゴリに対応するルールセットを、ルールベースから選択する第２のステップと、
対象データを入力し、第２のステップによって選択された当該ルールセットを用いて推論結果を出力する第３のステップと
を実行することを特徴とする。
【発明の効果】
【００２０】
本発明のプログラム、装置及び方法によれば、様々な用途に対しても、できる限り小さいルールセットを用いて推論することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明のシステム構成図である。
【図２】本発明のプログラムにおける学習段階の機能構成図である。
【図３】機械学習エンジン内で抽出される特徴パラメータを表す説明図である。
【図４】本発明のプログラムにおける運用段階の機能構成図である。
【図５】ビジネスメールに対する機能構成の処理の流れを表す説明図である。
【図６】プライベートメールに対する機能構成の処理の流れを表す説明図である。
【図７】ルールエンジンから出力されたコマンドを表す説明図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２３】
図１は、本発明のシステム構成図である。
【００２４】
本発明の推論機能としてのプログラムは、入力された対象データに対する推論結果を出力するものであって、推論装置に搭載されたコンピュータを機能させるものである。図１によれば、本発明のプログラムは、ユーザが所持する端末１に搭載されている。端末１は、例えば、ユーザに基づくメールソフトをインストールしており、様々なメールを受信することができる。メールのカテゴリとしては、例えばビジネスメールもあれば、プライベートメールもあり、メルマガのような自動配信メールもある。これら受信したメールの内容を適切に推論することができれば、自動的に様々なアクションをとることができる。
【００２５】
例えばメール自動配信サーバから受信したメールに対しては、ユーザ自身も自動的に応答メールを返信することもできる。
また、ユーザに対してアポイントを要求するようなメール内容に対しては、ユーザのスケジューラに自動的に登録することもできる。
更に、ユーザに対してビジネスで重要なメール内容に対しては、ユーザにアラートを通知することもできる。
更に、ユーザにとって重要情報を通知するメール内容に対しては、自動的にデータベースに登録することもできる。
このように、メール内容を推論することができれば、様々な用途に利用することができる。
【００２６】
本発明によれば、以下の２つの段階を要する。
＜学習段階＞教師データを入力し、学習モデルを構築する。
（教師データには、対象データ及びカテゴリが対応付けられている）
＜運用段階＞対象データを入力し、学習モデルを用いてカテゴリを出力する。
【００２７】
本発明の実施形態としては、メール文章をとしての対象データを入力し、その対象データから推論されたアクションをアプリケーションへ出力するものである。また、メール文章としては、ビジネスメールとプライベートメールとが混在しているとする。この場合、本発明によれば、対象データに対してビジネスメール用か又はプライベート用かを判定し、その判定に応じて異なるルールセットを用いてアクションを推論する。
【００２８】
＜学習段階＞
図２は、本発明のプログラムにおける学習段階の機能構成図である。
【００２９】
図２によれば、推論装置１は、学習段階では、教師データ群を入力する前処理部１１と、機械学習エンジン１２とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置の学習方法としても理解できる。
【００３０】
［前処理部１１］
前処理部１１は、教師データに対する前処理を実行する。教師データとしては、例えば以下のような場合がある。
（テキスト）例えばメール文章
（マルチメディアデータ）例えばテキスト要素が付加されている画像や映像
（センサ計測値）例えばスマートフォンに搭載されているセンサによって計測された、センサ種別及び計測値
【００３１】
前処理部１１は、教師データがテキストである場合、テキストから形態素の群を出力する。前処理部１１は、文章毎に、形態素解析によって形態素に区分する。形態素解析とは、文法及び単語辞書を情報源として用いて、自然言語で書かれた文を言語として意味を持つ最小単位である形態素(Morpheme)に分割する技術をいう。また、形態毎の品詞も判別して蓄積する。
そして、前処理部１１は、教師データのテキストに基づく形態素の群を、機械学習エンジン１２へ出力する。
【００３２】
前処理部１１は、具体的には京都大学で開発されたフリーソフトを用いる。これは、形態素解析にはＪＵＭＡＮを用い（例えば非特許文献１参照)、構文解析にＫＮＰを用いる（例えば非特許文献２参照）。例えばmbox形式のメールについて、１文ずつ、ＪＵＭＡＮ及びＫＮＰによって解析し、その解析結果をＳ式(Symbol-expression)で出力する。Ｓ式とは、２分木又はリスト構造の形式的な記述方式であり、一般にＬＩＳＰで用いられる。
【００３３】
前処理部１１は、教師データがマルチメディアデータである場合、マルチメディアデータに付与されたテキスト要素の群を、機械学習エンジン１２へ出力する。
また、前処理部１１は、教師データがセンサ計測値である場合、センサ種別及び計測値の群を、機械学習エンジン１２へ出力する。
【００３４】
［機械学習エンジン１２］
機械学習エンジン１２は、カテゴリ毎に分類された教師データの群によって、各カテゴリに応じた学習モデルを構築した分類型のものである。
【００３５】
ここで、機械学習エンジンは、カテゴリ毎の複数のサポートベクタマシンであってもよい。「サポートベクタマシン(Support Vector Machine)」は、教師有り学習を用いるパターン認識モデルであって、分類型のものである。サポートベクタマシンは、線形入力素子を用いて２クラスのパターン識別器を構成するものであって、教師データ毎に各特徴値との距離を算出することによって、線形入力素子のパラメータを学習する。サポートベクタマシンによれば、未学習データに対して高い識別性能を得ることができるが、教師データの信頼性がそのまま学習結果の信頼性に影響する。
【００３６】
例えば、ビジネスメールとプライベートメールとを、サポートベクタマシンによって分類したいとする。
この場合、教師データとしては、ビジネスメールのメール文章及びカテゴリ識別子と、プライベートメールのメール文章及びカテゴリ識別子とを入力する。カテゴリ識別子は、ビジネスメールかプライベートメールかを表す識別子である。
これに対し、機械学習エンジン１２としてのサポートベクタマシンも、ビジネスメール用の第１のサポートベクタマシンと、プライベートメール用の第２のサポートベクタマシンとを有する。そして、第１のサポートベクタマシンには、ビジネスメールのメール文章が入力され、第１の学習モデルを構築する。同様に、第２のサポートベクタマシンには、プライベートメールのメール文章が入力され、第２の学習モデルを構築する。
これによって、第１の機械学習エンジンは、ビジネスメールか否かを分類することができ、第２の機械学習エンジンは、プライベートメールか否かを分類することができる。
また、サポートベクタマシンは、正否を分類する際に、その信頼度を出力することもできる。そのために、複数のサポートベクタマシンからの出力の中で、最も信頼度が高いカテゴリ識別子を選択することができる。
【００３７】
図３は、機械学習エンジン内で抽出される特徴パラメータを表す説明図である。
【００３８】
サポートベクタマシンは、教師データのテキストから抽出可能な特徴パラメータを用いて、学習するものであってもよい。図３によれば、例えば１８８次元のベクトルとしての特徴パラメータが抽出されている。
【００３９】
＜運用段階＞
図４は、本発明のプログラムにおける運用段階の機能構成図である。
図５は、ビジネスメールに対する機能構成の処理の流れを表す説明図である。
図６は、プライベートメールに対する機能構成の処理の流れを表す説明図である。
【００４０】
図４によれば、推論装置１は、運用段階では、ルールベース１０と、前処理部１１と、機械学習エンジン１２と、ルールセット選択部１３と、中間項文生成部１４と、ルールエンジン１５とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置の推論方法としても理解できる。
【００４１】
［前処理部１１］
運用段階の前処理部１１も、対象データに対する前処理を実行するものであって、前述した学習段階の前処理部１１と同様に機能する。
前処理部１１によって抽出された要素の群は、機械学習エンジン１２及びルールエンジン１５の両方へ出力される。
図５によれば、前処理部１１には、対象データとして、１０時からの会議を予定するメールが入力されている。
また、図６によれば、前処理部１１に、対象データとして、プライベートの内容のメールが入力されている。
【００４２】
［機械学習エンジン１２］
運用段階の機械学習エンジン１２は、前述した学習段階の機械学習エンジン１２によって構築された学習モデルを組み込んだものである。運用段階の機械学習エンジン１２は、対象データを入力し、学習モデルを用いてカテゴリを出力する。
【００４３】
図５によれば、機械学習エンジン１２は、前処理部１１から出力されたビジネスメールの形態素群を入力し、カテゴリ「ビジネス」か否か、「プライベート」か否かが出力される。サポートベクタマシンは、カテゴリの信頼度も出力する。図５によれば、カテゴリ「ビジネス」の信頼度０．９８であり、カテゴリ「プライベート」の信頼度０．５７である。ここでは、カテゴリ「ビジネス」が、ルールセット選択部１３へ出力される。
【００４４】
図６によれば、機械学習エンジン１２は、前処理部１１から出力されたプライベートメールの形態素群を入力し、カテゴリ「ビジネス」か否か、「プライベート」か否かが出力される。図６によれば、カテゴリ「プライベート」の信頼度０．９８であり、カテゴリ「ビジネス」の信頼度０．２１である。ここでは、カテゴリ「プライベート」が、ルールセット選択部１３へ出力される。
【００４５】
［ルールベース１０］
ルールベース１０は、カテゴリ毎に異なるルールセットを予め記憶したものである。ルールセットとは、問題解決のための知識(knowledge)として、以下のようなプロダクションルールの集合をいう。
「if  条件  then  結論」
また、図５及び図６によれば、ルールベース１０は、ビジネスメール用のルールセットと、プライベートメール用のルールセットとを有するものとする。
【００４６】
［ルールセット選択部１３］
ルールセット選択部１３は、機械学習エンジン１２から出力された当該カテゴリに対応するルールセットを、ルールベース１０から選択する。
図５及び図６によれば、具体的には、ルールセット選択部１３は、機械学習エンジン１２によってカテゴリ「ビジネス」と判定された場合、ルールベース１０から「ビジネス」用のルールセットを選択する。
また、ルールセット選択部１３は、機械学習エンジン１２によってカテゴリ「プライベート」と判定された場合、ルールベース１０から「プライベート」用のルールセットを選択する。
このように、機械学習エンジン１２から出力されたカテゴリに応じて、ルールベース１０のルールセットを切り替える。
【００４７】
［中間項文生成部１４］
中間項文生成部１４は、前処理部１１からの対象データの形態素の群を入力し、異なる目的に応じた複数の中間項文（又は中間ゴール）を、対象データとしてルールエンジン１５へ出力する。
【００４８】
中間項文生成部１４は、具体的には、式指向の手続型の関数プログラミングのＬＩＳＰに基づくものである。
図４によれば、ビジネスメールの中間項文の例が表されている。
図５によれば、プライベートメールの中間項文が表されている。
【００４９】
中間項文は、前処理部１１から出力された形態素の群に対して、パターンマッチングによって生成された項文である。例えば、各単語に付与された品詞に基づいて、主語(S)、述語(V)、補語(C)、目的語(O)などを推論し、SVO, SVC, SVOO, SVOC等に相当する形式にマッチングさせて、中間項文を生成する。主に、メール文章内に出現する重要単語などに注目して、中間項文が生成される。具体的には、メール毎に、そのヘッダや本文（例えば「通信メタ情報」と称される）をリストにする。
【００５０】
［ルールエンジン１５］
ルールエンジン１５は、対象データを入力し、ルールセット選択部１３によって選択された当該ルールセットを用いて推論結果を出力する。ルールエンジン１５は、具体的には、式指向の非手続型の論理プログラミングのＰｒｏｌｏｇに基づくものである
【００５１】
ルールエンジン１５は、複数の中間項文を入力し、選択されたルールセットを用いて後向き推論(backward chaining)に基づく推論結果を出力する。
「後向き推論」とは、原因と結果が仮定されている事象について、その結果が原因から導き出されるか否かを、結果から遡って成立条件（アサーション）や推論規則（ルール）を見出す技術をいう。後向き推論によれば、まず結果（結論）について第１の成立条件を抽出し、次に第１の成立条件について第２の成立条件が抽出される。これを繰り返し最終的に抽出された成立条件が仮定された原因と一致するならば、仮定された原因は正しいと推論する。逆に、成立条件や推論規則が途中で見出されなくなった場合には、仮定された原因は誤りであると推論する。
【００５２】
アサーションは、ワーキングメモリ(working memory)に保存され、適宜、選択されたルールセットの各ルールをマッチングしていく。ルールエンジン１５は、アサーションに対してルールのif（条件）をマッチングさせて、一致したifに対するthen（結論）がトリガ(triggered)され、トリガされた複数のルールの集合から新たにルールが発火(fired)し、ルールがアサーションとしてワーキングメモリに保存される。これを繰り返す。
【００５３】
前述した図４〜図６によれば、中間項文生成部１４（ＬＩＳＰエンジン）と、ルールエンジン（Ｐｒｏｌｏｇエンジン）とによって、ダブル記号推論エンジンとして機能している。これに加えて、本発明によれば、ダブル記号推論エンジンと、機械学習エンジン（サポートベクタマシン）とからなるハイブリッド推論エンジンとして機能する。
【００５４】
図７は、ルールエンジンから出力されたコマンドを表す説明図である。
【００５５】
図７によれば、ルールエンジン１５は、ビジネスメールから推論された会議の日時を、スケジューラに自動的に登録すべきコマンドを出力している。ここでは、ビジネスメールに適したルールセットを用いて推論されている。
ルールエンジン１５は、様々な用途のメール文章であっても、カテゴリに応じたルールセットで推論することができる。ルールセットによっては、メール内容によって、相手から見た自分に対する好感度を推論することもできる。また、メール内容から直接的に読み取ることができない情報を推論することもできる。
【００５６】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、様々な用途に対しても、できる限り小さいルール集合を用いて推論することができる推論エンジンを有することができる。
【００５７】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００５８】
１  端末、推論装置
１０  ルールベース
１１  前処理部
１２  機械学習エンジン
１３  ルールセット選択部
１４  中間項文生成部
１５  ルールエンジン
【図１】
2018097397.tif 000003
【図２】
2018097397.tif 000004
【図３】
2018097397.tif 000005
【図４】
2018097397.tif 000006
【図５】
2018097397.tif 000007
【図６】
2018097397.tif 000008
【図７】
2018097397.tif 000009