滴滴新算法让你应对女友?道翰天琼认知智能机器人平台API接口大脑为您揭秘-64

滴滴新算法让你应对女友?道翰天琼认知智能机器人平台API接口大脑为您揭秘-64某个周末晚上,小陈约好了和女朋友去商场吃饭看电影。小陈平时喜爱打游戏,此时正在专心打农药。“啊!ZZ队友送人头,白瞎我最强亚索!伤心~”而小陈的女朋友这个时候打来了电话:你收拾好了吗?我已经到口红啦……小陈内心:“这次竟然这么快?我还以为刚到眉毛呢,可是我还想再开一局逆风翻盘拿五杀呢!但是又不能迟到啊……小陈想到先点开打车软件计算一下双方的时间吧:首先设置好出发地为女朋友家,目的地为要去的商场,呼叫快车,显示要30分钟。再来设置一下自己的出发地,呼叫快车,哇!只要15分钟。小陈于是决定…

大家好,又见面了,我是你们的朋友全栈君。

 

滴滴新算法让你应对女友?道翰天琼认知智能机器人平台API接口大脑为您揭秘-64

某个周末晚上,小陈约好了和女朋友去商场吃饭看电影。小陈平时喜爱打游戏,此时正在专心打农药。“啊!ZZ队友送人头,白瞎我最强亚索!伤心~”
而小陈的女朋友这个时候打来了电话:

你收拾好了吗?我已经到口红啦……

小陈内心:“这次竟然这么快?我还以为刚到眉毛呢,可是我还想再开一局逆风翻盘拿五杀呢!但是又不能迟到啊……小陈想到先点开打车软件计算一下双方的时间吧:
首先设置好出发地为女朋友家,目的地为要去的商场,呼叫快车,显示要30分钟。再来设置一下自己的出发地,呼叫快车,哇!只要15分钟。小陈于是决定再开一局,一套“行云流水”的操作下来之后,成功“助力”自己一方被五杀,望着被推倒的水晶塔,小陈内心“开心无比”,心想这局胜利的关键果然在自己身上啊!后来小陈准时赶到女朋友之前赴约……小陈心想这软件预估到达的时间真是准啊,多亏了它,农药也打了,约会也没迟到。相信以上类似场景大家多少都有遇到过,大家近些年逐渐习惯用网约车,而以滴滴为代表的网约车软件背后必须要提供各方面精准的服务。
这其中就涉及到一个至关重要的基础问题:预估到达时间(Estimated Time of Arrival, ETA)。在滴滴、Uber、Lyft等共享出行平台,时间预测的精度会直接关系到路径选择的合理性、订单分配的精确性和交通系统的整体效率,从而影响乘客的出行体验,以及司机的效率和收入;而且,海量的日均调用量也会对ETA模型的线上推理速度提出非常高的要求。ETA的复杂性和挑战性,使其成为颇具学术研究价值的问题。它要考虑交通要素的空间关系和交通系统的时间特性,也要引入个性化特征和外部特征的建模。这些特点使得机器学习成为很好的ETA解决方案,能够利用海量交通数据来建模行程时间分布。在今年的KDD2020大会上,滴滴发表了一篇题为《CompactETA: A Fast Inference System for Travel Time Prediction》的论文,详细介绍了如何在线上部署中实现微秒级的ETA机器学习解决方案。这种名为CompactETA的新算法是滴滴在此前论文《Learning to Estimate the Travel Time》(KDD2018)的算法框架的基础上提出的,它能基于图注意力网络(Graph Attention Network)将高阶的时空依赖关系编码到特征表示中,并进一步使用了位置编码技术(Positional Encoding)来保留行驶路径的序列信息。相比前一代方案,CompactETA实现了超过100倍的线上加速,平均响应时间低于50us。
1

ETA可建模成机器学习问题

