0

だから私はレポートから知識を推測する方法について研究しています(特定の形式ではありません)が、前処理の後、何らかの形式のデータが必要です。

かなり基本的な推論は、「小売業者は X 株を持っている」です。および「X は販売可能」です。-> 「小売業者が X を販売する」私が焦点を当てている知識は小売分野向けであり、可能であれば反復ごとにその効率を改善する必要があります。

これはSFですか?私がオンラインで見つけた関連するものは、異常、ファジー推論システム、および「簡単な知識」についてのいくつかの暴言を見つける「エキスパートシステム」です。

いくつかの研究の方向性に焦点を当てたり方向付けたりするためのポイントを教えてもらえますか?

ブルーオメガ

4

2 に答える 2

2

あなたは確かに「サイエンスフィクション」について話しているのではありませんが、ソフトウェアエンジニアが通常さらされている標準的なものから多くのことが外れています。私は過去8年間、ルールエンジンを構築して使用し、小売業界の半構造化データを推論しました。

データに対して推論を行うことは、十分に確立された分野です。このフィールドに関連する問題には、基本的に4つのクラスがあります。

  • 知識の習得(人々の頭からルールをコード/ルールに取り入れること)
  • 知識表現「KR」(データとルールを表現する方法)
  • 効率的なパターンマッチング(多数のファクト/データに対して大きなルールセットを形成するルールのマッチング)
  • 推論/推論(ルールの一致からさらに結論を引き出す、つまりルールがより多くのルールをトリガーする)

知識の習得については、次を参照してください。 リップルダウンルールとディシジョンツリーは、長い道のりを進み、理解しやすいものです。あるいは、広大なフィールドの機械学習は、データからモデルを導出するためのさまざまなアプローチを提供します。

知識表現については、RDFOwl、および程度は低いが概念グラフを参照してください。表現力という点では、RDFとCGはほぼ同等です。両方の背後にある基本的な概念は、データのシリアル化に依存しないグラフ(トリプル)表現です。

パターンマッチングの場合、古典的なアルゴリズムはCharlesForgyによるReteです。

推論には、前向き連鎖後向き連鎖の2つの典型的な戦略があります。前向き連鎖は、次のようなルールセットを介して行われます。

データ設定:

 Rule 1:  If A Then B
 Rule 2:  If B Then C

 Facts:  A

実行:

Do {
     Newfacts = Eval(RuleSet, Facts)
     Facts = Facts + Newfacts
} while (NewFacts.Count > 0)

データAをこの小さなアルゴリズムにフィードすると、ルールベースのおかげで、データからファクトCを「推測」(発見)できます。特に非単調推論(事実を追加するだけでなく、事実を変更または削除し、推論に矛盾やループを引き起こす可能性がある)などの周りには、推論に関する多くの落とし穴があることに注意してください。

ある種の推論を行うための単純で素朴な方法は、データベースを使用し、結合を使用してファクト(ステートメント)を照合することです。一部のアプリケーションでは、これで十分な場合があります。推論に関しては、複雑なテクノロジーやそれほど存在しないテクノロジーの世界に夢中になりがちです。単純にする。

于 2010-05-04T08:43:48.823 に答える
1

あなたが書いたことは、私に「ルール」を思い出させます。このようなルール (変数はすべて名義) は、アソシエーション ルール マイニングと呼ばれるものの結果です。おそらく、このアプローチは検討すべきものの 1 つです。

オープンソースの機械学習ソフトウェアWekaを使用することもできますが、 R 環境を好む場合は、rattle guiが役立つ場合があります。

于 2010-01-22T15:22:47.743 に答える