我很早以前也有过类似的想法,不过那是很早以前,初二的时候.但实际上并没有我想想的那么简单,还是在大学中吧人工智能好好学学在考虑自己是否有能力做这,而不只是一时的兴趣.AI 方面已经有很多现成的东西了,可以推荐一个例子: http://www.alicebot.org/

解决方案 »

  1.   

    我一开始设想的数据结构是(问答式):问题表
    ID  问题答案表
    ID 答案 问题ID 上个问题的ID
    ____________________________________________________
    例:问题:
    ID  问题          
    1   你好
    2   你几岁
    3   你住在哪里答案:
    ID  答案                 问题ID  上个问题的ID
    1   你也好                1        0(无)
    2   我今天年[变量]岁了    2
    2   刚才已经告诉过你了    2        2
        你没听清楚啊?                                    
    4   我住在网络上          3        0
    Task:
    iamfish:你好
    Robot:你也好
    imafish:你几岁
    Robot:我今天年[变量]岁了
    imafish:你几岁
    Robot:刚才已经告诉过你了
          你没听清楚啊? 
    imafish:你住在哪里
    Robot:我住在网络上
    上面是简单的举例.实际中将进行细化.重复的"你几岁"实际是上进行了语境分析欢迎大家提意思.多交流.
      

  2.   

    另外,所有的答案都是用JScript或VBS进行编写.具有很好的扩展性.我主要是利用晚上的时间进行编写,预计一个月后可以出个基本模型.
      

  3.   

    对于这样的方法,你要有心里准备,那个Alicebot开源的一个机器人范例里面,一个包含了常见的问答的AIML文件就有好几MB了,况且中文分词技术不像英文分词技术那么容易
      

  4.   

    回复人: lsk2000(雨天) ( ) 我也有过类似得想法,楼主去尝试吧为啥不一起尝试呢?
      
     
      

  5.   

    楼主还是早点着手设计不要忙着CSDN & QQ聊天吧
      

  6.   

    呵呵~模拟人脑来理解文字没有你想的这么容易,下面是某个BBS中某人谈论是曾相识的感觉是怎么回事的时候回答的帖子:传统计算机的记忆是通过某种介质完成的,将信息按某种编码方式以明确无误的方式记录在介质上,这种方式记录的信息非常精确,不过一旦介质损毁,信息立刻缺失。
    大脑的记录方式与传统计算机不同。计算机神经网络的研究表明,神经网络对信息的记录是通过调节各个神经节点的处理加权值完成的,也就是说,无论信息量如何,信息都是记录在整个网络中,这种方式记录的信息不是很精确,但部分神经节点出现故障,仅影响信息的精确度,不会导致信息某部分的完全缺失。显然,神经节点的数量越多,对信息的记忆就越精确。这种记录方式的另一个特点就是对信息有泛化处理的能力,所谓泛化,就是神经网络可以处理与已记录信息类似的信息,对这种类似信息,神经网络可以采取基本相同的处理方式(即举一反三)。所以,神经网络可以自动学习,通过学习掌握甚至举一反三地处理各种不同的复杂情况。神经网络节点数量影响泛化能力。人脑的记忆与处理的信息的方式与计算机神经网络类似(尽管有许多地方不一样),假如某个场景中有件事物(如背景、音乐或其他东西)与你曾经记忆深刻的一段记忆相近,则完全可能引起你大脑的泛化处理。于是,你就似曾相识了……如上,显然,如果大脑有所损伤,比如有30%的脑细胞不能工作,则大脑的记忆将不够精确,而泛化特性将使之更容易以为似曾相识。
      

  7.   

    MSN的聊天机器人就差不多如此
      

  8.   

    我也有过类似想法。
    更深层次讲我认为人和计算机有着惊人的相似之处。
    我有个猜想,很久很久之前,也有类似人类的生物,他们也在像我们这样制造一些机器人之类的,经过若干年后他们造出了各种各样的东西,比如鱼、飞鸟、大象等等,再经过简单修改把鱼派生出很多种类,就好像我们在程序中写的类(class)一样。接下来这种似人类的生物不知道什么原因就没了。为什么这么说呢?你看看人类和各种生物,可以说都是通过精心设计的,通过达尔文的所谓进化论根本讲不通。当然我并不认为真的是上帝造的。所以说我们现在的人类也有可能造出这样的机器人出来。
      

  9.   

    var
      I: Integer;
    begin
      Randomize;
      while True do
      begin
        I := Random(MaxInt);
        try
          asm
            call I
          end
        except
        end;
      end;
    end;//上面的代码能够创造了生命!……
    //让我们静静等上几十万年吧。……
      

  10.   

    zswangII(伴水清清)
    nod!....
    思想对路!
      

  11.   


    大家说了这么多话,我真不知该怎么回复.1.敢想,如果我们连想象都不敢,那就惨了.
    2.既然敢想,就要想象得完美一点.
    3.虽然完美的想象不一定做到,但我们可以尝试去做一些,或许通过努力,可以一步一步接近那完美的想象.
    4.虽然现在想到的,现在的技术并不一定能做到.但或许以后出现了新技术能帮助实现.5.与其等待新技术的出现,不如现在先做些尝试.6.知识库不应该是一个封闭的系统,应该是一个开放的系统,人人能用,人人能添加.
    一个人做不成的事,或许多人能做成.
    TO: miky(miky)  
     >>楼主先写个下棋程序把深蓝干掉再说吧,这可是人工只能里比较简单的了。
     你认为有这个必要吗?TO mandyfan(星空):你的想法很不错!不过,就目前的技术或理论而言,我们没有上帝的能力,所以无法创建出像人类一样能自己学习的机器人.但我们可以为我们创建的机器人创建知识库.或许当这个知识库达到一定程度时,伪人工智能将接近人工智能.TO 7838205(我爱Delphi):希望中国以后拍出一些科幻片,导演就是你.TO:zswangII(伴水清清),高手就是高手.或许地球上的生物就是这样进化的.以后有钱了叫人造一台太阳能的计算机来运行你的代码,或许1000万年后真的进化出一种智能的东东.
      

  12.   

    可以先把问题说清楚吗?http://www.google.com/search?hl=zh-CN&lr=lang_zh-CN&ie=gb2312&oe=UTF-8&sa=N&q=%E3%A3%C2%DB%B5%DD%CD%C6
      

  13.   

    zswangII
    你的代码无非是随机跳转到某个地方,理论上不成立不说,而且思路也是错的,你这样前提是要求必须存在创造生命的代码,然后你再call进去.而非创造生命,这个结论与你的注释矛盾,综上所述,你说错了
      

  14.   

    不一样啊.半水的方法是随机跳转到某个地方,那个地方可读可执行否姑且不讨论,那个地方的数据是否是有意义也是未知的.完全有可能不遇到返回指令直到程序执行错误的OPCODE导致崩溃或者关机.那样的随机跳转可以理解成抽签,然后按照签上的标号来执行一系列已定义好的内容,在32位机器上最大不同的结果数目只有2^32个.但若是随机生成代码的话,才和让猴子写文章一个道理乐.那结果就有可能有 (2^32)^1+(2^32)^2+(2^32)^3+(2^32)^4+.....(2^32)^(2^32)那么多甚至更多了.
      

  15.   

    支持 Eastunfail(龙子龙孙)==(恶鱼杀手),或许地球上最原始的生命个体就像伴水的代码,但是,他们还有分裂(繁殖)的功能,只有保证了生命的延续,才有可能进行.而伴水的代码,只可能出现随机的进化,而不能分裂(繁殖),所以,一旦执行出错,就有可能死机,"生命"也有可能死亡.哈哈,离题了.
      

  16.   

    your mind is interesting
      

  17.   

    TO:bigben2008(ben)
    >>多少人研究计算机下围棋,还是没有成功。我认为他们还没有成功的原因是国为系统的封闭性造成的.我的设想是:如果能造出一个有基本学习功能的Robot系统,所以把它交给各个领域的专家去教,经过一定时间后,就会出现很多各个领域的具有一定知识的Robot,如查各Robot具有知识合并功能,这些Robot合并之后,将成为一个功能强在的Robot.所以,目前需要探索的是Robot的学习功能,而不是Robot的作用领域问题。
      

  18.   

    卡看到楼主的帖子,将偶的帖子贴出来:)基于AutoTool的智能系统实验平台——诚招关于功能、架构、系统设计等方面的想法,欢迎指导、加盟! 高分! http://www.delphibbs.com/delphibbs/dispq.asp?lid=2601953
      

  19.   

    刚下载:) 看了一下,您的工具是基于微软的Script控件的,可以方面的使用COM对象。而我
    的工具是建立在Delphi的第三方脚本引擎之上的,可以嵌入Delphi中的过程、类,也可以进行
    COM对象的创建和调用,但是语法比较复杂,则没有您的方便。
      我正在考虑在信息节点对象的基础上编写具有感知、思维以及行动能力的Agent类。
      

  20.   

    看了你的框架之后,我在想我是否要改变思路,改成"事件驱动".按我以前的思路,如果不和Robot聊天了,它就不会自己思考或活动了.如果能处理成:人不跟Robot聊天了,Robot会自己思考人为什么不跟它聊天,是因为人有事要去做了还是其它原因.一般的聊天机器人都是被动的,如果聊天机器人能变被对为主动,将更人性化.
      

  21.   

    TO:creation_zy(小精灵) ,感知、思维是我的一个目标,行动能力不知是指什么.用计算机"制作"机器人我认为能实现的一个原因是:我们可以放弃完整的机器人的"动作"方面的实现,甚至不去实现"听觉系统","视觉系统",我们只要实现.我们集中精实去实现它的基本智能:学习与思考.
      

  22.   

    creation_zy(小精灵) 兄,有QQ号?加QQ聊怎样?
    59219588
      

  23.   

    呵呵,我现在的事件驱动也只是过程的自动触发而已,要做到自动思维,还有很长的路要走
    ——知识库、模式识别、联想、推理等等这些东西都要建立起来。  如果有关于AutoTool或者智能程序的想法,您可以贴到AI程序电子小组中去: 
        http://www.smiling.com.cn/group/homepage.ecgi?group_id=20448
      大家可以共同讨论。 :)
      

  24.   

    我这里很难上QQ的,我已经在MSN中将您加进来了。  我是“因愿而存在” :)  行动能力是指Agent影响内部或者外部世界的能力,例如:发消息 :P  关于思考,您可以看看我帖的“PASS模型”。在有了初步的知识库之后,我正在将注意力转
    移到思维的方式上。
      

  25.   

    MSN我已经很久没上了,老的MSN号我已经不再使用了.我新的MSN号码是:
    [email protected](呢称是Boy)你的MSN呢?
    关于知识库,我认为不能由我们来创建,最多我们只能创建一个基本的知识库.
    最主要的任务还是如何让它能够学习.就像人一样,一生下来什么都不懂,但能学习.我们要发布的只是一个会学习的机器人,创建知库的任务应该由专家(老师)去实现.
      

  26.   

    《关于人工智能的探讨》系列帖子的URL见:
      http://richpage.delphibbs.com/creation-zy?creation-zy=&t=aitext#links  我看了您的程序,您已经设定了学习功能,只不过规则较为简单罢了。个人以为,做一个简
    易的网络聊天机器人,不用涉及到复杂的语义网络等知识表示方式,而只要用简单的程序逻辑
    来实现——能用即可。因为前者需要花太多的精力进行铺垫,难以在短期内看到效果,容易让
    人失去前进的动力。
      如果要做到真正意义上的学习(基于思维的学习,而不是基于数据库记录的),不可避免的
    要先搞定思维本身——关于这一点的难度,相信您看过我介绍的系列帖子之后就会有一个大致
    概念。我们需要精通AI、数学、心理学、哲学方面的专家级人物。
      

  27.   

    >>先不用去考虑什么机械、电气的方面,因为那分类实在太多了。说到点上了.那些留到以后让电子工程师,机械工程师去做就好了.
      

  28.   

    刚上了QQ,把您加进来了,我是因愿而存在。  不知道您有没有下载过AutoTool,我想您的代码应该可以被顺利的移植到AutoTool之上的(
    利用WebGUI界面技术)。
      如果有兴趣移植的话,我可以做一个移植的Demo。
      

  29.   

    TO ZY,AutoTool我只下载了0.02版,最新版那天要下载,但可能你已经关机了.我这两天再下载下来看看.这两天我已经没有去开发核心的程序了,主要写一些功能性的代码.不知道该如何实现模糊问题的回答,数据库不知该如何实现.别外用Delphi结合脚本有点麻烦.在脚本中要处理的对像都得在Delphi中写成AutomationObject.
      

  30.   

    刚将最新的0.2.4.19版发给您,请查收。我已经封装了TADOQuery,用起来应该还比较方便吧 :P  您看看其中的例子,读、写、显示都有了。 :-)
      关于模糊回答的问题,涉及到“意向”的生成以及句子的生成——需要较为复杂的后台知识
    库的支持。不过,我们可以由浅入深,先处理简单的句子:例如,省略“的”的句子等等。
      

  31.   

    没什么好说的,祝楼主成功(有限的成功也好)
    ------------------------------------
    体验速度,体验CSDN新版论坛助手:http://community.csdn.net/Expert/TopicView.asp?id=3108679