【问题标题】:Retail knowledge inference零售知识推理
【发布时间】:2010-01-19 14:44:04
【问题描述】:

所以我正在研究如何从报告中推断知识(不是特定格式),但经过预处理后,我应该有某种格式化数据。

一个相当基本的推论是: “零售商有 X 库存。”和“X 是可售的”。 -> “零售商卖 X” 我关注的知识是面向零售领域的,如果可能的话,我应该在每次迭代中提高它的效率。

这是科幻吗(我的一些朋友认为是)?我在网上找到的相关内容是发现异常的“专家系统”、模糊推理系统和一些关于“简单知识”的咆哮。

您能帮我提供一些要点,让我可以集中精力或引导我研究一些研究方向吗?

蓝色系

【问题讨论】:

    标签: data-mining inference


    【解决方案1】:

    您当然不是在谈论“科幻”,但很多内容超出了软件工程师通常接触的标准内容。在过去的八年里,我构建并使用规则引擎对零售领域的半结构化数据进行推理。

    对数据进行推理是一个成熟的领域。这个领域基本上有四类问题:

    • 知识获取(从人们的头脑中获取规则并进入代码/规则)
    • 知识表示“KR”(如何表示您的数据和规则)
    • 高效的模式匹配(匹配 一个规则形成一个大的规则集 大量事实/数据)
    • 推理/推理(从规则匹配中进一步得出结论,即规则触发更多规则)

    对于知识获取,请查看: Ripple Down Rules 和决策树,它们有很长的路要走,而且很容易理解。 或者,广阔的领域Machine Learning 提供了多种从数据中派生模型的方法。

    对于知识表示,请查看 RDFOwl,以及较小程度的 Conceptual Graphs。在表现力上,RDF & CG 大致相当。两者背后的基本概念是数据的序列化独立图(三元组)表示。

    对于模式匹配,经典算法是 Rete,作者是 Charles Forgy。

    对于推理,有两种典型的策略:Forward chainingbackward chaining。前向链接是通过这样的规则集完成的:

    数据设置:

     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。请注意,推理有很多陷阱,尤其是在non-monotonic reasoning 之类的事情上(不仅仅是添加事实,而是更改或删除事实,可能会导致推理中的矛盾或循环)。

    进行某种推理的一种简单而幼稚的方法是使用数据库并使用连接来匹配事实(陈述)。这对于某些应用程序可能已经足够了。在推理方面,很容易陷入一个复杂且技术不完善的世界。把事情简单化。

    【讨论】:

      【解决方案2】:

      你写的东西让我想起了“规则”。像这样的规则(变量都是名义的)是所谓的association rule mining 的结果。也许这种方法是您应该考虑的方法之一。

      您可以使用开源机器学习软件Weka,或者如果您更喜欢R environment,那么rattle gui 可能会派上用场。

      【讨论】:

        猜你喜欢
        • 2022-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-08
        • 2012-12-22
        • 1970-01-01
        • 2018-08-21
        相关资源
        最近更新 更多