IBM Cloud Docs
创建基于规则的模型(试验性)

本文档适用于 IBM Watson® Knowledge Studio 上的 IBM Cloud®。 要查看 Knowledge Studio Marketplace 上 IBM 先前版本的文档,请单击此链接

创建基于规则的模型(试验性)

本教程帮助您了解如何创建基于规则的模型,您可以使用该模型来查找在文档中定义的文本模式。

基于规则的模型是试验性模型,不适合用于生产部署。 对模型的支持可能会临时通知被终止。

您将构建一个模型,该模型可在文档中查找匹配模式 month day, year 的文本。 例如,模型将查找日期引用 May 1, 2010。 在定义规则模式本身之前,您将创建可帮助构建模式的工件,包括可识别月份提及项的字典类和可识别文本中的年份提及项的正则表达式类。

学习目标

在完成本教程后,您将知道如何执行以下任务:

  • 创建类
  • 添加用于定义规则的文档
  • 将字典与类相关联
  • 定义正则表达式以捕获字符序列
  • 定义规则

完成本教程约需 30 分钟。 如果要研究与本教程相关的其他概念,那么可能需要更长时间。

开始之前

个结果

创建基于规则的模型后,可以按以下某种方式将其用于在文档中查找文本模式:

第 1 课:添加月份字典

在本课程中,您将学习如何在 Knowledge Studio 中向工作空间添加字典。 该字典包含与一年中的月份相关的术语。

关于本任务

在稍后的课程中,您将基于此字典定义类。 在创建该类时,会将此字典内出现在文档中的所有术语自动注释为关联类类型的提及项。 有关字典的更多信息,请参阅向工作空间添加字典

过程

  1. 下载 dictionary-items-month.csv 外部链接图标 文件到您的计算机。 此文件包含 CSV 格式的字典术语,适合上传到 Knowledge Studio 字典。

  2. 单击资产 > 字典

  3. 单击创建字典按钮以添加字典。

  4. 名称字段中,输入 Month dictionary,然后单击保存以创建字典。 这样将创建新字典并自动打开该字典以进行编辑。

  5. 在字典窗格中,单击上传

  6. 从计算机中选择 dictionary-items-month.csv 文件,然后单击上传

    这会将文件中的术语导入到字典中。

第 2 课:添加样本文档

在本课程中,您将学习如何使用说明您要定义的规则类型的语言模式来添加文档。

关于本任务

有关添加文档的更多信息,请参阅添加用于定义规则的文档

过程

  1. 下载 documents-new.csv外部链接图标 文件到您的计算机。 此文件包含适合上传的示例文档。

  2. 单击基于规则的模型 > 规则

  3. 单击文档页面标题旁边的添加文档图标。

  4. 单击上传 CSV 文件选项卡。

  5. 单击以浏览先前下载到计算机的 documents-new.csv 文件,然后单击上传

    此时将在主“文档”页面中显示一组文档。

    ![显示添加到规则编辑器的十四个文档中的三个文档。 显示文档标题以及每个文档开头的摘录。 每个文档旁边还有一个删除图标,您可以使用该图标来删除文档。](images/rule-doc-add3.png "显示添加到规则编辑器的十四个文档中的三个文档。 显示文档标题以及每个文档开头的摘录。 每个可用于删除文档的文档旁边还有一个 "删除" 图标。")

第 3 课:创建类

在本课程中,您将学习如何定义在定义规则时将使用的类。

关于本任务

有关类的更多信息,请参阅规则

过程

  1. 从工作空间的规则页面,单击右侧面板中标题旁边的添加类图标。

  2. 输入 DictMonth 作为类名,然后单击添加

    此时将在“类”侧面板中显示新类。

第 4 课:将字典与类相关联

在本课程中,您将学习如何在规则编辑器中使用字典。

过程

  1. 单击基于规则的模型 > 规则,然后单击字典选项卡。

  2. 选择您先前创建的 Month dictionary

  3. 列表中,选择 DictMonth,然后单击保存

    该类将与字典相关联。

    ![显示 DictMonth 类与 "规则" 页面的 "字典" 面板中的 Month 字典相关联。](images/rule-dict-map2.png "显示 DictMonth 类与 "规则" 页面的 "字典" 面板中的 Month 字典相关联。")

个结果

对于与规则编辑器相关联的文档,对字典中术语的任何引用都将注释为 DictMonth 类提及项。 您将在下一课中看到有关已注释这些引用的证明。