直观来看,ETA系统要预测从地图上一点移动到另外一点所花费的时间。这是一个广泛存在的概念,航班、火车、汽车以及单车骑行都有对应的ETA预测任务。下面是一个示意图,假设用户从左上方的起点出发,想要前往右下角的终点,ETA系统将结合路网状态和用户信息对这段行程花费的时间做一个预估(图中示例的25分钟)。ETA的应用在滴滴平台上无处不在。例如以下场景:1、选定目的地之后,乘客首先看到就是预估接驾时间和预计到达终点的时间。前者告诉乘客大约多久之后司机可以到达他指定的出发点,后者给了乘客关于旅途时长的一个预测。如果这两个时间足够准确,乘客便会对行程有合理的心理预期,便于高效安排自己的事务。2、除了显示时间之外,其实还有一个数字隐藏了ETA的贡献,那就是预估价格。滴滴平台综合了行程距离和ETA等信息,按照计价规则提前估计一个金额供乘客参考。这些都是用户直观可感受的。3、在用户看不到的后台,ETA当然也是滴滴的派单引擎和调度引擎的重要决策信息之一。在滴滴,ETA服务的日均调用量已经达到百亿级别,想要提升网约车双边交易的效率,精准的ETA是重要基础之一。当人们想要预估一次行程时间时,至少有三个信息是必要的:谁、何时出发,以及走哪条路。放在网约车平台,这三个信息对应着:司机ID、出发时刻和行驶路径。这三个必要信息构成了ETA的query,即:其中司机ID和出发时刻都是标量,而行驶路径是一个向量,由一系列的路段ID组成。把路段称作Link。那么路径可以表示为:其中的各个L代表了Link的ID。根据query中的三项输入,可以在特征库中查询并构造出丰富的特征,车型、车龄、驾龄等画像信息,这些都可能对行车速度有影响。利用出发时刻,可以得到当前的天气信息、道路限行信息、交通管制信息等。出发时刻本身输入到模型中也帮助了对周期性交通规律的建模。利用行驶路径就可以查询到该行程经过了哪些路,这些路的静态物理属性是怎样的(封闭快速路/乡镇村道,车道数,限速,红绿灯情况等);同时还能知道这些路的动态属性,通常指的是路况,描述了路网当前的通行拥堵情况。所有特征会分为两类:第一类是全局特征,描述了行程级别的基本信息。对于每个样本来说,它记录成一个向量。第二类是道路特征,描述了行程的link序列细节,对于每个样本来说,它记录成一个矩阵。每一列描述了一个link的特征向量。例如,在下图中,左边的天气类型构成了全局特征的一维;而右边的link特征,每个link都有对应维度记录自己的长度和通行速度值。在输入模型之前,不同类型的特征会进行变换。离散特征先通过各自对应的embedding层,然后与连续特征拼接起来。全局特征和道路特征都采用这种做法。基于query构造完特征之后,就可以设计模型学习出从特征到行程时间预估的一个映射,这是一个典型的回归问题:。 
2

ETA机器学习方案的一些探索性

在滴滴团队于2018年发表的《Learning to Estimate the Travel Time》一文中,首次提出了系统性的ETA机器学习解决方案。其中,Wide-Deep-Recurrent(WDR)深度神经网络模型取得了很好的精度。WDR的细节可参考之前的解读文章,接下来简要介绍一下团队在WDR之后的一些思考和探索。首先是数据稀疏性问题。尽管滴滴有着庞大的轨迹数据,但在时间、空间和人这三个维度的组合面前,却还没有达到充足。在WDR(以及大部分深度学习模型)中,link ID都以embedding的方式处理。一旦某个link的历史数据太少,那么它的embedding vector就容易处于欠拟合状态,影响了整体ETA预测的准确性,我们把这称之为空间稀疏性问题。为了解决这个问题,团队做了一个工作:基于路况分布来度量不同link的相似性,并利用metric learning来对link的embedding vector加强训练。这个思路类似于迁移学习,把热门link的知识迁移到缺少数据但是通行模式相似的冷门link上。除了空间稀疏性问题,对应的还有时间稀疏性和司机稀疏性的问题,它们是数据在不同时段和司机上的分布不均导致的。我们同样用了metric learning的方法来处理司机稀疏性,用他们的驾驶习惯来度量相似性。而对于时间稀疏性,我们尝试了给相邻时段的embedding vector设置共享参数,使得相邻时段的embedding vector更加相似。除了稀疏性问题,我们也关心当规划路线不存在的场景下如何进行ETA预测。本质上看,这需要把起终点之间多种可能的路线都学习到模型中。团队针对性地提出用图相关的算法来隐式地对路线进行建模,同时采用了multi-task learning的框架,不光预测行程时间,也预测行程距离,通过多任务的相互协同来加强ETA的准确性。这个工作已经发表在KDD 2018上(Multi-task Representation Learning for Travel Time Prediction)。此外,考虑到路网天然是一个拓扑图,我们也关注把图卷积方法应用在ETA和路况预测任务上。这方面可以关注同样在KDD 2020上的《HerETA: Heterogeneous Information Network Embedding for Estimating Time of Arrival》。当然,作为工业级应用,WDR最大的瓶颈还是在于线上推理速度。模型中recurrent结构消耗了相当大的计算资源。一次典型的ETA计算耗时长达几毫秒,如果服务器负载较高,响应时间甚至会到几十毫秒。这样的服务效率,在传统互联网应用中算是非常高的,但在共享出行领域,却还是重要的系统瓶颈之一,也产生了较大的机器成本。因此,在提出了ETA的机器学习解决方案后团队就把主要精力放在提升ETA推理速度上。同时,也希望精度不要有所降低。这就是本文要介绍的CompactETA的产生背景。 3

