2020-12-24

风口即将到来?机器人拥有思考能力还会远吗?

 

本文系首届“认知智能”研讨会讨论部分会议纪要。首届“认知智能”研讨会,由华东师范大学计算机学院主办,于12月8日在华东师范大学中山北路校区办公楼小礼堂成功举办。会中多位专家学者进行了学术报告,并围绕认知智能的学术发展和工业落地展开了深入的讨论。参加讨论的专家学者包括复旦大学的肖仰华教授,华东师范大学的周爱民教授、贺樑教授和林欣教授,平安集团的徐国强博士,上海脑科学与类脑研究中心的周熠博士,华为云的怀宝兴博士以及字节跳动的李磊博士。探讨的内容包括符号主义与联结主义的融合、认知智能的实现路径、群体智能的意义、认知智能的评估与测试、认知智能的工程落地以及开放世界下的认知智能。

 

Part 01

符号主义与联结主义的融合

 

肖仰华教授

符号主义和联结主义的一种融合方式,是今天很多专家都提到的问题,我们现在基本上是case by case的去解决不同的任务,根据不同的情况设计相应的融合机制,那我们有没有一种不一样的融合机制?如果有大概是个什么样的情况,还是说我们真的就只能承认,真的就只能case by case去设计各种各样的融合方式。

李磊博士

这个问题确实是人工智能研究者很关心问题,我看到的一种方法是让符号是去decompose一个问题,把它分解这个问题做planning,然后让神经网络去做更底层的推理。还有另外一种比较有效的是通过图神经网络,图神经网络怎么来用是比较困难的,一种图神经网络本身是带有知识的,它就是结构化的一个knowledge graph,虽然不像一阶逻辑那样非常严格,但它其实已经带有知识了。在这上面通过图神经网络自然就可以把它训练成向量化的表示,这时候和其他的神经网络模型去融合就会比较容易一点。还有一些新的工作,佐治亚理工宋乐老师他主要研究图和deep learning的耦合,也是一条可行的路,但是现在还没有定论。

周爱民教授

我们也做了一些尝试,我们也是把符号和联结主义融合在一起,我们整个工作还是用的深度网络来做的联结的东西,但是我们系统的最终输出是符号。前面是一个神经网络,后面输出的符号结果带有很强的可解释性。这种从这个角度来说,是不是也有一种可能?

怀宝兴博士

今天很多专家也讲了,知识其实蕴含在很多地方,图里边已经有很多知识,还有语言模型里面的。实际上,我们把油气勘探里面的一些知识比如油井区块、地层等做了一个知识图谱,但我们并不是仅仅用了图谱,而是把里面的一些结构知识有效利用起来。专家他会给我们介绍哪些结构是比较有用的,我们仅把这一部分的图谱做embedding,再放到神经网络里面去做一些知识的补充,实际上也是两者的一种结合。我们做了非常多的实验和算法,单独用哪一种,效果都不太好。我们的知识在没那么完备的情况下,有限的去利用里边的知识作为一些补充,是当前阶段可以做的一些事情。

周熠博士

我认为是可以的,但可能需要付出比较大的努力。现在已经有很多这种符号和联结主义融合的方式,大部分都采松耦合的方式。松耦合已经是很成功了,而且是很有用的方式。但松耦合很多时候是case by case的,具体的任务设计一种不同的松耦合方式。但如果从科学的角度,紧耦合一定是一个大家希望看到的事情,但是我们是希望通过跟脑科学的一些发现来结合,我们大脑到底是如何处理这种符号结构化的信息和知识,从而得到一些启发来干这个事。

贺樑教授

符号出现是因为我们人已经学了很多,然后我们就把这个符号系统给归纳出来,归纳的同时也在验证它是不是对的。一个是我们如何使用符号系统,另外一个是符号是怎么被创产生出来的,或者说人的创造力是怎么形成的,如果在产生符号系统这方面,我们能够向前走一步,很多客观规律的东西会被解决。符号系统的产生还是比较高级的一个能力,因为你利用到了很多归纳演绎推理,然后反向再去做验证。

 

 

 

 

