前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >《Drools7.0.0.Final规则引擎教程》第1章 Drools简介

《Drools7.0.0.Final规则引擎教程》第1章 Drools简介

作者头像
程序新视界
发布于 2018-01-08 07:00:29
发布于 2018-01-08 07:00:29
9.3K0
举报
文章被收录于专栏:丑胖侠丑胖侠

1.1 什么是规则引擎

规则引擎是由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。

大多数规则引擎都支持规则的次序和规则冲突检验,支持简单脚本语言的规则实现,支持通用开发语言的嵌入开发。目前业内有多个规则引擎可供使用,其中包括商业和开放源码选择。开源的代表是Drools,商业的代表是Visual Rules ,I Log。

1.2 Drools规则引擎

Drools(JBoss Rules )具有一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。业务分析师或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。

JBoss Rules的前身是Codehaus的一个开源项目叫Drools。现在被纳入JBoss 门下,更名为JBoss Rules,成为了JBoss应用服务器的规则引擎。

Drools是为Java量身定制的基于Charles Forgy的RETE算法的规则引擎的实现。具有了OO接口的RETE,使得商业规则有了更自然的表达。

1.3 Drools使用概览

Drools是Java编写的一款开源规则引擎,实现了Rete算法对所编写的规则求值,支持声明方式表达业务逻辑。使用DSL(Domain Specific Language)语言来编写业务规则,使得规则通俗易懂,便于学习理解。支持Java代码直接嵌入到规则文件中。

Drools主要分为两个部分:一是Drools规则,二是Drools规则的解释执行。规则的编译与运行要通过Drools 提供的相关API 来实现。而这些API 总体上游可分为三类:规则编译、规则收集和规则的执行。

Drools是业务规则管理系统(BRMS)解决方案,涉及以下项目:

  • Drools Workbench:业务规则管理系统
  • Drools Expert:业务规则引擎
  • Drools Fusion:事件处理
  • jBPM:工作流引擎
  • OptaPlanner:规划引擎

1.4 Drools版本信息

目前Drools发布的最新版本为7.0.0.Final,其他版本正在研发过程中。官方表示后续版本会加快迭代速度。本系列也是基于此版本进行讲解。

从Drools6.x到7版本发生重大的变化项:

  • @PropertyReactive不需要再配置,在Drools7中作为默认配置项。同时向下兼容。
  • Drools6版本中执行sum方法计算结果数据类型问题修正。
  • 重命名TimedRuleExecutionOption。
  • 重命名和统一配置文件。

Drools7新功能: (1)支持多线程执行规则引擎,默认为开启,处于试验阶段。 (2)OOPath改进,处于试验阶段。 (3)OOPath Maven 插件支持。 (4)事件的软过期。 (5)规则单元RuleUnit。

1.5 JDK版本及IDE

从Drools6.4.0开始已经支持JAVA8,最低版本JDK1.5。可通过Eclipse插件进行集成,也可通过Intellij IDEA中插件进行集成开发。Drools提供了一个Eclipse的集成版本,不过它核心依赖于JDK1.5。 关键Eclipse的集成官方有详细的文档可参考,这里不再赘述。本系列后续项目及示例演示均采用JAVA8和Intellij IDEA。

1.6 官方资料

官网地址:http://www.drools.org/ 官方最新文档:https://docs.jboss.org/drools/release/7.0.0.Final/drools-docs/html_single/index.html

关于