既快又准的ETA对出行平台降本提效有重要意义

ETA在网约车后台服务中发挥着重要作用,比如分单引擎、拼车引擎和运力调度等。为了实现整体交通系统的最优调度,分单引擎需要计算每个司机去接每个乘客的ETA,由此来综合统筹片区内的情况,尽最大可能保证司机和乘客的有效分配。再比如,既要提升交通效率,又要满足个性化出行需求,拼车是很有潜力的解决方案。以路径规划、ETA为代表的地图算法在拼车中扮演着重要的角色。拼车的顺路程度不仅由距离决定,时间也是重要参考。过长的绕行时间同样会给乘客体验和司机效率带来严重伤害。作为一项重要的工业级应用,ETA仅仅是精度高还远远不够。以拼车ETA调用量为例,如下图所示,假设仅考虑10名司机和20名乘客,引擎想要计算出最佳的双拼方案,那么就需要知道每一种组合的预估接驾时间。这里,总共有10x20x19=3800种司机和乘客的组合。假如有一天,乘客愿意接受短距离调度,比如走几十米到更佳的上车点(乘客走几十米,比如过天桥或出园区,有可能让司机少绕路几百米甚至几公里),那么我们要为每个乘客考虑附近的多个上车点,并且寻找最优的整体路线。假如候选上车点为5个,接驾路径的组合数迅速爆炸为3800x5x5=95000。为了求解10名司机和20名乘客的最佳拼车接驾方案(哪个司机接哪两个乘客,顺序如何),我们可能面临至少95000次ETA调用。在全国范围内,类似的计算还要重复成千上万遍。

 

