aisdk 0 0 1
Download
Skip this Video
Download Presentation
AISDK 版本 0.0.1

Loading in 2 Seconds...

play fullscreen
1 / 27

AISDK 版本 0.0.1 - PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' AISDK 版本 0.0.1' - harris


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

slide2

多层回答系统

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

意图匹配

数据存储

Tag系统

结构为主的系统

关键字为主的系统

slide3
AI的3层处理系统
  • 最底层第三层是关键字层。只要符合关键字即可。
  • 第二层是结构匹配层。只要符合特定的结构即可。
  • 第一层是意图匹配层,它通过意图样本训练得到的一个人工神经网络来识别意图。如果不匹配的才调用第二层和第三层。
slide4
目录介绍
  • 假设AI的数据目录为 Data\
  • 则如下目录分别为:
    • Data\Dic----辞典,结构等文件
    • Data\Tag\Main----Tag存储系统,用户的数据存放地
    • Data\User-----样本,函数,等先验数据
slide5
意图和意图样本
  • 这里说的意图,是指一个功能模块.
  • 意图样本,就是激活这个功能模块的一些自然语言的句子样本。
  • 例如:为了表达“修改订单”这个意图,我们有多种表达方式。
    • 我有个订单,里面有些产品需要修改一下
    • 我要修改订单。订单编号是123456
slide6
意图样本如何保存
  • 新建一个txt文件,保存成UTF-8格式
  • 这个文件的存放路径为:
    • Data\User\Common\ITS\
  • 文件格式如下:
    • ========================================
    • AI.意图样本
    • ----------
    • 意图1
    • ----------
    • 意图1对应的句子1
    • ========================================
    • AI.意图样本(如果和前面一条记录一样,可以省略)
    • ----------
    • 意图2
    • ----------
    • 意图2对应的句子2
    • ========================================
slide7
具体例子
  • ========================================
  • AI.意图样本
  • ----------
  • 修改订单
  • ----------
  • 我有个订单,里面有些产品需要修改一下
  • ========================================
  • ----------
  • ----------
  • 我要修改订单。订单编号是123456
  • ========================================
slide8
意图的特征选取
  • 为了让AI自动识别意图,必须给AI选取一些特征。这样AI可以自动建立一个识别句子意图网络。
  • AI的特征存储在目录为:
    • Data\User\Common\ITS\Keys
    • 注意文件必须是utf-8形式
    • 每行一个特征
slide9
意图的简单特征
  • 特征可以是一个词汇
    • 如:天气
  • 也可以是结构,中间用空格分开
    • 如:{城市.类.E} 天气
  • 也可以是特征的并(多个特征同时出现),中间用,分割
    • 如:修改,订单
slide10
意图的复杂特征
  • 有的结构由于太抽象,包含的东西太多,它就失去了区分能力。这时候我们给他做一些限制,就可以表达复杂的特征。
  • 如:
    • 什么_{集.类}
    • 0.1={节日}
  • 代表{集.类}的限制为 :{节日}
  • 限制符为0.0代表是第一个,0.1代表第二个,其他类似。
slide11
Tag系统
  • AI内部数据是采用一个Tag存储系统。
  • 这里的Tag系统是指:通过关键字可以查询到对应的文本或INT数组的系统。
    • 1.关键字---(String)
      • 例如:
      • 1/name ID=1的记录的标题
      • 1/content ID=1的记录的内容
    • 2.Tag---{1,2,5,7,3}
      • 例如:
      • 上海---{1,2,3}
      • 区号---{1,2,3}
  • 支持Tag的交,数组的翻页。
slide12
读取数据到Tag系统
  • Data\User\Common\下都是Tag系统的预处理文件。
  • 这些数据都会自动读取到AI的一个Tag系统(AI包含多个Tag系统)
  • 格式:如果关键字一样的内容,可以放在一起。
  • ========================================
  • 关键字
  • ----------
  • 内容1
  • ----------
  • 内容2
  • ========================================
  • 关键字2
  • ----------
  • 内容3
  • ========================================
slide13
意图和子意图
  • 如果一个模块激活必须包含几个子模块的激活,我们称这些子模块为这个意图的子意图。

提醒.设置

日期

提醒内容

slide14
意图和子意图的存储
  • 意图和子意图的关系
  • 存储在Tag系统的预处理文件中,如下表示:
  • ========================================
  • AI.Map
  • ----------
  • ITS.Fire|Topic.日期|Topic.提醒.设置||1
  • ----------
  • ITS.Fire|Topic.提醒内容|Topic.提醒.设置||1
  • ========================================
slide15
AI脚本语言
  • 当结构匹配的时候,AI就可以执行一系列操作,给用户反馈等。为了提高AI的作用,有必要提供一套语言。让AI执行各种命令。
  • 如:知识的存储,各种结构的增减。意图的激活等。权重的调整。
slide16
AI脚本调用机制
  • 当用户输入一个句子后
  • AI检查是否激活了某些意图
  • 如果激活意图A。
  • 则系统自动检测是否有
  • Tag为“Fun.A.”的记录,如果有则执行这个记录的内容字段中包含的脚本。
slide17
一个简单的脚本
  • 我们来看一个简单的脚本
    • =============================
    • 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中所有的变量都是字符串!
slide18
脚本函数的分类
  • “ITS.“开头的,意图有关的函数
  • “CN.“开头的,以集合为基础的语义网函数(CN=ConceptNetWork)
  • “Hook."开头的,Hook函数
  • “FW .”开头的,Tag系统函数
  • “Session.”开头的, Session函数,与用户有关的临时变量存储
  • “Net.“开头的,网络函数,如抓取网络信息,天气,IP等
  • "Vector.“开头的,向量函数
  • “Break.”开头的,中断函数
  • “Check.”开头的,判断检测函数
  • “Save.”开头的,保存函数
  • “Time.“开头的,时间函数
  • "SYS.“开头的,系统函数
  • “String.“开头的,字符串函数
  • “Var.“开头的,系统变量的一些函数
  • "File.“开头的,文件函数
  • "Math.“开头的,数学函数
  • “Map.“或”Search.“开头的,映射或搜索有关的函数。
slide19
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”)
slide21
Net函数介绍
  • 从google.cn抓取上海天气
    • A=String.URLENCODE(“上海天气")
    • HTML=Net.Post("www.google.cn","80","/search?q=【A】","GET","","utf-8")
  • Net.Post是抓取函数,
    • 第一个参数是网址
    • 第二个是端口
    • 第三个是文件地址
    • 第四个是方法
    • 第五个是Post的值(注意先编码)
    • 最后一个是编码方式。
  • Net.SendMsg
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格式
slide23
一个抓取上海天气的例子
  • 如果我们想输入:上海天气,或者输入: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.城市")
    • ========================================
slide27
AI的访问接口
  • AI除了可以web方式访问外。还可以通过GTalk,MSN,QQ访问
  • Web方式访问
    • 90端口,HTTP协议。
  • GTalk,MSN,QQ
    • 对应3个Msger程序。
ad