Part 02

认知智能的实现路径

 

肖仰华教授

我们刚才提到类人或者类脑,我想问的问题是说,我们发展认知智能,类人或者类脑是不是一个必经路径?还是说可以绕过去的?类人和类脑能够给我们发展认知智能提供怎样的一些参考和借鉴?

周熠博士

我当然是非常相信这两条路径能够成功的,而且我们一些初步的尝试也发现它确实可以部分走得通。但某种意义上来说,现在类人走的稍微快一点,类脑还需要更多艰苦的探索,但是我相信它也是可以走得通的,大概在5-10年的一个范围之内。除了这两种方式,其他的方式有没有可能走通,也不排除其可能性,科学探索本来就允许各种火花的。我个人觉得类人和类脑是比较行得通的一个方式。

周爱民教授

在实现路径的过程中,不管是从类人还是类脑,我们理论上的工作需要跟进,它一定要有非常solid的数学基础。我们在做这件事情的时候,还要想想它类人或者生物机理后面的数学原理,因为我们毕竟还是在 computer science这个领域。

贺樑教授

我们的前人把计算机给创造出来了,它应该比我们人的能力要稍微低一些。它创造出来以后,为了模拟人类,他可能有很多条道路,我们人脑的道路可能是一条相对来说正确的道路。有好多方向,我们都一个一个在尝试,从CS的角度去看,当我们发现人脑结构的时候,相当于在选择最合理的方法时给我们找了一条捷径。但是反过来说我们要用计算机的方法来实现类脑科学上面的发现,但我们解剖人脑所看到的这些现象,用我们现在计算机有可能是实现不了的。我现在在讨论认知智能是不是能够单纯只用计算机来实现的,我觉得我们计算机的尺子还太小。所以,第一,我个人感觉类脑研究还是很有意义的一条路,因为它对我们现在做的这些方法有借鉴意义。第二,未来人工智能可能不是我们单纯用计算机就能去解决这个问题的,可能是computer plus。

肖仰华教授

从机器的智能去看人的智能,人的智能可能是一个进化史上的奇迹,因为很多符号、概念、语言的产生,在某种程度上我们现在都还没有能够合理的方式去解释,这些东西不产生的话,是不会有我们今天人类的认知智能。但它为什么产生,我觉得都是一个值得去思考的问题。

怀宝兴博士

类人这块的话也是比较有挑战性的一件事情。我们人类在学习的时候,很多时候是持续学习,在不断的积累我们的知识。现在的模型由于灾难性遗忘的问题,很难去实现持续学习。现在设计的一些所谓终身学习的方法,大部分也都是基于replaying来实现这个目的。这可能和人的方式不一致,我们人是把以前学到任务先抽象成知识之后再不断的进行积累,我觉得需要有一个自动的方式把以前学到的知识存储下来,来完成终身学习的任务,同时达到类人的目的。

 

 

 

 

Part 03

群体智能的意义

 

肖仰华教授

刚才谈到知识的传承分享持续学习,本质上一定是在一个群体中才能发生的。我们可以设想一下,如果人类早期发展的时候只有一个人,我估计是不会有我们今天智能的高度的,一定是一群人才有可能形成所谓的知识的传承、分享、积累。所以我想问问大家,这个“群体”在我们认知智能发展中到底扮演一个什么样的角色?

贺樑教授

群体它有两个重要的作用。第一个,知识的获取是需要有反馈的。1个人你待在屋子里面,没有任何反馈,2个人在这个屋子里面,也没有太多的反馈,3个人可能开始有争论,4个5个人到更多的人可能有社团,我觉得群体带来了反馈,可以让你对你的知识体系做优化。第二个,我觉得一旦群体到一定程度以后,它就是一个复杂系统,但其实我们很多时候解决不了它。第三,实际上它也是规模量化到一定程度以后带来的一个变化,所以当我们的计算量达到一定程度的时候,很多这种模式上,在一些数学底层上面,它是会有一些不一样的展现的逻辑的。

