知识图谱实战开发案例完全剖析第4部分_第1页
知识图谱实战开发案例完全剖析第4部分_第2页
知识图谱实战开发案例完全剖析第4部分_第3页
知识图谱实战开发案例完全剖析第4部分_第4页
知识图谱实战开发案例完全剖析第4部分_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、知识图谱实战开发案例剖析主讲:张子良第一部分知识图谱基础第二部分知识图谱设计目录第三部分知识图谱第四部分知识图谱应用第五部分知识图谱获取第四部分第四部分知识图谱应用 第一个智能聊器人人工智能标记语言AIMLPython与Neo4j的集成Neo4j与AIML的集成1.1 Pyaiml开发环境部署:官网1.1 Pyaiml开发环境部署:官网1.1 Pyaiml开发环境部署:目录结构1.1 Pyaiml开发环境部署:源码结构1.1 Pyaiml开发环境部署:源码结构1.1 Pyaiml开发环境部署:源码结构1.1 Pyaiml开发环境部署:源码wfs/pyaiml1.1 Pyaiml开发环境部署:源

2、码安装python setup.py install1.1 Pyaiml开发环境部署:源码目录结构1.2 第一个聊器人实例-创建工程1.2 第一个聊器人实例-创建启动配置文件1.2 第一个聊器人实例-创建主程序1.2 第一个聊器人实例-运行效果第四部分第四部分知识图谱应用第一个智能聊器人 人工智能标记语言AIMLPython与Neo4j的集成Neo4j与AIML的集成2.1 AIML对象结构2.2.1 AIML基本元素-命名空间1.Aiml:定义在AIML文件的开头和结尾。 它包含在版本和编码属性的版本和编码信息。语法结构:<aiml:aimlversion = number>&l

3、t;!-Content: top-level-elements) -></aiml:aiml>2.2.2 AIML基本元素-主题(Topic)一、语则:三、典型案例<aiml><topic name="功夫"><category><pattern> phrase </pattern><that> phrase </that><template> phrase </template></category><!- Category: t

4、op-level-element -><aiml:topicname = aiml-simple-pattern-expression ><!- Content: aiml:category+ -></aiml:topic>二、规则说明1. 顶级元素:可以包含<Category></Category>2. 可选元素:一个AMIL对象必须包含0/1个主题元素;</topic>3. Name属性:必须包括Name属性;</aiml>4.空间:完整的匹配路径;5. 设置主题:只有当前的topic系统变量是“功夫

5、”时才会匹配到这里;用于AIML背景下进行。上下文,这样以后可以谈话基于这一2.2.3 AIML基本元素-类别(Category)一、语则:<!- Category: top-level-element -><aiml:category><!- Content: aiml-category-elements -></aiml:category>二、规则说明1. 顶级元素或元素(包含于Topic);2. 必选元素:一个AIML必须包含1-N个类别元素;3. 无属性:4. 必须包含子:<pattern></pattern>和&

6、lt;template></template>2.2.4 AIML基本元素-模式(Pattern)一、语则<!- Category: aiml-category-elements -><aiml:pattern><!- Content: aiml-pattern-expression -></aiml:pattern>二、规则说明1. 用户表达内容;2. 必选元素:一个类别必须包含1-N个模式元素;3. 无属性:4. 必须包含配对:<template></template>5. 第一子元素:Categor

7、y;2.2.5 AIML基本元素-模板(Template)一、语则<!- Category: aiml-category-elements -><aiml:template><!- Content: aiml-template-elements -></aiml:template>二、规则说明1.回复内容;2. 必选元素:一个类别必须包含1-N个模板元素;3. 无属性:4. 必须伴随配对:<pattern></ pattern>5. 第二子元素:Category;2.2.5.1 AIML基本元素-模板-原子模板元素(Sta

8、r)一、Star:表示*替代Pattern中的第Index个“*”所表述的内容1.1 语则<! - Category:aiml-template-elements - ><aiml:starindex = single-integer-index />1.2 典型案例用户:名字叫黑山!<pattern>* 名 字 叫 *</pattern><template>呵呵,我知道了,你的名字叫<star index="2"/>。</template>1.3 注意事项pattern元素里的匹配模式是用