第 5 课:在文档中查找类注释

在本课程中,您将学习如何在规则编辑器文档中查找类注释。

过程

  1. 选择基于规则的模型 > 规则

  2. 从“类”面板中,查找先前定义的 DictMonth 类,然后单击旁边的搜索文档中的注释图标。

    这样会显示“查找注释”页面,并显示包含月份的文本引用的所有文档。

  3. 单击 Technology - computerworld.com 文档以查看完整文档。 请注意,将突出显示文本 February,这意味着它已注释为 DictMonth 类的提及项。

第 6 课:定义正则表达式

在本课程中,您将学习如何定义正则表达式。

关于本任务

您将定义可查找诸如 2009 之类的年份模式的正则表达式。

有关定义正则表达式的更多信息,请参阅定义规则

过程

  1. 右侧面板中 旁边的 在 规则 页面中,单击 添加类 图标 ![The "Add a class" icon](images/wks_tut_dict_add.jpg "" 添加类 "图标")。

  2. 输入 RegExpYear 作为类名,然后单击添加

  3. 单击正则表达式选项卡,然后单击正则表达式标题旁边的创建正则表达式图标。

  4. 单击添加条目

  5. 正则表达式字段中,输入在 19002099 之间查找年份的以下表达式:

    (?:(?:19|20)[0-9]{2})
    
  6. 最少字记号数设置为 1,并将最多字记号数设置为 1

  7. 单击添加以保存正则表达式条目。

  8. 输入 MyYearExp 作为正则表达式名称,然后从菜单中,选择先前定义的 RegExpYear 类。

  9. 单击保存

    在保存正则表达式后,会自动将其应用于样本文档。 遵循在正则表达式中定义的模式的任何文本字符串将注释为 RegExpYear 类的提及项。

  10. 要检查定义的表达式是否正确捕获时间出现实例,您可以搜索提及项。 单击“类”面板中 RegExpYear 类旁边的RegExpYear图标。

    ![Shows the hovering over the magnifying glass icon next to the "RegExpYear" class in the Class panel of the Rules page.](images/rule-regex-add5.png "显示光标悬停在" 规则 "页面的" 类 "面板中" RegExpYear "类旁边的放大镜图标上。")

    此时将显示“查找注释”页面。 年份提及项的出现实例将在所出现的样本文档中突出显示。

    显示样本文档摘录中突出显示的 8 个年份注释。

第 7 课:定义规则

在本课程中,您将学习如何定义规则。

关于本任务

您已定义了一个基于字典的类,用于对月份提及项进行注释。 您还可以定义一个正则表达式,用于查找表示年份的数字值。 现在,您将定义一个规则,用于捕获如下序列:一个月份,后跟一个数字、逗号,然后是一个年份。 您将定义日期表达式的规则,如 September 21, 2016

有关定义规则的更多信息,请参阅定义规则