周爱民教授

群体实际上还带来另外一个好处,就是多样性。因为你规模大了以后,一定会带来多样性的好处,那么在群体的学习的过程中也是,否则整个系统收敛太快,它可能就不是全局最优的,所以一定要保持多样性。

怀宝兴博士

我们很多时候去建图谱,是为了把更多的知识放到一个地方。每个人擅长的东西不一样的,每个人的知识放到一起就相当于一个图谱,你有一个专家团这肯定是很好的。但是我们从研究和落地的角度来讲,群体的智能也带来了更多的挑战,包括知识的融合、纠错等等这样一些问题。这是非常有意义的一件事情,但这里边也有很多挑战。

林欣教授

我们这边做的一些工作是从群体贡献智能这个角度去来说这个问题。我们发现如果是有一个群体,或者大家有竞争性,或者有一些social的关联,那么会反过来有一个很好的刺激,刺激大家去主动的贡献一些东西,这些东西很有可能是长尾性的知识,这个知识是很难从我们所说的文档或者其他地方去获得的。这个可能不是传统意义上的所谓的群体智能,但也是一种促进。

 

 

 

 

Part 04

认知智能的评估与测试

 

肖仰华教授

我们发展认知智能将来到底怎么去评估、测试我们的认知。我们在领域里面其实也可以去评测我们在某个方面是否具备了这个领域的认知智能能力。那么有哪些任务,可以适合用于认知智能的评测,我们认知智能评测体系应该是怎样的,包括评测的数据集、评测的方法等等。

周爱民教授

判断一个机器是否实现AI最有名的就是图灵测试,那我们能不能借鉴图灵测试。对于认知智能来说,我们有没有可能设计一个类似的、简单易操作的且妇孺皆知的测试?这个故事讲出来,没学过人工智能的人也能懂。

周熠博士

说到图灵测试,我们也知道13年的时候尤金·古斯曼就号称通过了图灵测试。因为最近大家对图灵测试开始一些反思,当然了也有人说他没通过,有人说通过了。如何评测机器的认知智能,这是个科学问题,我认为现在是没有答案的,而且估计在比较长的一段时间里都不会有什么太好的答案。它其中有三点是特别难做的。第一点是智能的本身,不论从心理学、哲学等,大家就没有一个公认的答案好;第二点,我们机器的智能要涵盖到什么范围,大家也没有一个公认的答案,比如说运动、操作、决策等哪些属于认知智能的范畴;第三点,因为现在人工智能发展还在一个初级阶段,很多时候我们做的是弱人工智能。在某一个任务上面做的好,不代表它在其他任务上做的好,通用性是非常难达到的。在这么几个背景下面,我们如果要挑选一个任务,说通过了这个任务,机器就能够达到某种程度的认知智能。我觉得暂时还看不到希望。为什么我们现在是选智商测试作为一个初始的尝试,其中一个原因是人类用智商测试来作为测量人类智能的标准,这应该还是有些深层次的考虑的,这对机器能够提供一定的借鉴意义,我们是不是可以借鉴人类智商测试的某种方式,来提供比较合适的一系列任务,让机器能够达到通用性的这么一个标准。

周爱民教授

在认知智能的不同的问题上,它有不同的测试集,要一个测试集来把所有的问题来解决,我觉得做不了。但是为什么我说想说能不能做一个类似于图灵测试的,我是有一些其他方面的考虑。一个是对这个领域的宣传和大众对它的接受程度。当你在讲图灵测试的时候,大家都知道机器人在做什么事情。同样的如果我们通过这样一个大家都很清楚的例子,那我们也能够来普及大众,让他们知道我们在做什么事情,但是真正去详细测试一个系统的时候,肯定需要别的例子来做更系统的测试。

李磊博士