9、*号表示任意匹配的,但在其他元素里面不能用*号,而用<star/>这个元素来表示。2.2.5.1 AIML基本元素-模板-原子模板元素(Template-side that)<category>2. Template-side that:用户输入的内容<pattern>*</pattern><that>* 的 型 号 是 什 么</that><template><star/>这个型号是<thatstar/>里面<random><li>很好的商品</li>

10、;<li>很流行的商品</li><li>很华丽的商品</li><random>。</template></category>场景: 用户:你好人:计算机 的 型 号 是 什 么用户:p4人:p4这个型号是计算机里面很好的商品2.1 语则:<!- Category: aiml-template-elements -><aiml:thatindex = (single-integer-index | comma-separated-integer-pair) />2.2 典型案例<ca

11、tegory><pattern>你好</pattern><template>计算机 的 型 号 是 什 么</template></category>2.2.5.1 AIML基本元素-模板-原子模板元素(Input)3.2 典型示例:3. Input:用户输入的内容<input index="2"/>将输出用户倒数第2次的输入,看如3.1 语则:下:用户:好阿人:你也好,你叫什么名字?用户:我叫黑山人:呵呵,你好黑山。如果有aiml文件里有片断:<category><patter

12、n>嘿 嘿</pattern><template><gossip>你刚才说:“<input index="2"/>”?</gossip></template></category><!- Category: aiml-template-elements -><aiml:inputindex = (single-integer-index | comma-separated-integer-pair) />如果这个时候用户输入“嘿嘿”,那么人将回复:你刚才说:“我

13、叫黑山”?Index属性的数字表示倒数第几句话,1:倒数第一句,2: 倒数第2句,依此类推。2.2.5.1 AIML基本元素-模板-原子模板元素(Thatstar)<category>4. Thatstar:元素先前第n个的话;人说过的星号部分<pattern>*</pattern><that>* 的 型 号 是 什 么</that><template><star/>这个型号是<thatstar/>里面<random><li>很好的商品</li><li>

14、;很流行的商品</li><li>很华丽的商品</li><random>。</template></category>场景: 用户:你好人:计算机 的 型 号 是 什 么用户:p4人:p4这个型号是计算机里面很好的商品2.1 语则:<!- Category: aiml-template-elements -><aiml:thatstarindex = single-integer-index />2.2 典型案例<category><pattern>你好</pattern

15、><template>计算机 的 型 号 是 什 么</template></category>2.2.5.1 AIML基本元素-模板-原子模板元素(Topicstar)5. Topicstar:元素用来得到先前倒数第n次谈论的主题;5.1 语则:<!- Category: aiml-template-elements -><aiml:topicstarindex = single-integer-index />5.2 典型案例2.2.5.1 AIML基本元素-模板-原子模板元素(Get)6. Get:用于获取在AIML变量的

16、值;6.1 语则:<!- Category: aiml-template-elements -><aiml:getname = aiml-predicate-name />6.2 典型案例:2.2.5.1 AIML基本元素-模板-原子模板元素(Short-cut)7.1 SR:<srai><star/></srai>典型案例:<gender>She told him to take a hike.</gender>将被替换成:He told her to take a hike,跟性语则:<! - Cat

17、egory:aiml-template-elements - ><AIML:SR />7.2<2:第一人称替换为第二人称2><star/></2>语则:别有楚。单词都将被替换,中文怎么处理不是很清<!- Category: aiml-template-elements -><aiml:7.32/>:第一人称替换为第三人称<语><star/></>则:<!- Category: aiml-template-elements -><aiml:/>7.4 gend

