BI 和 AI 有什么区别?
BI 和 AI 中都有个 I,对应的英文单词都是 Intelligence,看起来是同一个意思。
其实不然,即使我们只限定商业决策领域中讨论问题,BI 和 AI 中的 I 也有很大的不同。
广义地来看,根据数据来辅助商业决策的事务都可以叫 BI,那么 BI 可以说是包括 AI 的。BI 是目的,AI 是手段,BI 可以用 AI 的手段实现,也可以用其它手段实现,从这个意义上讲,BI 的 I 将大于 AI 的 I。
但是,BI 这个词现在已经被严重狭义化了。我们说的 BI,常常是指对数据做交互式的多维分析。也就是从各个维度看统计值,有旋转、切片、钻取这些常规动作,人们在交互过程中可能试图看出业务经营中的问题。比如某个产品销售额较大,那么钻取下看看到底是哪个地区或哪种销售方式造成的,继而得到背后的业务规律加以运用推广。
坦白地说,这种 BI 在技术上很简单,所用到的数学知识不超过初中,基本上都是加法,只是有很多条件。一般业务用户都能理解,而所有数据库工程师都会实施。BI 产品的界面常常比较花哨,好产品的使用都很流畅,但并没有多少技术含量(也就是难度),只要花工夫就能做细致(有不少繁度)。BI 的技术难度并不在界面端,而主要在于数据量特别大时后台如何能做到高速响应,毕竟 BI 是个交互操作的场景,动作一下几分钟才响应就没法用了。
AI 就不一样了,涉及商业决策领域的主要是建模预测这些事,也就是利用历史数据来预测某些事件的发生概率(不要想到炒股票了,现在没有公开成熟的 AI 技术能持续地预测股票走势)。比如银行可以预测贷款客户的违约概率来决定是否发放贷款及贷款利率,商户可以知道将某几款产品打包销售时是否能增加用户的购买概率来决定推销手段,…。显然这些信息对商业经营都有很重要的意义。
完成这些事务,需要工程师拥有丰富的统计学知识,熟悉机器学习的各种算法,这个技术含量就很高了,能真正掌握的人并不多。现在有很多开源包可以做建模预测,普通程序员也能用起来,但是如果不懂算法只是简单地使用开源包,建出来的模型常常很差,还不知道为什么,也无从改进。因为一个好模型需要很多数据预处理和模型选择工作,各种算法也有大量参数要设置,有些人连正态分布是什么东西都不清楚,当然没办法建出好模型了。
甚至,对于仅是使用这些模型的业务用户,想评估这些建模预测的效果,也需要学习不少知识概念,否则就是看都看不懂。AI 对于工程师和用户都不是个门槛很低的事情。
所以,AI 和狭义的 BI 完全不是一回事,这两个 I 相去甚远。BI 的 I 是个难度不高的 IT 技术问题(特别是前端),AI 的 I 则是需要积累 N 年的数学问题。
多年前业界有个著名的啤酒尿布故事,就是把啤酒和尿布放在一起能增大销售额,这是 SAS 公司编的故事,但经常却被 BI 厂商拿着说事。其实 BI 那个多维分析界面不可能发现这种规律。
现在也有些 BI 厂商在自己的产品上增加 AI 功能,也就是弄些开源包加上,这种情况基本可以认定是噱头。因为如果这个厂商能把 AI 做好,这个门槛本身足够高,那完全可以独立发展一个产品,没必要挂在一个低门槛的 BI 产品上。
顺便说一句乾学院上 BI 和 AI 相关的免费技术课程,扫这个码就可以,可以对这两样技术有更深的理解。
https://www.raqsoft.com.cn/wx/course-data-mining.html
https://www.raqsoft.com.cn/wx/course-Business-Intelligence.html
把 AI 的范围再扩展一些,不只是限于商业决策领域的话,比如现在时髦的生成式 AI,倒是会和 BI 产生些关联。现代狭义 BI 的目标是让业务人员能分析数据,采用的方法是流畅的可视化界面,如果利用生成式 AI 技术,能够让机器直接将人类的语言文字转换成数据的计算,这样就可以进一步降低应用门槛了。
但目前的技术还很难做到,企业应用的数据结构常常很复杂,不太可能简单地放到 GPT 的 prompt 里面(远远超过它的长度),而再做 fine-tune 的成本也比较高,关键是缺少素材。另一方面,SQL 的语法结构也只适合对付单表的查询,多表之间的关联不唯一时就会有很严重的歧义,AI 也不知道该如何匹配。
目前 SPL 团队正在研究这个问题,利用 DQL 技术可以解决 SQL 的关联歧义,再利用 GPT 技术将自然语言分层,配合 SPL 本身对数据结构的深刻理解,就可能做出正确且足够复杂的自然语言查询。目前我们已经实现了基本的汉语查询能力,英语正在研发中。
英文版