如果想用一个测试集来测认知智能的水平的话,可能不太容易,单单NLP这方面,就可以测它讲故事的能力、回答问题等等不同的能力。除了自然语言的能力,图像领域的研究者用ImageNet做benchmark,classification已经做得很好的情况下,大家仍然不会认为这是达到了认知智能的程度,还只是停留在感知的程度。视觉领域的认知仍然需要有更好的一个测试集去验证它的。这方面有像MIT的 Josh Tenenbaum在做一些工作,CLVER就是一个比较好的数据集, NLP领域我的FEVER也是一个比较好的数据集,还有University of Washington的Yejing CHoi老师,她最近做的几个数据集都是为了测试机器理解常识,并且在常识上面去做推理的能力。它涉及到知识不是很复杂,只是测试在有了一些简单知识之后,模型是不是能够得出一些基于认知的结论。

徐国强博士

有三方面在认知的测试上面比较重要,第一是全面性,现在很多专门的数据集,每个不同的模型擅长不同的东西,因此需要一个相对来说比较全面的测试,我们希望这个模型一定是擅长归纳推理等各种不同task的。现在类似GLUE这样的一些中英文的全能数据集,它的任务形式还是偏简单的,通过multi task就能够让模型在这些任务上都取得不错的效果。所以GLUE用来测认知方面不是很合适,我们还需要更有深度的一些测试。第二个难点在于序列性,真正涉及到认知的一些时候,它往往不是单轮的,而是一个序列决策的推理,在对话流程中会涉及到流程的扰动,所以序列性的测试也很重要。第三个最难的点就是开放性,对于封闭式的任务,让机器具备超越人类的感知能力就可以解决的很好了。但对于一个开放式的情况,用户的任何一个行为引起的哪些状态的改变,以及这些状态的改变会引起机器怎么样去反馈,这会非常难。所以全面性、序列性和开放性这三点很关键。

林欣教授

我觉得还要再考虑一点,我们从认知本身的定义去出发,今天好多专家的讨论涵盖了各种各样方面,比如理解、决策等等,数据集是不是也应该从这几个维度分开来做,因为做理解和做决策的可能是不同的一个目的,数据其实也要专门为不同的维度来做。我了解到儿童心理的研究也是这样分开来做测试的,最后评测一个综合的能力,我们是否也可以参照他们来做更细致、更系统的工作。

怀宝兴博士

实际上这个像学生考试,有很多的科目,不同科目有不同的题和侧重点,然后整体的来评估,很难说一套试卷把所有东西都给解决掉。

贺樑教授

认知智能的评测跟人工智能的评测是不是一样?我假设我自己的回答:这是不一样的。图灵测试是测人工智能,那么我们用什么样的测试来测认知智能?如果能真的能发起并倡导这件事的话,我觉得这是一个很有先驱性的事。接下来就是怎么去建立这个测试,是它把所有任务都完成了以后,才认为它是通过了测试,还是只要通过其中的一部分任务就可以了。在一个垂直条件下,它的能力是可以不一样的。建立测试本身需要有一个原则,然后再是数据的填充。我认为认知智能应该像我们评估人的智能一样,应该全面的去进行评估。但有些东西计算机目前可能还没实现,所以认知智能的整个构建的过程也是需要分阶段性的。回过来说,我们要先看认知智能跟人工智能是不是可以划等号,如果是,我们在原来的图灵测试上面去改进,如果说不是,我们就要考虑要跟心理学、社会学等等结合。

肖仰华教授

现在感知其实很多还是有些地方做得不够好的,但是你会发现人能做得很好,比如说英语恢复问题,如果说把那个字母扣掉了,机器可能就识别不出来了,但人没问题。对于机器来讲在感知上面缺漏的那种能力,恰恰就是人类在认知上面能够胜任的任务。所以我觉得是完全可以去构建内置的这种数据集,看看机器是不是也具备脑补的能力,脑补的能力就是认知能力的一种体现。

 

Part 05

认知智能的工程落地

 

肖仰华教授

大部分专家也都在做认知智能或者说做知识工程的一些落地工作,会有人质疑“你知识工程花那么大代价,最后你能赚那么多钱吗?”,我们认知的将来也会面临同样的问题,即成本和收益问题。如何在当前这个用户没有样本或者用户标注样本的代价非常大的前提下,能够做到有效的一个落地,或者是怎么样去降低这种成本?

