#IT教育##程序员##软件开发##软件工程师##IT#
背景
管道和过滤器架构模式
该主题的读者 –开发人员,架构师
道主题
让我们深入了解基本概念
矿泉水制造厂有水源。但它包含病毒、细菌、颜色、盐、沙子、石头和草。因此,他们需要进行水处理来清洁水。
解决方案:他们可以添加少量过滤器来清理通过管道的污水。因此,他们将能够将矿泉水储备到水箱中。
筛选
过滤器具有输入管道和输出管道。
管道和过滤器
过滤器通过管道连接,一个过滤器的输出是下一个过滤器的输入。
管道和过滤器建筑风格
它有两个子系统,即管道和过滤器。
你什么时候需要使用它
如果您有需要一系列流程的连续数据流。
使用管道和过滤器架构模式实现 AI 工具
问题
组织需要验证其员工的教育历史。比如说,我是那个组织的员工,我已经完成了计算机科学的学士和硕士学位。该组织将考虑我的最高学位类别。我的意思是,我有两个学位,学士和硕士。与学士学位相比,硕士学位是最高的学位。现在他们将验证硕士学位。在这种情况下,学士学位将被忽略。
因此,他们需要一种能够找出最高学位的工具。它有两个部分:
分类学位类别
如果员工拥有理学学士和理学硕士等学位,则:
处理数据以过滤出最高达到的程度
微型 AI 工具的基本概念
初始数据和数据源
数据源 – 字典
取2个数据源字典如下:
- 二级词词典:这个词本身没有任何意义,但有助于造句。所以,我猜,这些词得1分。下表给出。
- 主关键词词典:这个关键词将有助于确定学位的类别。我的意思是——如果我们知道关键词是学士、硕士或文凭,那么我们可以确定学位是有意义的。所以,我猜这些词得5分。
管道和过滤器核心接口类图
核心接口的实现
接口使用泛型类型。因此,定义您自己的数据输入模型以及接收器模型。我们需要在过滤器类中使用它。
过滤器实现
候选过滤器类将继承FilterBase该类,我们只需要实现一个称为流程的方法。现在我们可以根据需要实现任意数量的过滤器。
注:没有面向对象基础理解不了这些话。
数据传递到框架的通道
渠道的并行过程
我们可以包含我们需要的尽可能多的过滤器和通道。每个输入都将通过 Channel 并且每个通道都将保存一个过滤器列表。比如说,如果我们有 5 个教育历史——这意味着,我们需要 5 个通道,并且它将同时运行以用于并行进程。
找出最高学位的例子
输入输出
输入:接受错误输入:理学学士硕士 bla bla
预期类别:学士
来自过滤器的数据处理序列
DegreeMatchFilter:查找关键字
输入错误:Master of Bachelor Science bla bla :(
清洁关键字:Master Bachelor Science
InsertPointToSentenceFilter
从关键字字典中,每个单词的点:
第 1 步:匹配来自数据源的文本
结果取决于关键字:Master; Bachelor; Science
[0]:“理学硕士”
[1]:“硕士学位”
[2]:《工商管理硕士》
[3]:“大师”
[4]:《文学硕士》
[5]:“硕士”
[6]:“理学学士”
[7]:“文学学士”
[8]:“学士学位”
[9]:“学士”
[10]:“学士”
[11]:《工商管理学士》
[12]:“学士学位(±16年)”
[13]:“理学学士”
[14]:“护理学学士”
[15]:“理学学士”
[16]:“理学士”
[17]:“理学硕士”
[18]:“科学助理”
[19]:“应用科学副学士”
[20]:“理学硕士”
[21]:“理学学士”
[22]:“护理学学士”
[23]:“科学协会”
第 2 步:计算每个句子的分数
步骤 3:匹配并删除与 Max Point 比较的句子
根据步骤 3 的表格,最大点为6。因此,删除所有小于 的句子6。
删除重复的句子和这些步骤的输出是:
DegreeCategoryFilter: 找出类别
DegreeRankFilter:查找排名点
DegreeCategoryProbabilityPartAFilter:应用概率
可能性
DecisionMakingInputFilter:删除较低的类别和排名
找出类别和pank点。根据上表,最高点为13.5。因此,删除所有小于 13.5 的句子。
FinalDecisionMakingOutputFilter:最终输出
最高分是 13.5,类别是单身汉。
因此,输出:Bachelor of Science :==> Points [13.5]; 单身汉 :=> 排名 4
因此,学士学位是需要验证的最高学位。
类别:学士;排名: 4
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!