新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     >>计算机科学论坛<<     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Semantic Web(语义Web,语义网或语义万维网, Web 3.0)及相关理论,如:Ontology(本体,本体论), OWL(Web Ontology Langauge,Web本体语言), Description Logic(DL, 描述逻辑),RDFa,Ontology Engineering等。
    [返回] 计算机科学论坛W3CHINA.ORG讨论区 - Web新技术讨论『 Semantic Web(语义Web)/描述逻辑/本体 』 → 『原创』LumaQQ+OWL--第一步 智能的产生?谁知道呢 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 3807 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 『原创』LumaQQ+OWL--第一步 智能的产生?谁知道呢 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     吴烜 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:94
      门派:XML.ORG.CN
      注册:2006/2/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给吴烜发送一个短消息 把吴烜加入好友 查看吴烜的个人资料 搜索吴烜在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问吴烜的主页 引用回复这个贴子 回复这个贴子 查看吴烜的博客楼主
    发贴心情 『原创』LumaQQ+OWL--第一步 智能的产生?谁知道呢

    就一点初步的理解,本体的目的在于信息整理与增进沟通,而聊天工具应该是一个极好的试验的平台和载体。最近才发现了OWL这个好东西和W3CHINA,再加上lumaQQ中的聊天机器人,我想“好像料差不多齐啦,试着做点菜吧”。不管是糊的还是焦的,请各位先尝尝吧(由于接触本体不久,下面的说明对技术术语的使用和理解可能都有偏差;再加编程实力有限,各位请不吝指教)。
    由于是基于lumaQQ的,此代码也应该遵循GNU General Public License 许可证(简称GPL)吧。

    今天W3CHINA和lumaqq论坛上都发了,各位同好串串门吧~~

    目标:
    总的来说就是在聊天机器人中加入本体逻辑,实现汉语的本体运算映射(比如“人是动物<--人是动物的subclass”),再利用聊天机器人<-->人与机器人之间的聊天扩大知识库

    现在实现的:
    lumaQQ部分:
    离线状态下的人机对话(用同一帐号,后简称为“自话”)
    robot部分加入owl:
    1、实现class的父子关系
    2、实现owl文件本地存取
    3、机器人之间的初步交谈

    下面有几个角色:
    我-人 
    baby、圆圆-2个帐号,开启了机器人
    设想的用例是:
    我向baby灌输名词概念,格式为1、“××!”,baby直接记住此定义,作为一个OntClass,不问“什么是”问题。
                  2、“×1是×2”,baby查询现有库记住                ---实现
    baby将名词加入现有库,若宾语在现有库中没有,则问人“什么是'×2'”
               若有则加入                         ---实现
    我向baby问“什么是××?”baby找现有库中所有××的父类×1、×2...,若有则以“'××'是一种'×1' 是一种'×2'”表达
                 若无父类则问圆圆(以后可能做到向所有认识的robot发问)看她知不知道,如果知道就返回结果。--程序有误,未能实现
    自话时(在聊天机器人菜单中添加了一项“talk to robot”),可以做以上3件事


    我的安装可编译版本过程:
    0、下载Jena-2.3,解压
    1、下载lumaqq_2005_source_2006.01.30.02.00源码包
    2、解压后在eclipse3.1.0中打开(File->Import->Existing Projects into Workspace,选解压所在目录,五个文件夹全部导入)
    3、报N个错,Window->Preferece->Java->Compiler中Compiler compliance level选为5.0,重编译,只有warning了
    这里可以先解决8打开lumaQQ中的聊天机器人
    4、向jql_net_2005导入nobody.zip,其中是增加的几个文件和修改的DummyRobot(owl相关部分),在jql_net_2005工程上右键Import->Archive file,选nobody.zip,在下面的路径栏中填“/”,ok
    5、编译后报N个错,缺jar包,加入Jena目录下的junit,jena,xercesImpl,icu4j_3_4,jakarta-oro-2.0.8包
      在jql_net_2005工程上右键->Properities->Java Build Path->Libaries->Add External JARS
    注:
    6、向LumaQQ_2005导入nobody_qq.zip(MenuHelper与SendIMWindow(直接在对话框中嵌入robot处理,呵呵,懒,问题也多,和发送信息混在一起了))
    7、run->Java Application,main class栏中选edu.tsinghua.lumaqq.LumaQQ
    Console窗口报异常!
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3138 in java.library.path
     at java.lang.ClassLoader.loadLibrary(Unknown Source)
     at java.lang.Runtime.loadLibrary0(Unknown Source)
     at java.lang.System.loadLibrary(Unknown Source)
     at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123)
     at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18)
     at org.eclipse.swt.widgets.Widget.<clinit>(Widget.java:69)
     at edu.tsinghua.lumaqq.LumaQQ.main(LumaQQ.java:121)
     解决:
      在run的配置窗口中,VM arguments栏中: -Djava.library.path=$(lumaqq解压路径)\LumaQQ_2005\dist_win32_x86\swt
      重编
    现在可以run出来了
    8、菜单中无“聊天机器人”,http://lumaqq.linuxsir.org/article/how_to_add_robot.html  如何加机器人
    9、“聊天机器人”-->“开始聊天机器人”,qq挂掉了,报异常:
    Exception in thread "main" java.lang.NoSuchMethodError: org.apache.xerces.parsers.SAXParser.<init>(Lorg/apache/xerces/xni/parser/XMLParserConfiguration;)V
     at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser$MySAXParser.<init>(RDFXMLParser.java:55)
     at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser.create(RDFXMLParser.java:82)
     at com.hp.hpl.jena.rdf.arp.JenaReader.<init>(JenaReader.java:76)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
     at java.lang.reflect.Constructor.newInstance(Unknown Source)
     at java.lang.Class.newInstance0(Unknown Source)
     at java.lang.Class.newInstance(Unknown Source)
     at com.hp.hpl.jena.rdf.model.impl.RDFReaderFImpl.getReader(RDFReaderFImpl.java:101)
     at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:221)
     at com.hp.hpl.jena.ontology.OntDocumentManager.findMetadata(OntDocumentManager.java:953)
     at com.hp.hpl.jena.ontology.OntDocumentManager.initialiseMetadata(OntDocumentManager.java:912)
     at com.hp.hpl.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:199)
     at com.hp.hpl.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:181)
     at com.hp.hpl.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:165)
     at com.hp.hpl.jena.ontology.OntDocumentManager.getInstance(OntDocumentManager.java:243)
     at com.hp.hpl.jena.ontology.OntModelSpec.getDocumentManager(OntModelSpec.java:317)
     at com.hp.hpl.jena.ontology.impl.OntModelImpl.getDocumentManager(OntModelImpl.java:192)
     at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:163)
     at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:130)
     at com.hp.hpl.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:385)
     at com.hp.hpl.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:344)
     at com.hp.hpl.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:327)
     at edu.tsinghua.lumaqq.qq.robot.DummyRobot.<init>(DummyRobot.java:48)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
     at java.lang.reflect.Constructor.newInstance(Unknown Source)
     at java.lang.Class.newInstance0(Unknown Source)
     at java.lang.Class.newInstance(Unknown Source)
     at edu.tsinghua.lumaqq.ui.helper.ConfigHelper.getRobot(ConfigHelper.java:402)
     at edu.tsinghua.lumaqq.ui.helper.MenuHelper$78.widgetSelected(MenuHelper.java:1427)
     at edu.tsinghua.lumaqq.widgets.menu.CMenuItem.fireSelectionEvent(CMenuItem.java:107)
     at edu.tsinghua.lumaqq.widgets.menu.CMenu.handleMouseUp(CMenu.java:344)
     at edu.tsinghua.lumaqq.widgets.menu.CMenu$1.handleEvent(CMenu.java:206)
     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
     at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3080)
     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2713)
     at edu.tsinghua.lumaqq.ui.MainShell.open(MainShell.java:398)
     at edu.tsinghua.lumaqq.LumaQQ.main(LumaQQ.java:151)
     解决:
      google出来好像说xerces版本冲突,于是lumaQQ_2005中依赖的jar包中删去xerces.jar,luma不要打我,俺不知道会有啥后果...先这么凑合吧
     再run!千万不要死...怎么还假死一下...
     呼呼~~终于ok了
     玩吧~~
     
    我的一点自话记录:
    (baby)  2006-02-19 15:37:28

    (baby)  2006-02-19 15:37:29
    ‘人’是一种‘东西’ 是一种‘动物’ 是一种‘生物’
    (baby)  2006-02-19 15:41:04
    帅哥
    (baby)  2006-02-19 15:41:04
    什么是帅哥?
    (baby)  2006-02-19 15:41:28
    帅哥是男人
    (baby)  2006-02-19 15:41:28
    ‘帅哥’是一种‘男人’ 是一种‘东西’ 是一种‘动物’ 是一种‘生物’ 是一种‘人’
    (baby)  2006-02-19 15:44:16
    女人!
    (baby)  2006-02-19 15:44:16
    哦!
    ...
    ...我躲砖头~~躲飞斧 呵呵 够土的 大家见笑呵
     
    好玩的事情,不想一个人玩了,请大家一起吧!
    还有好多想做但不知能不能做的事情没写,大家一起侃吧!

    注:没有将class文件替换到可单独运行的lumaQQ中进行测试
    附件说明:两个源码包,两个owl是两个孩子产生的,都没仔细看...~o~   
    刚发现新注的帐号没法上传附件 我哭...到http://www.linuxsir.org/bbs/showthread.php?t=243245下载吧


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/19 16:11:00
     
     jiexincao 帅哥哟,离线,有人找我吗?
      
      
      威望:6
      等级:计算机学士学位
      文章:394
      积分:2379
      门派:XML.ORG.CN
      注册:2005/1/27

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jiexincao发送一个短消息 把jiexincao加入好友 查看jiexincao的个人资料 搜索jiexincao在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jiexincao的博客2
    发贴心情 
    很有创意,不错。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/20 11:02:00
     
     吴烜 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:94
      门派:XML.ORG.CN
      注册:2006/2/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给吴烜发送一个短消息 把吴烜加入好友 查看吴烜的个人资料 搜索吴烜在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问吴烜的主页 引用回复这个贴子 回复这个贴子 查看吴烜的博客3
    发贴心情 
     感觉起来是两条路:
     一、先由学术界制定标准,在大公司(极有可能是国外的)推广,其他网络信息跟进此标准
     二、从现实生活用语开始的素材积累,在大量素材的积累过程中形成最受欢迎的原语和规则
     二才是自然的过程,结果也将是最贴近我们自己思维方式的;而一是一种自上而下式的信息标准化,偏颇在所难免
     感觉就像教小孩(lumaqq中的聊天机器人)认识世界,只不过这些“小孩“是通过网络的自动互相传递问题与回答,或者是用合并RDF文件(可能牵涉到统计?)的方式进行交流与互相学习
     刚开始看DL Handbook,第15章自然语言应用,一个印象就是DL关于这方面的研究热潮和网络普及好像错开了,也许是因为这样才使得本体的建立至今基本都是一个个“孤岛”?(“孤岛”的说法只是感觉,欢迎拍砖)
     赫赫,也许只是因为厌倦了遵照现成的标准才会有这种想法

      大意如下图,现在正在考虑问答部分,觉得原语中应该有“什么是”和“为什么”问题以及相应的答案,而“如何...”的问题感觉可由前两者导出答案?不确定...。我的试验是从“什么是”开始的。在图中人-机器人和机器人之间的问答格式都是统一的。
      觉得从不完全的语义内容和推理开始做,也是个学习的方法。


    此主题相关图片如下:
    按此在新窗口浏览图片

    [此贴子已经被作者于2006-2-21 13:39:24编辑过]
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/20 21:44:00
     
     吴烜 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:94
      门派:XML.ORG.CN
      注册:2006/2/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给吴烜发送一个短消息 把吴烜加入好友 查看吴烜的个人资料 搜索吴烜在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问吴烜的主页 引用回复这个贴子 回复这个贴子 查看吴烜的博客4
    发贴心情 
    下面和本区的内容有点距离,不过俺就用“形式和内容同样重要”给自己壮胆吧。
    初步设想如下面两个简图,“大人”就是qq用户,“孩子”就是聊天机器人,呵呵,拟人一下。

    现在就有的几个问题,
     qq方面,前提是尽量减少对qq的影响和对lumaQQ的修改,利用现有的功能实现。
      1、孩子之间的问题死循环对问如何解决
      2、当无法回答或者无法理解时,孩子产生的问题如何实现网络的广播(喊一嗓子)。首先是如何区分孩子和大人,其次是用什么形式发出问题。想到的是用好友验证的信息发出问题,因为一开始都不是好友。

     关键是“理解”方面,现在很迷茫。想从有限的推理入手。
     现在可以说是在可行性分析,也不知道会不会有过不去的坎...。
    此主题相关图片如下:
    按此在新窗口浏览图片
    此主题相关图片如下:
    按此在新窗口浏览图片

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/21 20:18:00
     
     ygzw 帅哥哟,离线,有人找我吗?魔羯座1968-12-26
      
      等级:大二期末(数据结构考了98分!)
      文章:64
      积分:377
      门派:GOOGLEBBS.NET
      注册:2005/7/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给ygzw发送一个短消息 把ygzw加入好友 查看ygzw的个人资料 搜索ygzw在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看ygzw的博客5
    发贴心情 赵维的一点评论
    您给我(http://blog.donews.com/ygzw/)留言,我就看了。觉得您有些新思想,不知谁的话“大胆假设,小心求证”。我当年,大概20年前吧,也如你一样,如此“大胆假设”的,所以就不知不觉地“小心求证”了20多年了。当然我比较笨蛋,如今还不能够推广出自己的语用网项目(http://blog.donews.com/ygzw/),相信您的将来定比我强啊。

    我认为,在这个相关的领域里面,只有语用网项目(http://blog.donews.com/ygzw/)一条途径,不信?您仔细推敲一下,就会相信我了。

    哦,这里面并没有什么前瞻性的理论,只是一个实践性的系统技术而已,属于系统技术创新。您把这些思索当成前瞻,主要是您的阅读量少的缘故,里面的思想火花,甚至系统模型都被研究成熟了。只是由于计算机技术本身没有发育足够成熟而不能更早地实现而已。现在,技术已经成熟,所以我们就可以实现语用网计算系统了。


    [此贴子已经被作者于2006-2-23 14:10:02编辑过]
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/23 12:24:00
     
     teitou 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:18
      积分:169
      门派:XML.ORG.CN
      注册:2005/10/7

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给teitou发送一个短消息 把teitou加入好友 查看teitou的个人资料 搜索teitou在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看teitou的博客6
    发贴心情 
    赞!
    继续努力
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/24 18:59:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/9/28 5:02:55

    本主题贴数6,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    93.750ms