周熠博士

我觉得认知智能是可以在5年之内或者至多是5-10年之间落地的。会有比较大的市场的,一个是“因材施教”,大家也知道国内数学培训的教育市场有多大,我相信认知智能在其中有用武之地。另外一个是类似于家庭医生,国外是有家庭医生制度的,他能够把病人推荐到特别合适的医生那边去,但我们国内目前还没有这种制度,所以很多三甲医院的医生他们经常抱怨的一个事情是很多找他们看病的人都是社区医生就能解决的事,这是一个极大的资源的浪费。认知智能做简单的家庭医生预评判,我觉得是做得到的,我相信里面的市场也是比较大的。

怀宝兴博士

我们华为做的就面向企业客户的。就像有的学生擅长这个,有的擅长那个,AI模型也是一样,当前阶段它在某个行业或者场景可能还可以。但是我们真正做的过程中马上就面临成本这个问题,即使是做一个简单的小场景,它的成本也是很高的,因为它的技术栈比较深的,从词法句法模型开始要走好多层才到最终的应用,比如问答、搜索推荐或者是决策。我们总结出来有两点是比较重要的,一个是认知的能力,认知的核心是把知识吸收理解,提前是做好做表达,才能去做应用。如果学习了大量知识,只是为了解决一个问题,性价比很低,但如果可以进一步去做更多的上层应用,性价比就可以得到提升。但这需要有一个平台,它能够辅助你低成本、快速的把认知的能力构建起来,不管这个能力是知识的抽取,还是图谱的构建,甚至是推理决策。还有一个是必不可少的就是基础的 AI 技术研究,比如小样本、知识蒸馏、迁移学习等等,这些技术在行业里不同的场景去做复制落地都是有用的。它能够降低模型的训练成本,也降低了操作人员对模型的理解的门槛,以及操作的复杂度,也是降低了落地的成本。这方面学术界做了非常大的贡献,对于产业链有极大的推动。

徐国强博士

平安这边想做金融领域的知识图谱已经很久了,因为平安的医疗知识图谱做的特别好,所以想尝试金融领域能不能也做一个类似的,我们尝试了很多,包括金融事件图谱、金融概念图谱、金融事例图谱,并不是做不出来,现在的问题是知识图谱做出来之后找不到用处。在企业里面真正关心的是 AI能产生多大的价值,AI和场景结合的价值主要体现在AI能够把成本降低百分之多少,从而产生利润,这个是企业里面用AI产生价值的一个核心方式。真正在企业中用AI很多的时候都是偏感知类的,比如OCR识别或者完成一些流程自动化上的项目能够降低人力成本,通过这种方式实实在在的把价值体现出来了。知识图谱它更多的不是这种偏感知型的东西,而是认知推理方面的东西,因此带来了很大的不确定性,导致了业务不敢用。比如说在价值体现中,一般说三升两降,其中知识图谱能用在一些风险评估上,但是由于现在的现阶段的技术指标达不到应用水平,所以没有业务敢冒风险去用,如果把知识图谱用在其他的一些地方,比如说辅助问答,它只是一个锦上添花的内容,我投入那么大的价值,带来这1%的提升,其实意义并不大。所以必须要找到以知识图谱为核心的一个应用场景会更有价值,不然在企业中只是用作为锦上添花,很难。

贺樑教授

首先觉得认知智的价值是不需要太多去质疑他,包括到落地。感知发展到一定阶段以后,它下一步一定是往认知这块去发展,认知可以让我们的一些能力上得到提高。人工智能在整个产业界最主要的作用就是提升产能,这是它一个非常核心的价值。中国为什么这么重视人工智能,是希望跟国外在竞争的时候,可以再另外一个维度去竞争,现在已经体现这样一个价值。但是客观上来讲,现在最大的问题是所有的这些事情最后还是在一个市场里面做,市场的价值就是成本和收益,降本增效,必须要找到有效的地方。但好在现在图谱的成本在下降,但是糟糕的地方也是它的成本在下降。我们可以假想一下,如果几十年前我们在做数据库的时候,如果说数据库卖成一个白菜价,这样整个领域就做不起来。虽然说现在图谱的价格是比较低,但是会做的人越来越多了,而这一切又没有一个很好的知识产权保护,没有形成一个非常良性的循环,这是一个很大的问题。现在虽然开源这件事情,让我们整个社会发展非常快,但是在市场上收益就比较难以去做保护。我做一张图,只有在业务上面直接收益才是我的收益。如果未来再过个几年,这块东西我因为做了这么多事情,我还想再让他收益,那可能就没了。我觉得这是两个方面。

