网站首页 > 基础教程 正文
最近因为订阅电子期刊产生偏差,我向位于美国的 SCRIBD 出版商申请了退回扣除的信用卡款项。整个过程虽然遇到一点点状况,如多次登录账户,基本上其 HELP CENTER 知识库 的聊天机器人全权处理,最终完成了信用卡的退款。
因为2018年在浙江绍兴为日本山形英技公司担任 AI 聊天机器人研发,突然发现,今天的 AI 使用体验突飞猛进且越发贴近生活。本文与您分享用 DITA 为 Google 聊天机器人提供知识的技巧。
聊天机器人是一种计算机程序,它通过语音命令或文本聊天或两者兼而有之来模拟人类对话。Chatbot(chatterbot 的缩写)是一种人工智能 (AI) 功能,可以通过任何主要的消息传递应用程序嵌入和使用。聊天机器人是自动化程序有助于为客户增加便利。它们可以像人类一样与客户互动,而且互动成本几乎可以忽略不计。
假设您有一个简单的 DITA 主题内容,其中包含以形式放置在表中的成对问题和答案:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic id = "frequently_asked_questions" >
<title>常见问题</title>
<body>
<p>
<table frame = "all" rowsep = "1" colsep = "1" id = "table_bkf_4dl_vsb" >
<tgroup cols = "2" >
<colspec colname = "c1" colnum = "1" colwidth = "1*" />
<colspec colname = "c2" colnum = "2" colwidth = "1*" />
<tbody>
<row>
<entry>
<p>什么是 Oxygen XML 编辑器?</p>
<p>什么是Oxygen XML?</p>
</entry>
<entry>
<p> Oxygen XML Editor 是一个很棒的工具。</p>
</entry>
</row>
<row>
<entry>如何学习 DITA?</entry>
<entry>您可以阅读“Oxygen”用户指南和 Oxygen XML 博客。<
</body>
</topic>
我们可以使用以下 XSLT 样式表从 XML 内容中将训练数据提取出来 CSV 文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
xmlns:xs = "http:// /www.w3.org/2001/XMLSchema" exclude-result-prefixes = "xs" version = "2.0" xmlns:oxy = "abc" >
<xsl:output method = "text" />
<xsl:template match = "/" >
<xsl:text>问题,答案
</xsl:text>
<xsl:for-each select = "//tbody/row" >
<xsl:for-each select ="entry[1]" >
<xsl:choose>
<xsl:when test = "p" >
<xsl:for-each select = "p" >
<xsl:value-of select = "oxy:escapeForCSV(normalize-space (.))" /> , <xsl:value-of
select = "oxy:escapeForCSV(normalize-space(string-join(../../entry[2]//text(), ''))) " /> <xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select = "oxy:escapeForCSV(normalize-space( .))”/> , <xsl:value-of
选择= "oxy:escapeForCSV(normalize-space(string-join(../entry[2]//text(), '')))" /> <xsl:text>
</xsl:text>
</xsl:否则>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
<xsl:function name = "oxy:escapeForCSV" >
<xsl:param name = "value " />
<xsl:value-of select = "replace(replace($value, '"', '""'), ',', '","')" />
</xsl :function>
</xsl:stylesheet>
使用这两个文件创建一个转换场景。将输出保存为 CSV 文件,如下图所示:
应用转换后,应出现以下情况 CSV 文件:
What is Oxygen XML Editor?,Oxygen XML Editor is a great tool.
What is Oxygen XML?,Oxygen XML Editor is a great tool.
How do I learn DITA?,You can read the ""Oxygen"" user's guide"," and the Oxygen XML Blog.
注意:
CSV 文件的结构包含一个包含 2 列的表,其中第一列代表问题,第二列代表答案,以逗号分隔。一般来说,一行的形式是:“问题,答案”。一个限制是每个问题只能有一个答案。为使同一个答案适合多个问题,您可以将其复制到问题对应的列表中。
接下来,按照以下步骤在Google Dialogflow 聊天机器人中使用 CSV 文件中的数据:
- 在https://dialogflow.cloud.google.com/上创建一个帐户。
- 创建一个新代理并填写必填字段:
3. 在“设置”中,启用BETA FEATURES。
4.转到Knowledge > CREATE KNOWLEDGE BASE,输入此知识库的名称,然后单击 SAVE 按钮。
5.使用 CSV 文档进行培训。为此:按照创建第一个并填写字段。从您的计算机选项中选择更新文件,然后选择所需的文件。单击 创建按钮。
该文档将在知识库中注册,如下图所示:
6.将问题和答案转换为意图。
单击上图中的查看链接。检查所有需要转换意图的问题。单击转换为意图按钮。
现在,当您单击 Intents 时,应该会出现转换后的问题:
7.做一个模拟。单击集成> Web 演示,如果演示功能已经禁用,请启用它。
8.将聊天机器人集成到您的身上 HTML 内容中。转到 Dialogflow 集成页面,单击Web Demo集成,您将获得一个 <iframe>HTML 元素,可以将其粘贴到您的身上 HTML 页面中。使用WebHelp自定义,您还可以将 Chatbot 集成到每个生成的 HTML 页面的页脚中。
本文展示了如何通过使用 DITA 主题生成逗号分隔值文件 CSV 来训练聊天机器人的意图和答案的基本方式。百度 UNIT 同样适用,我们后续分享。
猜你喜欢
- 2024-10-29 将vue代码改写成react vue文件如何编译成html
- 2024-10-29 CKEditor 4.14:支持复制粘贴 LibreOffice 文档的富文本编辑器
- 2024-10-29 Vuejs通过浏览器导航关闭模态框,实现增强的用户体验
- 2024-10-29 jQuery UI 小部件(Widget)方法调用
- 2024-10-29 HTML5新增元素介绍及运用 html5新增的功能元素
- 2024-10-29 HTML 打印问题汇总 html怎么打印
- 2024-10-29 HTML 语法的变化,HTML5有哪些新的元素和属性
- 2024-10-29 Element Plus 的 Dialog 组件实现点击遮罩层不关闭对话框
- 2024-10-29 WebView与JavaScript的交互 webview与js交互原理
- 2024-10-29 1-html基本知识 html的基本内容
- 最近发表
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)