过程

  1. 选择基于规则的模型 > 规则,然后打开 Technology - computerworld.com 文档。

  2. 选择文档中的文本 February 3, 2009。 请确还保选择了逗号。

    ![Shows the text "February 3, 2009" selected in the document.](images/rule-add1.png "显示文档中选择的文本" 2009 年 2 月 3 "。)

  3. 单击添加规则图标。

    规则编辑器显示所标识的规则模式的描述。

    文本 February 3, 2009 可见。 有一条实线连接描述中的单元格,可识别哪些单元格当前是模式的一部分。

    • DictMonth 类是规则模式的一部分,而不是文本 February。 此选择是首选的选项,因为您想要模型查找 DictMonth 类注释为日期模式中第一个记号的任何月份,而不是仅文本 February
    • 在规则结尾,年份 2009 已注释为 RegExpYear 类的提及项。 RegExpYear 类是规则模式的一部分,而不是数字 2009。 此选择也是首选的选项,因为您想要模型查找 RegExpYear 类注释为日期模式中最后一个记号的任何年份,而不是仅特定文本 2009

    数字 3 及其后面的逗号 (,) 显示为模式中的第二个和第三个记号。 由于当前已指定模式,因此该模型将仅查找指定月份第 3 天的日期出现实例。 我们想要模型查找指定月份中任何一天的日期,因此接下来我们将更改天记号的功能设置。

  4. 在天 3 单元格的上方,单击文本图标以打开记号的功能设置。

    显示用户单击 "文本功能设置" 图标。

    当前,规则设置为与匹配精确文本 3。 而我们想要它匹配任何数字。

  5. 通过选择字符类型:数字,然后清除选项文本:3,将功能设置更改为数字。

    ![Shows the user clicking the "Character Type : Number" option as the feature setting for the "3" token.](images/rule-add5.png "显示用户单击" 字符类型: 数字 "选项作为" 3 "令牌" 的功能设置。)

    您已更改数字 3 单元格的定义。

    ![Shows the cell that represents the "3" token now has a "Character Type" icon above it to indicate that any numeric value can match that token in the pattern.](images/rule-add6.png "显示表示" 3 "标记的单元格现在在其上方具有" 字符类型 "图标,以指示任何数字值都可以与模式中的该标记匹配。")

    字符类型图标指示它可以是任何数字,而不要求数字恰好等于 3。

  6. 请勿更改逗号记号的任何设置。

    我们想要模式中的第三个记号为逗号,因此文本:, 的当前功能设置是恰当的。 除了功能设置外,每个记号还有一个重复设置。 重复设置指定为使记号匹配模式,该记号可在文本中重复的次数。 **必需(恰好为 1)**的当前重复设置是适当的。

    ![Shows the repeat setting for the comma token which is set to "Exactly 1".](images/rule-add7.png "显示设置为" 正好 1 "的逗号标记的重复设置。")

  7. 指定类以表示模式 DictMonth + numeric token + comma + RegExpYear

    请注意四个空单元格表示从文档选择的四个记号。 要选择所有单元格,请选择第一个单元格,然后在按下 Shift 键的同时单击其他每个单元格。 输入 RuleDate 作为类名,然后单击以创建新类。

    ![Shows that all four cells in the top row have been selected and the span is being defined as the "RuleDate" class.](images/rule-add8.png "显示已选择顶行中的所有四个单元格,并且正在将范围定义为" RuleDate "类。")

  8. 规则名称字段中,输入 MyDateRule,然后单击保存

    在保存规则后,会自动将其应用于样本文档。 如果 Technology - computerworld.com 文档仍在规则编辑器中打开,那么您将看到文档中的 February 3, 2009 文本现在注释为 RuleDate 类的提及项。

    ![Shows text from the "Technology - computerworld.com" document with only the text "February 3, 2009" annotated as a mention of the "RuleDate" class.](images/rule-add10.png "显示" Technology-computerworld.com "文档中的文本,其中仅包含注释为提及" RuleDate "类的文本" February 3 , 2009 "。)

    您可以通过单击 "类" 面板中 RuleDate 类旁边的 在文档中搜索注释 图标 用于表示搜索的放大镜 来搜索样本文档中出现的所有 RuleDate 类提及项。 最好检查是否正确捕获了所有日期,以确认您正确定义了模式。

    ![Shows the "Find Annotations" page with two documents that contain dates that match the rule pattern you just defined.](images/rule-add11.png "显示" 查找注释 "页面,其中两个文档包含与刚刚定义的规则模式匹配的日期。")

第 8 课:创建基于规则的模型

在本课程中,您将学习如何创建基于规则的模型。

关于本任务

有关创建基于规则的模型的更多信息,请参阅创建基于规则的模型

过程

  1. 选择基于规则的模型 > 版本,然后单击基于规则的模型类型映射选项卡。

  2. 从类型系统将 RuleDate 类映射到 DATE 实体。

    1. 查找 DATE 实体,然后单击编辑

      ![Shows the user clicking Edit for the "DATE" entity type in the "Rule-based model type mapping" tab.](images/rule-anno2.png "显示用户在" 基于规则的模型类型映射 "选项卡中单击" DATE "实体类型的" 编辑 "。)

    2. 从列表中选择 RuleDate 类,然后单击保存

      ![Shows the user choosing the "RuleDate" class from the list.](images/rule-anno3.png "显示用户从列表中选择" RuleDate "类。")

  3. 使用基于规则的模型对文档集或注释集进行预注释:

    • 机器学习模型 > 预注释页面上,单击运行预注释器
    • 选择基于规则的模型,然后单击下一步
    • 选择添加到语料库 documents-ml.csv 的文档集,然后单击运行

    注意:仅对尚未进行人工注释的文档,将基于规则的模型作为预注释器运行。

教程小结

在学习 Knowledge Studio 时,您创建了基于规则的模型。

已学课程

通过完成本教程,您学习了以下概念:

  • 正则表达式
  • 规则