Aisdk 0 0 1
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

AISDK 版本 0.0.1 PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on
  • Presentation posted in: General

AISDK 版本 0.0.1. 自动应答 SDK. 多层回答系统. 多层系统增加系统的鲁棒性. 意图匹配. 数据存储 Tag 系统. 结构为主的系统. 关键字为主的系统. AI 的 3 层处理系统. 最底层第三层是关键字层。只要符合关键字即可。 第二层是结构匹配层。只要符合特定的结构即可。 第一层是意图匹配层,它通过意图样本训练得到的一个人工神经网络来识别意图。如果不匹配的才调用第二层和第三层。. 目录介绍. 假设 AI 的数据目录为 Data\ 则如下目录分别为: Data\Dic---- 辞典,结构等文件

Download Presentation

AISDK 版本 0.0.1

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Aisdk 0 0 1

AISDK 版本 0.0.1

自动应答SDK


Aisdk 0 0 1

多层回答系统

多层系统增加系统的鲁棒性

意图匹配

数据存储

Tag系统

结构为主的系统

关键字为主的系统


Aisdk 0 0 1

AI的3层处理系统

  • 最底层第三层是关键字层。只要符合关键字即可。

  • 第二层是结构匹配层。只要符合特定的结构即可。

  • 第一层是意图匹配层,它通过意图样本训练得到的一个人工神经网络来识别意图。如果不匹配的才调用第二层和第三层。


Aisdk 0 0 1

目录介绍

  • 假设AI的数据目录为 Data\

  • 则如下目录分别为:

    • Data\Dic----辞典,结构等文件

    • Data\Tag\Main----Tag存储系统,用户的数据存放地

    • Data\User-----样本,函数,等先验数据


Aisdk 0 0 1

意图和意图样本

  • 这里说的意图,是指一个功能模块.

  • 意图样本,就是激活这个功能模块的一些自然语言的句子样本。

  • 例如:为了表达“修改订单”这个意图,我们有多种表达方式。

    • 我有个订单,里面有些产品需要修改一下

    • 我要修改订单。订单编号是123456


Aisdk 0 0 1

意图样本如何保存

  • 新建一个txt文件,保存成UTF-8格式

  • 这个文件的存放路径为:

    • Data\User\Common\ITS\

  • 文件格式如下:

    • ========================================

    • AI.意图样本

    • ----------

    • 意图1

    • ----------

    • 意图1对应的句子1

    • ========================================

    • AI.意图样本(如果和前面一条记录一样,可以省略)

    • ----------

    • 意图2

    • ----------

    • 意图2对应的句子2

    • ========================================


Aisdk 0 0 1

具体例子

  • ========================================

  • AI.意图样本

  • ----------

  • 修改订单

  • ----------

  • 我有个订单,里面有些产品需要修改一下

  • ========================================

  • ----------

  • ----------

  • 我要修改订单。订单编号是123456

  • ========================================


Aisdk 0 0 1

意图的特征选取

  • 为了让AI自动识别意图,必须给AI选取一些特征。这样AI可以自动建立一个识别句子意图网络。

  • AI的特征存储在目录为:

    • Data\User\Common\ITS\Keys

    • 注意文件必须是utf-8形式

    • 每行一个特征


Aisdk 0 0 1

意图的简单特征

  • 特征可以是一个词汇

    • 如:天气

  • 也可以是结构,中间用空格分开

    • 如:{城市.类.E} 天气

  • 也可以是特征的并(多个特征同时出现),中间用,分割

    • 如:修改,订单


Aisdk 0 0 1

意图的复杂特征

  • 有的结构由于太抽象,包含的东西太多,它就失去了区分能力。这时候我们给他做一些限制,就可以表达复杂的特征。

  • 如:

    • 什么_{集.类}

    • 0.1={节日}

  • 代表{集.类}的限制为 :{节日}

  • 限制符为0.0代表是第一个,0.1代表第二个,其他类似。


Aisdk 0 0 1

Tag系统

  • AI内部数据是采用一个Tag存储系统。

  • 这里的Tag系统是指:通过关键字可以查询到对应的文本或INT数组的系统。

    • 1.关键字---(String)

      • 例如:

      • 1/nameID=1的记录的标题

      • 1/contentID=1的记录的内容

    • 2.Tag---{1,2,5,7,3}

      • 例如:

      • 上海---{1,2,3}

      • 区号---{1,2,3}

  • 支持Tag的交,数组的翻页。