道翰天琼认知智能未来机器人接口API简介介绍

  • 认知智能是计算机科学的一个分支科学,是智能科学发展的高级阶段,它以人类认知体系为基础,以模仿人类核心能力为目标,以信息的理解、存储、应用为研究方向,以感知信息的深度理解和自然语言信息的深度理解为突破口,以跨学科理论体系为指导,从而形成的新一代理论、技术及应用系统的技术科学。 认知智能的核心研究范畴包括:1.宇宙、信息、大脑三者关系;2.人类大脑结构、功能、机制;3.哲学体系、文科体系、理科体系;4.认知融通、智慧融通、双脑(人脑和电脑)融通等核心体系。 认知智能四步走:1.认知宇宙世界。支撑理论体系有三体(宇宙、信息、大脑)论、易道论、存在论、本体论、认知论、融智学、HNC 等理论体系;2.清楚人脑结构、功能、机制。支撑学科有脑科学、心理学、逻辑学、情感学、生物学、化学等学科。3.清楚信息内涵规律规则。支撑学科有符号学、语言学、认知语言学、形式语言学等学科。4.系统落地能力。支撑学科有计算机科学、数学等学科。
    认知智能CI机器人是杭州道翰天琼智能科技有限公司旗下产品。认知智能机器人是依托道翰天琼10年研发的认知智能CI体系为核心而打造的认知智能机器人大脑,是全球第一个认知智能机器人大脑。具有突破性,创新性,领航性。是新一代智能认知智能的最好的产品支撑。 认知智能机器人技术体系更加先进,更加智能,是新一代智能,认知智能领域世界范围内唯一的认知智能机器人。 认知智能机器人是新时代的产物,是新一代智能认知智能的产物。代表了新一代智能认知智能最核心的优势。和人工智能机器人大脑相比,优势非常明显。智能度高,客户粘性大,客户满意度高,易于推广和传播等核心特点。 依托认知智能机器人平台提供的机器人大脑服务,可以赋能各个行业,各个领域的智能设备,各类需要人机互动的领域等。认知智能机器人平台网址:www.weilaitec.com,www.citec.top。欢迎注册使用,走进更智能机器人世界。
    认知智能和人工智能的优劣势对比主要可以分为四大方面: 第一:时代发展不同。人工智能是智能时代发展的第二个阶段,认知智能是智能时代发展的第三个阶段。时代发展上决定了认知智能更显具有时代领先性。 第二:基础理论体系不同。人工智能的基础理论体系以数学为基础,以统计概率体系为基础。认知智能基础理论体系以交叉许可理论体系为基础。包含古今中外哲学体系,心理学体系,逻辑学体系,语言学体系,符号学体系,数学体系等学科。其基础理论体系更加具有创新性,突破性和领先性。且交叉学科理论体系的研究也是未来智能发展的大方向。其具体理论体系,还包含三体论(宇宙,信息,大脑三者关系),融智学,和HNC等。 第三:技术体系不同。人工智能的核心技术体系主要是算法,机器学习,深度学习,知识图谱等。其主要功用在感知智能。感知智能其核心主要是在模仿人类的感知能力。认知智能的核心技术体系是以交叉学科理论体系而衍生出来的。具体包含三大核心技术体系,认知维度,类脑模型和万维图谱。认知智能的技术体系核心以类脑的认知体系为基础。以全方位模仿类脑能力为目标。人工智能以感知智能为基础的体系,只能作为认知智能中的类脑模型技术体系中的感知层技术体系。类脑模型大致包含,感知层,记忆层,学习层,理解层,认知层,逻辑层,情感层,沟通层,意识层等9大核心技术层。因此人工智能的核心只是作为认知智能类脑模型中的感知层。因此在技术体系上,人工智能和认知智能基本上没有太多的可比性。 第四:智能度成本等方面的不同:人工智能产品的综合智能程度,普遍在2-3岁左右的智力水平。认知智能产品其智能程度大致在5-8岁左右。认知智能体系构建的机器人更加智能。且更省时间,更省人力和资金。优势非常多。具体请看下列的逐项对比。

道翰天琼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”));
            
    }
}

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137182.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 如何快速记忆小鹤双拼键位图?

    如何快速记忆小鹤双拼键位图?记忆方法:韵母表+图形单韵母aoeiu、üAOEIV双拼练习网址:https://api.ihint.me/shuang/

  • 推荐系统常用算法介绍_基于内容推荐算法

    推荐系统常用算法介绍_基于内容推荐算法原文链接:https://www.cnblogs.com/zhangyang520/p/10969951.html参考回答:推荐算法:基于人口学的推荐、基于内容的推荐、基于用户的协同过滤推荐、基

  • armv7与armv8的区别(v8和w12的区别)

    ARMv7与ARMv8的处理器架构自己一直没有详细了解过,现在来学习一下,在armcommunity中文社区看到一个不错的总结。两者之间的区别主要如下:ARMv8指令集分为Aarch64和Aarch32指令集,而ARMv7使用的是A32和T16指令集(分别为32位和16位)。现今我们常见的手机处理器多为8核,采用大小核心伴侣架构,比如Kirin970处理器(4*Co…

  • idea2022.01.4激活码【2022最新】

    (idea2022.01.4激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • cifar10 数据集介绍「建议收藏」

    cifar10 数据集介绍「建议收藏」基本信息CIFAR-10是一个包含60000张图片的数据集。其中每张照片为32*32的彩色照片,每个像素点包括RGB三个数值,数值范围0~255。所有照片分属10个不同的类别,分别是’airplane’,’automobile’,’bird’,’cat’,’deer’,’dog’,’frog’,’horse’,’ship’,’truck’。其中五万张图片被划分为训练…

  • 揭秘vista引导机制

    揭秘vista引导机制揭秘vista引导机制   所谓的引导机制就是在操作系统内核运行前的一小段程序。其主要作用是初始化电脑硬件设备,建立内存空间的映射图。从而将系统的软件和硬件设备环境调配到一个适合的状态,以使电脑最终调用系统内核而准备好适合的环境。   那么vista的引导机制是否和以前的windows的版本不同呢?其实vista引导机制是一项全新的技术。以前寄予nt的windows系统采用“ntl

    2022年10月10日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号