李磊博士

首先这个答案还是很明确的,认知智能的价值肯定是非常高,包括人工智能,我们的实践当中但已知是通过代表已经取得了非常大的价值,比如说在头条的搜索当中,知识图谱是必不可少的,你要回答检索的精准的话,尤其是一些长的query,肯定需要知识图谱的。第二就是在电商,电商领域也是非常依赖于知识图谱,就没有它是做不好的。第三个就是我们在做的一些其他的领域。比如我们在做的机器翻译,如果你输入的句子都是非常标准的,你要去翻译它,现在机器翻译的模型都做得非常好。但是你要让这个机器做同传,要翻译的非常好,其实还是很困难的。这个里面就有感知方面的局限,你需要有知识。如果演讲者提到一些概念,讲话的时候中英夹杂,包含一些知识实体,模型都没法意识到这个是什么意义的话,就难以准确翻译。所以我认为的业务,尤其是 NLP方面,是非常需要认知的。然后另外一个应用是机器人,工业的机器人可能在一个受限的环境当中,很多情况下是重复劳动,仅依赖感知的能力就足够了。但如果要做一些家庭日常生活中的陪伴或者服务型机器人,能够跟人去交互的这种机器人,机器如果光有感知的能力,没有认知的能力的话是非常困难的。

 

Part 06

开放世界下的认知智能

肖仰华教授

我最后想提的问题是我们人工智能的开放性问题,认知智能本质上是否要具备对开放性的世界理解的能力,开放性问题可能是整个人工智能的根本难题,认知智能到底怎么去应对?我们有什么好的思路来解决这个问题。

周熠博士

人工智能终极难题之二,一个是开放性,一个是通用性。开放性一定是我们的目标,但是它也是一个非常难以实现的目标,符号主义开放比神经网络更加困难。这两个结合起来的开放性该怎么做?可能我们有很长的路要走。我们举个例子,在一个未知的场景里面去抽取一些结构化的知识,或者去传承这些知识,对我们来说都是一些非常困难,而且悬而未决的问题。但不是不可以做,可能是需要比较长的时间。我相信80年代专家系统,它也遇到很大的瓶颈,更新、维护、鲁棒性这都是问题,但开放性也是他遇到的最大的一个问题。所以这也就是我为什么希望从脑科学里面得到一些答案。

李磊博士

开放性的问题,我觉得有两种思路可以去做,刚才周老师提到说用逻辑来做开放性的推广很难,我的观点是相反。用逻辑其实可以去建模开放世界,semantics本身可以有close world semantics和 open world semantics。现在大家做一阶逻辑的一些框架它是可以专门来既建模open word,又建模open word里面的uncertainty,然后把这两者结合起来,形成一个open world 的probabilistic logic。

周熠博士

这个事情我做过,但是我这里面所谓的open world semantics,跟领域的建模是不是open,是两个完全不一样的问题。

李磊博士

我要补充一点,它的挑战不是说它开放本身,而是说这样的框架很难像神经网络一样扩展到非常大规模的问题上,这是目前这些开放语义框架推理的最大难题。

周熠博士

我觉得不是的,你刚才说的open word semantics是指我们能否处理已经建好模的domain里面的 open world assumption的问题。但现在更大的一个问题是在一个domain中我们无法为他建模,这是最难的问题。当然了,我觉得你说的也很对,当我已经建模好了,有些有些知识和逻辑确实能够做一些open word semantics。

