Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1720289
  • 博文数量: 171
  • 博客积分: 11553
  • 博客等级: 上将
  • 技术积分: 3986
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-25 20:28
文章分类

全部博文(171)

文章存档

2012年(2)

2011年(70)

2010年(9)

2009年(14)

2008年(76)

分类:

2008-08-24 01:03:41

如何让BayBens懂事?
    要教她知识啊!她学的知识越多,就越聪明,对于每一个人的提问就会有很好的表现了。可是如何实现这样的
    只能系统呢?属于人工智能(AI)问题了,我们使用ProLog来解决这个问题,而且很多这样的环境提供了C或
    Java接口,可以使用C来调用ProLog的库函数。下面我们将使用ProLog模拟一个歌曲查询的BayBens。
    
    1.给BayBens添加歌曲列表知识库
    2.给BayBens添加歌手信息知识库
   
    %歌手对应的歌曲列表
    whoseSong("周杰伦","青花瓷").
    whoseSong("周杰伦","千里之外").
    whoseSong("周杰伦","菊花台").
    whoseSong("周杰伦","简单爱").

    whoseSong("周传雄","寂寞沙洲冷").
    whoseSong("周传雄","我的心太乱").
    whoseSong("周传雄","黄昏").

    %歌手的信息
    %周杰伦信息
    infoSinger("周杰伦","英文名","Chow,Jay").
    infoSinger("周杰伦","生日","1979.01.18").
    infoSinger("周杰伦","身高","173cm").
    infoSinger("周杰伦","体重","60kg").
    infoSinger("周杰伦","血型","O型").
    infoSinger("周杰伦","星座","山羊座").
    infoSinger("周杰伦","学历","淡江中学音乐科").
    infoSinger("周杰伦","专长","写歌,作词,打球").

    %周传雄信息
    infoSinger("周传雄","艺名","小刚").
    infoSinger("周传雄","生日","08.07").
    infoSinger("周传雄","身高","178cm").
    infoSinger("周传雄","体重","68kg").
    infoSinger("周传雄","血型","O型").
    infoSinger("周传雄","星座","双子座").

   
    向BayBens问问题:
   
    question:周杰伦都有那些歌曲?
    command:whoseSong("周杰伦",X).
    answer:
    X = 青花瓷
    X = 千里之外
    X = 菊花台
    X = 简单爱
   
    question:询问《青花瓷》是否是周杰伦的歌曲
    command:whoseSong("周杰伦","青花瓷").
    answer:true
   
    question:询问《青花瓷》是否是周杰伦的歌曲
    command:whoseSong("周杰伦","我的心太乱").
    answer:false
   
    question:询问周杰伦的个人信息
    command:infoSinger("周杰伦",X,Y).
    answer:
    X = 英文名, Y = Chow,Jay
    X = 生日, Y = 1979.01.18
    X = 身高, Y = 173cm
    X = 体重, Y = 60kg
    X = 血型, Y = O型
    X = 星座, Y = 山羊座
    X = 学历, Y = 淡江中学音乐科
    X = 专长, Y = 写歌,作词,打球   
   
    这就是ProLog的语言,使用与人工只能的工具。需用ProLog作为BayBens的知识库建立方便,快捷!
   
    
阅读(1310) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~