Aisdk 0 0 1

读取数据到Tag系统

  • Data\User\Common\下都是Tag系统的预处理文件。

  • 这些数据都会自动读取到AI的一个Tag系统(AI包含多个Tag系统)

  • 格式:如果关键字一样的内容,可以放在一起。

  • ========================================

  • 关键字

  • ----------

  • 内容1

  • ----------

  • 内容2

  • ========================================

  • 关键字2

  • ----------

  • 内容3

  • ========================================


Aisdk 0 0 1

意图和子意图

  • 如果一个模块激活必须包含几个子模块的激活,我们称这些子模块为这个意图的子意图。

提醒.设置

日期

提醒内容


Aisdk 0 0 1

意图和子意图的存储

  • 意图和子意图的关系

  • 存储在Tag系统的预处理文件中,如下表示:

  • ========================================

  • AI.Map

  • ----------

  • ITS.Fire|Topic.日期|Topic.提醒.设置||1

  • ----------

  • ITS.Fire|Topic.提醒内容|Topic.提醒.设置||1

  • ========================================


Aisdk 0 0 1

AI脚本语言

  • 当结构匹配的时候,AI就可以执行一系列操作,给用户反馈等。为了提高AI的作用,有必要提供一套语言。让AI执行各种命令。

  • 如:知识的存储,各种结构的增减。意图的激活等。权重的调整。


Aisdk 0 0 1

AI脚本调用机制

  • 当用户输入一个句子后

  • AI检查是否激活了某些意图

  • 如果激活意图A。

  • 则系统自动检测是否有

  • Tag为“Fun.A.”的记录,如果有则执行这个记录的内容字段中包含的脚本。


Aisdk 0 0 1

一个简单的脚本

  • 我们来看一个简单的脚本

    • =============================

    • Fun.Test1.

    • ---------------------

    • 【AI.Map】

    • A=“1”

    • B=“2”

    • Sys.out=Math.Cal(“【A】+【B】”)

    • =============================

  • 这个函数的名称为Fun.Test1.

  • 【AI.Map】代表这个是一个脚本,而不是普通文本。

  • 其中A,B是2个变量,sys.out是函数的输出值。

  • Math.Cal是计算函数。

  • 【A】是对变量A的引用。

  • 注意:AI中所有的变量都是字符串!


Aisdk 0 0 1

脚本函数的分类

  • “ITS.“开头的,意图有关的函数

  • “CN.“开头的,以集合为基础的语义网函数(CN=ConceptNetWork)

  • “Hook."开头的,Hook函数

  • “FW .”开头的,Tag系统函数

  • “Session.”开头的, Session函数,与用户有关的临时变量存储

  • “Net.“开头的,网络函数,如抓取网络信息,天气,IP等

  • "Vector.“开头的,向量函数

  • “Break.”开头的,中断函数

  • “Check.”开头的,判断检测函数

  • “Save.”开头的,保存函数

  • “Time.“开头的,时间函数

  • "SYS.“开头的,系统函数

  • “String.“开头的,字符串函数

  • “Var.“开头的,系统变量的一些函数

  • "File.“开头的,文件函数

  • "Math.“开头的,数学函数

  • “Map.“或”Search.“开头的,映射或搜索有关的函数。


Aisdk 0 0 1

Hook函数

  • Hook设置

    • 设置Hook函数后,当指定的结构出现在句子中,相应的函数就自动激活;如:

    • =Hook.Set("城市","{城市.类.E}","城市.Save")

    • 如果出现城市,如:上海

    • 就会自动激活Tag为“Fun.城市.Save"的函数。


Session

Session 函数介绍

  • 保存一个字符串到某个地址key1/key2

    • Session.Save(“key1”,”key2”,”value1”)

  • 从key1/key2地址读取一个值存储到A

    • A=Session.Load(“key1”,”key2”)


Aisdk 0 0 1