18、er:替换以及代名词语则<gender><star/></gender>2.2.5.1 AIML基本元素-模板-原子模板元素(System-defined predicates)7.1 Date:系统时间;语则:<!- Category: aiml-template-elements -><aiml:date/>7.2 ID:用户ID语则:<!- Category: aiml-template-elements -><aiml:id/>7.3 Size:元素数量语则:<!- Category: aiml-

19、template-elements -><aiml:size/>7.4 Version:版本语则:<!- Category: aiml-template-elements -><aiml:version/>2.2.5.2 AIML基本元素-模板-文本格式化元素(Text Format)1 Uppercase:元素转换为大写4. Sentence:格式化句子语则:语则:<!- Category: aiml-template-elements -><aiml:uppercase><!- Contents: aiml-templ

20、ate-elements -></aiml:uppercase2 Lowercase:元素转换为小写<!- Category: aiml-template-elements -><aiml:sentence><!- Content: aiml-template-elements -></aiml:sentence>典型示例:<sentence>this is some kind of sentencetest.</sentence>This is some kind of sentence test.典型案例:

21、<upcase>xiaoxie</upcase>XIAOXIE语则:<!- Category: aiml-template-elements -><aiml:lowercase><!- Content: aiml-template-elements -></aiml:lowercase>3 Formal:格式化,首字母大写,标题样式语则:<!- Category: aiml-template-elements -><aiml:formal><!- Content: aiml-template-

22、elements -></aiml:formal>2.2.5.3 AIML基本元素-模板-条件元素1.Condition:条件语句典型示例:<?xml version="1.0"encoding="UTF-8"?><aiml version="1.0.1" encoding="UTF-8"?><category><pattern> HOW ARE YOUFEELING TODAY</pattern><template><

23、think><setname="state"> happy</set></think><condition name="state"value="happy">I am happy!</condition><condition name="state"value="sad">I am sad!</condition></template></category></aiml>

24、;Human: How are you feeling today Robot: I am happy!2.Random:随机选择语法结构:<!- Category: aiml-template-elements -><aiml:random><!- Contents: default-list-item+ -></aiml:random>典型示例:2.2.5.4 AIML基本元素-模板-捕获元素1.Set:设置变量取值语法结构:<!- Category: aiml-template-elements -><aiml:setna

25、me = aiml-predicate-name ><!- Contents: aiml-template-elements -></aiml:set>典型示例:2.2.5.6 AIML基本元素-模板-转换元素1.2:人称替换3.Gender:替换<!- Category: aiml-template-elements -><!- Category: aiml-template-elements -><aiml:gender><!- Contents: aiml-template-elements -></ai

26、ml:gender><aiml:2><!- Contents: aiml-template-elements -></aiml:2.2>:人称替换<!- Category: aiml-template-elements -><aiml:><!- Contents: aiml-template-elements -></aiml:>2.2.5.7 AIML基本元素-模板-隐藏元素1.Think:用户输入且里面的内容不回复给用户典型案例:<category><pattern>I AM

27、FEMALE</pattern><template>Thanks for telling me your gender.<think><set namegender>female</set></think></template></category>语则:<!- Category: aiml-template-elements -><aiml:think><!- Contents: aiml-template-elements -></aiml:think&

28、gt;典型案例:下面的示例:把female这个值保存到gender这个变量里,且回复内容不包括female2.2.5.7 AIML基本元素-模板-隐藏元素1.Learn:检索,并加载典型案例:<aiml version="1.0.1" encoding="UTF-8"><!- std-startup.xml -><!- Category是一个自动的AIML单元 -><category><!- Pattern用来匹配用户输入 -><!- 如果用户输入 "LOAD AIML B&qu

29、ot; -><pattern>LOAD AIML C</pattern><!- Template是模式的响应 -><!- 这里学习一个aiml文件 -><template><learn>basic_chat.aiml</learn>语则:<!- Category: aiml-template-elements -><aiml:learn><!- Contents: uri-reference -></aiml:learn><!- 你可以在这里添加的aiml文件 -><!-<learn>more_aiml.aiml</learn>-><learn>tuling.aiml</learn>&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论