Loading

「NLP」专家系统

Two Main Branches of Learning

学习系统的两个方向:

  • 专家系统:符号主义,基于规则来实现,目前仍然有在使用。适合数据量很少甚至没有的时候。

  • 基于概率统计的系统:连接主义,基于学习的方式来实现,比如机器学习,深度学习。适合拥有大量数据的情况。

虽然目前最火的是基于概率统计的系统,但是专家系统也依然发挥着作用。

Expert Systems

利用知识和推理来解决决策问题(Decision Making Problem)。

专家系统 = 推理引擎 + 知识

AI系统 vs BI系统

  • BI系统:对大量的数据进行处理,进行可视化展示,辅助用户进行决策;

  • AI系统:帮助用户进行决策。

Expert System's Working Flow

接下来结合一个实际案例,了解一下搭建一个专家系统整个流程。

任务:搭建金融知识图谱
目的:风控

Properties of Expert Systems

专家系统的特性:

  • 处理不确定性,只要是AI系统都可以处理不确定性
  • 知识的表示,比如知识图谱,可以理解为把非结构化的数据用结构化的形式表示
  • 可解释性,因为专家系统是基于规则的,所以有可解释性这个非常大的优点
  • 可以做知识推理

Logical Inference

推理引擎的作用是能够扩充我们搭建好的知识库。

接下来通过一个例子讲解逻辑推理的两个简单算法:

例子中有4条已知的事实,以及一个问题。

专家系统里的推理引擎用到了大量离散数学的相关知识。

Forward Chaining Algorithm

Forward Chaining Algorithm通过不断的循环,一步一步地添加事实,直到推理出结果,则循环结束。

Backward Chaining Algorithm

Backward Chaining Algorithm采用倒推法,从结果求出对应的条件,然后再把求出的条件作为新的结果,以此类推,直到所有结果都是已知的,即推理完毕。

Drawbacks of Expert Systems

专家系统的缺点:

  • 设计大量的规则(Design Lots of Rules)
  • 需要领域专家来主导(Heavily Reply on Domain Expert)
  • 可移植性差(Limited Transferability to other Domain)
  • 学习能力差(Inability to Learn)
  • 人能考虑的范围是有限的(Human Capacity is Limited)

Case Study: Risk Control

问题:根据用户的信息,决定要不要放贷。

基于专家系统的思路,要搭建一个风控系统就需要搭建一个规则引擎(rule engine):

1. if age < 18: -1
2. if wage < 3000: -2
3. if expense < 100: -4
......

通过提前写好的一条条规则,然后根据用户的个人信息,计算其信用分,比如\(8 \lt 10(threshold)\),那么就可以拒绝其贷款。

Some Interesting Problems to Consider

在搭建一个专家系统的时候可能会遇到的一些问题:

  • 逻辑推理(Logical Inference)

  • 解决规则冲突(Conflict Resolution)

    解决规则冲突可以采用推理的方法,把不冲突的规则作为事实(facts),把冲突的规则作为需要证明的(to prove),然后通过推理的方法看最后是得出了相同的结论或者是相反的结论,以此来解决冲突。

  • 选择最小规则的子集(Minimum Size of Rules)

    如何找到冗余的规则并进行删除?

    比如贪心算法:分别把一条一条规则删掉,然后看对整个系统的影响大不大,影响不大的则可以删除。

解一个难题的思路

在AI领域中,很多问题可能都是第一次遇到的,所以掌握解决难题的思路,远比掌握解决问题的方法更重要。

  1. 找到一个类似的“经典的”问题

    i.e. minimun size of rule set ~ "Set Cover Problem"

  2. read papers (about set cover problem)

    通过学习其他人研究类似问题的思路,获得解决自己遇到的问题的思路。

posted @ 2021-12-29 11:57  活用数据  阅读(366)  评论(0编辑  收藏  举报