Net函数介绍

  • 从google.cn抓取上海天气

    • A=String.URLENCODE(“上海天气")

    • HTML=Net.Post("www.google.cn","80","/search?q=【A】","GET","","utf-8")

  • Net.Post是抓取函数,

    • 第一个参数是网址

    • 第二个是端口

    • 第三个是文件地址

    • 第四个是方法

    • 第五个是Post的值(注意先编码)

    • 最后一个是编码方式。

  • Net.SendMsg

    • 主动发送消息

      • Net.SendMsg([email protected],“AI启动了”)


String

String函数介绍

  • String.Reg.Get,正则表达式匹配

    • 如果HTML变量是抓取来的一个网页我们要用Pattern去匹配。则:

      • Pattern="[细节](.*?)(【B】天气(.|\n)*?)北京市专业气象台"

      • R=String.Reg.Get(HTML, Pattern, "0")

  • String.Replace 函数

    • 替换字符串

      • R=String.Replace(R,“hi”,“你好")

  • String.HTML2Text 函数

    • 把HTML转为普通文本

      • HTML=String.HTML2Text(HTML)

  • String.URLENCODE函数

    • 编码为utf-8格式


Aisdk 0 0 1

一个抓取上海天气的例子

  • 如果我们想输入:上海天气,或者输入:shtq就把google.cn中的上海天气信息抓取过来,则我们需要写如下一个Tag记录即可实现我们要的功能。

  • ========================================

  • 上海天气 shtq

  • ----------

  • 【AI.Map】

  • A=String.URLENCODE(“上海天气")

  • HTML=Net.Post("www.google.cn","80","/search?q=【A】","GET","","utf-8")

  • HTML=String.HTML2Text(HTML)

  • R=String.Reg.Get(HTML,"[细节](.*?)(【B】天气(.|\n)*?)北京市专业气象台","0")

  • R=String.Replace(R,"细节]。","")

  • R=String.Replace(R,"北京市专业气象台","")

  • Sys.out=【R】

  • ========================================


Step1

通用的天气查询,step1

  • 如果我们要查询任何城市的天气如何做呢?

  • 1.首先需要让AI识别这样的意图

  • 我们在\Data\User\Common\ITS\下建立一个utf-8编码的文本文件。

  • 内容如下:

    • ========================================

    • AI.意图样本

    • ----------

    • 天气查询

    • ----------

    • 上海天气

    • ========================================

    • ----------

    • ----------

    • 北京的天气

    • ========================================

    • ----------

    • ----------

    • 上海的天气

    • ========================================

    • ----------

    • ----------

    • 天气上海

    • ========================================


Step2

通用的天气查询,step2

  • 训练AI方法:

    • 输入t

    • 然后输入次数,比如1.

  • 建议正确和错误的比率<1/5为止

  • 次数越多,越接近。如果特征选取不够,错误率也不会趋向于零。


Step3

通用的天气查询,step3

  • 输入一些函数

    • ========================================

    • AI.Map

    • ----------

    • ITS.Fire|Topic.城市|Topic.天气查询||1

    • ========================================

    • Fun.天气查询.

    • ----------

    • 【AI.Map】

    • B=Session.Load("","Topic.城市")

    • T=Session.Save("","Topic.城市","")

    • A=String.URLENCODE("【B】天气")

    • HTML=Net.Post("www.google.cn","80","/search?q=【A】","GET","","utf-8")

    • HTML=String.HTML2Text(HTML)

    • R=String.Reg.Get(HTML,"[细节](.*?)(【B】天气(.|\n)*?)北京市专业气象台","0")

    • R=String.Replace(R,"细节]。","")

    • R=String.Replace(R,"北京市专业气象台","")

    • =【R】

    • ========================================

    • Fun.城市.

    • ----------

    • 【AI.Map】

    • =Hook.Set("城市","{城市.类.E}","城市.Save")

    • =请输入城市,如:上海

    • ========================================

    • Fun.城市.Save

    • ----------

    • 【AI.Map】

    • =Session.Save("","Topic.城市","$[@]$")

    • =ITS.SetItem("Topic.城市")

    • ========================================


Aisdk 0 0 1

AI的访问接口

  • AI除了可以web方式访问外。还可以通过GTalk,MSN,QQ访问

  • Web方式访问

    • 90端口,HTTP协议。

  • GTalk,MSN,QQ

    • 对应3个Msger程序。


  • Login