你的支持是我努力的最大动力!此系列课程正在持续更新中,相关讨论QQ(593177274)已经建立,欢迎大家加入讨论。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-07-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Transformer结构及其应用详解——GPT、BERT、MT-DNN、GPT-2
为了缓解传递间的梯度和遗忘问题,设计了各种各样的RNN cell,最著名的两个就是LSTM和GRU了
新智元
2023/08/05
7250
Transformer结构及其应用详解——GPT、BERT、MT-DNN、GPT-2
【NLP】从word2vec, ELMo到BERT
还记得不久之前的机器阅读理解领域,微软和阿里在SQuAD上分别以R-Net+和SLQA超过人类,百度在MS MARCO上凭借V-Net霸榜并在BLEU上超过人类。这些网络可以说一个比一个复杂,似乎“如何设计出一个更work的task-specific的网络"变成了NLP领域政治正确的研究方向。而在这种风向下,不管word2vec也好,glove也好,fasttext也好,都只能充当一个锦上添花的作用。说好的迁移学习、预训练呢?在NLP似乎始终没成主角。
yuquanle
2020/02/21
9250
通俗讲解从Transformer到BERT模型!
在学会 Transformer 和 Bert 之前,我们需要理解Attention和Self-Attention机制。Attention的本质是要找到输入的feature的权重分布,这个feature在某一个维度有一个长度的概念,如果我们输入一个长为 n 的 feature,那么 Attention 就要学习一个长为 n 的分布权重,这个权重是由相似度计算出来的,最后返回的得分就将会是权重与feature的加权和。
Datawhale
2020/08/28
1.8K0
通俗讲解从Transformer到BERT模型!
NLP大魔王 · BERT 全解读
BERT(Bidirectional Encoder Representations from Transformers)来自谷歌人工智能语言研究人员发表的论文
NewBeeNLP
2022/04/14
7930
NLP大魔王 · BERT 全解读
【NLP】XLNet详解
BERT本身很有效,但它也存在一些问题,比如不能用于生成、以及训练数据和测试数据的不一致(Discrepancy)。在本文中,我们重点介绍比BERT更强大的预训练模型XLNet,它为了达到真正的双向学习,采用了Permutation语言模型、以及使用了双流自注意力机制,并结合了Transformer-XL的相对位置编码。
yuquanle
2020/03/13
1.3K0
机器学习|7种经典预训练模型原理解析
目前无论在CV领域还是NLP领域,预训练都是一个很普遍和普适的方法。我们都知道深度学习的模型越庞大,模型参数越多,为了避免过拟合就需要相应大规模的数据集,但对于很多任务而言,样本标注的成本昂贵。相反,大规模无标签数据库相对容易建立,为了充分利用这些无标记数据,我们可以先使用它们在其他一些任务上学习一个好的特征表示,再用于训练目标任务。
智能生信
2021/02/04
5.5K0
虽被BERT碾压,但还是有必要谈谈BERT时代与后时代的NLP
2018年是NLP的收获大年,模型预训练技术终于被批量成功应用于多项NLP任务。之前搞NLP的人一直羡慕搞CV的人,在ImageNet上训练好的模型,居然拿到各种任务里用都非常有效。现在情形有点逆转了。搞CV的人开始羡慕搞NLP的人了。CV界用的还是在有监督数据上训练出来的模型,而NLP那帮家伙居然直接搞出了在无监督数据上的通用预训练模型!要知道NLP中最不缺的就是无监督的文本数据,几乎就是要多少有多少。还有个好消息是目前NLP中通用预训练模型的效果还远没达到极限。目前发现只要使用更多的无监督数据训练模型,模型效果就会更优。这种简单粗暴的优化方法对大公司来说实在再经济不过。而且,算法本身的效果也在快速迭代中。NLP的未来真是一片光明啊~
AI科技大本营
2019/07/03
1.5K0
虽被BERT碾压,但还是有必要谈谈BERT时代与后时代的NLP
一文读懂深度学习:从神经元到BERT
自然语言处理领域的殿堂标志 BERT 并非横空出世,背后有它的发展原理。今天,蚂蚁金服财富对话算法团队整理对比了深度学习模型在自然语言处理领域的发展历程。从简易的神经元到当前最复杂的BERT模型,深入浅出地介绍了深度学习在 NLP 领域进展,并结合工业界给出了未来的 NLP 的应用方向,相信读完这篇文章,你对深度学习的整体脉络会有更加深刻认识。
统计学家
2019/05/27
1.3K0
​迁移学习在NLP中的演化:从基础到前沿
论文标题:Evolution of Transfer Learning in Natural Language Processing
AI科技评论
2019/10/31
8920
​迁移学习在NLP中的演化:从基础到前沿
BERT论文解读
BERT的设计是通过在所有层中对左右上下文进行联合调节,来预先训练来自未标记文本的深层双向表示。
程序员一一涤生
2019/10/10
1.2K0
BERT论文解读
BERT_Paper_Chinese_Translation: BERT论文中文翻译版
Google发布的论文《Pre-training of Deep Bidirectional Transformers for Language Understanding》,提到的BERT模型刷新了自然语言处理的11项记录。算是NLP的里程碑事件,也开始了大公司之间的数据和算力的装备竞赛。放一篇比较好的中文论文翻译。
AINLP
2019/07/10
2K0
BERT_Paper_Chinese_Translation: BERT论文中文翻译版
【论文阅读】BERT:Pre-training of deep bidirectional transformers for language understanding
authors:: Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova container:: Proceedings of the 2019 conference of the north American chapter of the association for computational linguistics: Human language technologies, volume 1 (long and short papers) year:: 2019 DOI:: 10.18653/v1/N19-1423 rating:: ⭐⭐⭐⭐⭐ share:: false comment:: 经典bert的模型
EmoryHuang
2022/10/31
1.8K0
【论文阅读】BERT:Pre-training of deep bidirectional transformers for language understanding
【综述专栏】超详细的NLP预训练语言模型总结清单!
在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。
马上科普尚尚
2021/03/17
1.4K0
【综述专栏】超详细的NLP预训练语言模型总结清单!
关于BERT,面试官们都怎么问
BERT 来自 Google 的论文Pre-training of Deep Bidirectional Transformers for Language Understanding[1],BERT 是“Bidirectional Encoder Representations from Transformers”的首字母缩写,整体是一个自编码语言模型(Autoencoder LM),并且其设计了两个任务来预训练该模型。
NewBeeNLP
2020/08/26
4.1K0
关于BERT,面试官们都怎么问
NLP之从word2vec到ELMO GPT再到BERT与attention transformer过程笔记与详解
在NLP自然语言处理学习或者发展过程中,在13年word2vec word embedding后,人们发现一个单词通过Word Embedding表示,很容易找到语义相近的单词,但单一词向量表示,不可避免一词多义问题。于是迎来Google的ELMO transformer BERT等动态表征模型,BERT模型更是刷新了GLUE benchmark的11项测试任务最高记录。
大鹅
2021/02/21
3.4K0
【Pre-Training】BERT:一切过往,皆为序章
今天我们学习的是谷歌的同学 2018 年的论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》,目前引用量超 3800 次。
yuquanle
2020/04/20
1.4K0
【Pre-Training】BERT:一切过往,皆为序章
BERT模型介绍
BERT(Bidirectional Encoder Representations from Transformers)是Google在2018年提出的一种预训练语言模型,它在自然语言处理(NLP)领域引起了广泛的关注和应用。BERT的核心思想是通过双向Transformer编码器(双向的编码器部分
@小森
2024/12/25
1.6K0
BERT模型介绍
跨界出圈 | 谈谈BERT跨模态预训练
BERT以及BERT后时代在NLP各项任务上都是强势刷榜,多模态领域也不遑多让。前几天我们刚分享了复旦邱锡鹏老师的报告:复旦邱锡鹏教授 | 『语言+X』预训练模型,今天就来详细整理一些代表性工作。
NewBeeNLP
2021/03/03
1.2K0
跨界出圈 | 谈谈BERT跨模态预训练
「课代表来了」跟李沐读论文之——BERT
BERT:Pre-trainingof Deep Bidirectional Transformers for Language Understanding
beyondGuo
2022/01/04
8510
「课代表来了」跟李沐读论文之——BERT
生成式预训练模型之BART
每天给你送来NLP技术干货! ---- 写在前面 在文本理解任务(Natural Language Understanding)上,预训练模型已经取得了质的飞跃,语言模型预训练+下游任务fine-tune基本上已经成为标配。 很多人曾经尝试将 BERT 等预训练语言模型应用于文本生成任务(Natural Language Generation),然而结果并不理想。究其原因,是在于预训练阶段和下游任务阶段的差异。 BART这篇文章提出的是一种符合生成任务的预训练方法,BART的全称是Bidirectional
zenRRan
2022/08/31
2.9K0
生成式预训练模型之BART
推荐阅读
相关推荐
Transformer结构及其应用详解——GPT、BERT、MT-DNN、GPT-2
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档