以命名管道和过滤架构实现简单人工智能AI框架

#IT教育##程序员##软件开发##软件工程师##IT#


背景

管道和过滤器架构模式

该主题的读者 –开发人员,架构师

道主题

  • 管道和过滤器的基本概念
  • 管道和过滤器架构风格
  • 基本管道和过滤器示例
  • 你什么时候需要使用它
  • 管道和过滤器框架
  • 一个微型 AI 工具实现
  • 让我们深入了解基本概念

    矿泉水制造厂有水源。但它包含病毒、细菌、颜色、盐、沙子、石头和草。因此,他们需要进行水处理来清洁水。

    解决方案:他们可以添加少量过滤器来清理通过管道的污水。因此,他们将能够将矿泉水储备到水箱中。

    筛选

    过滤器具有输入管道和输出管道。

    管道和过滤器

    过滤器通过管道连接,一个过滤器的输出是下一个过滤器的输入。

    管道和过滤器建筑风格

    它有两个子系统,即管道和过滤器。

  • 过滤器:过滤器处理数据。
  • 管道:管道或管道是两个过滤器之间的连接器。
  • 你什么时候需要使用它

    如果您有需要一系列流程的连续数据流。

    使用管道和过滤器架构模式实现 AI 工具

    问题

    组织需要验证其员工的教育历史。比如说,我是那个组织的员工,我已经完成了计算机科学的学士和硕士学位。该组织将考虑我的最高学位类别。我的意思是,我有两个学位,学士和硕士。与学士学位相比,硕士学位是最高的学位。现在他们将验证硕士学位。在这种情况下,学士学位将被忽略。

    因此,他们需要一种能够找出最高学位的工具。它有两个部分:

  • 分类学位Category
  • 只获得最高的学位。
  • 分类学位类别

    如果员工拥有理学学士和理学硕士等学位,则:

  • “理学士”属于学士类别,并且
  • “理学硕士”属于硕士类别
  • 处理数据以过滤出最高达到的程度

  • 从候选人学位中找出可能的类别
  • 过滤出最高类别并从该学位中排名
  • 微型 AI 工具的基本概念

    初始数据和数据源

    数据源 – 字典

    取2个数据源字典如下:

    1. 二级词词典:这个词本身没有任何意义,但有助于造句。所以,我猜,这些词得1分。下表给出。
    2. 主关键词词典:这个关键词将有助于确定学位的类别。我的意思是——如果我们知道关键词是学士、硕士或文凭,那么我们可以确定学位是有意义的。所以,我猜这些词得5分。

    管道和过滤器核心接口类图

    核心接口的实现

    接口使用泛型类型。因此,定义您自己的数据输入模型以及接收器模型。我们需要在过滤器类中使用它。

    过滤器实现

    候选过滤器类将继承FilterBase该类,我们只需要实现一个称为流程的方法。现在我们可以根据需要实现任意数量的过滤器。

    注:没有面向对象基础理解不了这些话。

    数据传递到框架的通道

  • 初始化以下对象,例如输入数据模型SingleTemplateChannel和MainChannelStaters类。
  • 接下来,初始化ModelForSetupFilters模型类并将所需的过滤器注入其中,然后将其发送到singleChannel. SingleChannel将从中注册所有过滤器ModelForSetupFilters。
  • 设置mainChannelsStartup对象,它包含:channelstaters.SetupChanelList(singleChannel, educationDegreeList);
  • resultList最后,调用启动器并从对象中获取最终结果。IList resultList = Channelstaters.ChannelCaller();
  • 渠道的并行过程

    我们可以包含我们需要的尽可能多的过滤器和通道。每个输入都将通过 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进行处理,非常感谢!

    上一篇 2022年9月14日
    下一篇 2022年9月14日

    相关推荐