• 用C#写MSN机器人


            临近转行,最近终于空下来了。不当程序员的日子真是舒服。也就有了点时间,真真正正的做点自己想玩的玩意。闲着无聊。想来想去。2004年里最让我感兴趣的也就是MSN机器人了。有趣呵。所以自己也做了一个。不过我向来反对什么都是自己从底层写起。因为以起过够了这种痛苦的日子。不然也不会用.net来做开发了。:)好偷懒么。
             做MSN机器人。当然首当其冲的是要MSN的协议了。还好。网上现成的DLL多的是。DOTMSN感觉是最最好的一个了,符合MSNP8协议,配上.net开发最爽了。当然也可以去用那个java写的jMSN。不过我向来讨厌JAVA。加上JAVA没一个像样的IDE。绝不在选择之内。
             然后就是写代码了。其实了没什么好说的。看http://members.home.nl/b.geertsema/dotMSN/example/Example.zip
    人家都有了。另外又偷了一下懒,捡了个现成的MSN Open Talk Service。然后在上面加挂自己写的DLL。
    不过人家是VB.net的代码。我不太懂vb.net还好反正都是.net的。花了一点时间转了。一下
    比如
    Private Sub Main_ConversationGreating(ByVal sender As OpenTopic.Topic, ByRef e As OpenTopic.TopicArgs) Handles MyBase.ConversationGreating
    转成C#的定义为
    this.ConversationGreating += new OpenTopic.Topic.TalkEventHandler(this.Main_ConversationGreating);
    void  Main_ConversationGreating(OpenTopic.Topic sender, ref OpenTopic.TopicArgs e)

    最后就是一个机器人AI的问题了。
    这个太头大了。理论上要做语法分析的。不过太太太难了。机器人毕竟不能和人相比。查了一下。中科院计算所汉语词法分析系统ICTCLAS。它们好像是说先断句。然后取最长的关键字。不过我试了一下网上的俏皮话。几乎绝望了。还是做的简单点吧。试着和机器人小布聊了一下。发现它也只是全关键字配置。比如你打“会” 它会说“不会”。你再打“你会什么”它就不懂了。
    最后决定后台的数据库语句用LIKE  '%关键字%' 这样只有关键字够好。比如 会   我还什么都不会。
    那样人家问“你会什么”,“会什么”。都是一样的语意了。
      不过最后网上没有找到现成的这种语言库。原本有个 捷?MSN机器人的软件里面有数据库。不过下载时竟说连接不上。:(没办法。只好自己在线教了。

    add (回车)
    格式:  问题+回答


    最后是几张图。
    不过过了今天也就是2004年7月9号。以后这个机器人就没机会上线了。因为我说过了。我要转行了。不做程序员了。所以可以没有机会上网了。。住的地方太破了。电话线没有。有线电视也没有。想拉宽带都不行。外加电费贵。一度要8毛多。搬新家太贵了。一般像样点的动不动就是1000一个月。穷苦的程序员,租不起

  • 相关阅读:
    JVM运行时数据区及对象在内存中初始化的过程
    一文搞懂List 、List<Object>、List<?>的区别以及<? extends T>与<? super T>的区别
    Java中创建泛型数组
    JavaBean详解
    Java常用命令及参数
    一文彻底搞懂Java中的环境变量
    类型信息
    java中的数组
    URL与URI的区别
    上行速率和下行速率
  • 原文地址:https://www.cnblogs.com/tongzhenhua/p/22652.html
Copyright © 2020-2023  润新知