李磊博士

我觉得有第二种思路去做domain的generalization,domain的generalization。现在有meta learning的这样的思路。不是学任务的本身,而是希望从一个任务到下一个任务的过程中学到generalization和transport的能力,这一种思路可能也是可以部分解决开放性的问题。逻辑可能是另外一个思路,现在也有一些研究者是做open world的推理。

怀宝兴博士

meta learning我们也是效果确实是有提升,但是它只解决同类的问题

周熠博士

open当然不是不能做了,只是它确实很难而已,我们目前只能做到相对open。

李磊博士

我们最近在尝试做一些研究,一个模型它本来只能做文本上的推理、分类问答或者翻译,现在它这几个任务都能够做,用一个模型来做这个任务已经是很了不起的了。我们是否够让同样的模型去做图像上面的识别和理解。大家知道以前做ImageNet,Convolutional Neural Network做的最好,NLP现在是基于transformer的模型是做最好的。最近有工作把transformer用到图像上面,发现做ImageNet能够比ResNet做的还要好。也就是说至少在模型架构的层面,两者是能够做到同样的架构,但还没达到直接去做不同任务的程度,但我觉得应该是有希望的。

周熠博士

现在没有一个特别成功的路径说我们能够做open word的事情,另外的一个思路现在提的也比较多的,就是像所谓的intuitive physics,intuitive psychology 等等,如何用神经网络去学这种intuition,这和常识的关系也比较大。所以关于open这个事情确实都有很多尝试。现在没有一个具体的approach来guarantee我们一定能做open,我觉得这是一个比较长期的事情。道翰天琼CiGril机器人API

道翰天琼CiGril认知智能机器人API用户需要按步骤获取基本信息:

1. 在平台注册账号

2. 登录平台,进入后台管理页面,创建应用,然后查看应用,查看应用相关信息。

3. 在应用信息页面,找到appid,appkey秘钥等信息,然后写接口代码接入机器人应用。

开始接入

请求地址:http://www.weilaitec.com/cigirlrobot.cgr

请求方式:post

请求参数:

参数 类型 默认值 描述
userid String 平台注册账号
appid String 平台创建的应用id
key String 平台应用生成的秘钥
msg String "" 用户端消息内容
ip String "" 客户端ip要求唯一性,无ip等可以用QQ账号,微信账号,手机MAC地址等代替。

接口连接示例:http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552

注意事项:参数名称都要小写,五个参数不能遗漏,参数名称都要写对,且各个参数的值不能为空字符串。否则无法请求成功。userid,appid,key三个参数要到平台注册登录创建应用之后,然后查看应用详情就可以看到。userid就是平台注册账号。

示例代码JAVA:


import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class apitest {

/**
* Get请求,获得返回数据
* @param urlStr
* @return
*/
private static String opUrl(String urlStr)
{
URL url = null;
HttpURLConnection conn = null;
InputStream is = null;
ByteArrayOutputStream baos = null;
try
{
url = new URL(urlStr);
conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(5 * 10000);
conn.setConnectTimeout(5 * 10000);
conn.setRequestMethod("POST");
if (conn.getResponseCode() == 200)
{
is = conn.getInputStream();
baos = new ByteArrayOutputStream();
int len = -1;
byte[] buf = new byte[128];

while ((len = is.read(buf)) != -1)
{
baos.write(buf, 0, len);
}
baos.flush();
String result = baos.toString();
return result;
} else
{
throw new Exception("服务器连接错误!");
}

} catch (Exception e)
{
e.printStackTrace();
} finally
{
try
{
if (is != null)
is.close();
} catch (IOException e)
{
e.printStackTrace();
}

try
{
if (baos != null)
baos.close();
} catch (IOException e)
{
e.printStackTrace();
}
conn.disconnect();
}
return "";
}


public static void main(String args []){
//msg参数就是传输过去的对话内容。
System.out.println(opUrl("http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552"));

}
}

你可能感兴趣的:(笔记,自然语言处理,神经网络,机器学习,深度学习)