从数据中抽取模型——记洪小文博士“21世纪计算”主题演讲

从数据中抽取模型鈥斺敿呛樾∥牟┦库21世纪计算鈥澲魈庋萁

Extracting Models from Data

 

编者按20111026日,由微软亚洲研究院和清华大学联合举办的第13届“21世纪的计算”大会在清华大学隆重举行。本届大会以“计算之本,创新之源”(Back to Basics–Fundamental Research Fuels Innovation) 为主题,探讨计算科学基础研究在21世纪快速发展过程所发挥的重要作用。通过精彩的主题演讲,来自国内外计算机领域的大师们与中国学生及学者分享了计算科学领域的最新成果。 

 

微软亚洲研究院院长、电气电子工程师学会院士洪小文博士是国际知名的语音专家。他发表了100多篇论文,同时和他人一起编写了《口语进程》的书,这本书成为了语言学领域方面的参考书。洪小文博士在2004年加入微软亚洲研究院,当时任副院长,负责互联网搜索和语言、自然语言、无线网络的研究。此外,他还建立了STC (Search Technology Center Asia,微软亚洲搜索技术中心)。

 

点击观看洪小文博士的精彩演讲视频:

 

                           

 

今天很高兴,在这里跟大家分享我们研究院最近做的项目。我们既然要做科学,尤其今天跟这么多计算机科学家在一起,我也要看一下计算机对科学的贡献。这里先回到五六百年前,伽利略被很多人称为现代科学之父,他就是做了一个望远镜,那个时候不要说计算机,要做实验都很难。他能做的就是用眼睛看,球从比萨斜塔掉下去,还有他看星球运动,地球不一定是中心,还引来了很多的麻烦。他还是非常了不起,看一下就提出一些模型。到了牛顿的时代,工业技术就好一点了,不但可以观察,还可以搜集数据,搜集数据以后,就可以建模做研究。重力跟距离平方成正比,跟质量成反比的话,肯定要搜集一些数据,来证明模型。

 

我认为科学基本上就是先建模,然后做实验搜集数据验证模型。如果模型不够精确,改一次再来运行,最后模型正确了,就可以改变未来的一些现象。我今天就是在这个基础之上谈研究院最近做的事情。我们生活在一个非常幸运的时代,我们今天有无数多的传感器,可以提供我们关于世界上所有的传感器数据,中国现在大力推广的物联网,就是这样的概念。我们今天的计算机是非常强劲的,今天在实验室里面就可以做所有的实验,可以做很快速的分析,可以更了解我们自己和世界。同时,不但可以了解,还可以改善我们的生活,改善这个世界。我的演讲分为三个部分。

 

第一部分,就是将科学的模型用在现实的物理世界;第二,关于我们自己;第三,关于社会。上午的演讲介绍了Kinect,我们在去年的基础上,继续用这个平台做更多的研究。大家知道,3D建模,如果能够把世界上任何一个物理物体,精准的做成一个3D的模型,就可以将真实的世界和虚拟的世界串联起来。这有很多的应用,当然游戏是大家可以想到的直接的应用。但是在我们医疗、建筑等各方面的应用都需要3D建模。

 

这里面,Kinect是一个200美元的机器,功能还是有限的,能够采到的样,你拿到的真正有深度的信息,事实上是非常粗糙的、坑坑洞洞的,所以必须要将洞补起来,做成完整的。在这样的机器上还有挑战。第一,现在有请我的同事龚敏敏上来给我们演示项目“基于Kinect的实物数字化”。

 

请看“基于实物的数字化”项目介绍视频:

 

                             

 

龚敏敏:大家好,我是微软亚洲研究院网络图形组的龚敏敏,我给大家扫描一下。我们正从数据中抽取模型鈥斺敿呛樾∥牟┦库21世纪计算鈥澲魈庋萁式开始扫描物体,只需要扫描正面和反面,通过数据可以重建出一个完整的模型。现在我来扫描物体的背面,大家可以看到,这个福娃的正面和背面通过Kinect扫描到机器里了,但是之间需要表面重建的工作,才能成为一个完整的模型。我们的游戏还会给虚拟的模型添加性格,这里随机选择的性格是机器人,可以通过录音频给虚拟的玩具添加跟你交互的能力,比如说在需要的时候就会说出来。大家可以看到,通过刚才的工作,福娃已经被扫描到电脑里面,成为一个完整的模型。因为它已经是一个模型,所以你可以通过身体的动作教它做什么,它可以识别到你的动作,我若想跳起来、跟他捉迷藏把眼睛蒙起来,它都能识别出来了,也会躲一下。我的Demo就演示到这里,谢谢!

 

洪小文博士:我们刚刚演示的是市面上可以买到的机器,这么强的灯光,有可能会怯场。有一部分不见了,就是因为光太强了,因为看到的部分都是光,觉得透过去了。一般来讲,你们在家里,我相信很少有这么强的光。

 

第二部分,MindFinder。我们朝这个目标在进行,我们今天做到,画什么就可以帮你找什么,希望做到你心里想什么,就可以帮你找到什么。今天的搜索要输入很多的东西,如果画一个东西就可以找到的话,就更方便了。如果需要自行车的话,将自行车画出来,就可以找到图案。这里面有很多的应用。特别是现在的小孩子,没上学之前,不认得字以前,就跟电脑打交道,画是很自然的。还有购物,今天要买特殊的衣服,或者特殊的裙子,可以画一下,就能直接找到跟你画的很接近的衣服。

 

我们要知道,做这样的事情有几个挑战。第一个挑战就是,给你一个图形,给你只鸭子,将大概的轮廓找出来,这是做了很久的工作;同时,互联网搜索图形这么多,不能太大,所以一定要很简明。做的话,将噪音的部分去掉,这样才可以跟画的东西做一个对比。我们今天存就存一个XY,还有角度,所以我们叫“θ”,每一个图只需要240K,就可以存下准确的信息。接着请我的同事王长虎做现场展示。

 

请看“MindFinder”项目介绍视频:

 

                             

  

王长虎:大家好,非常荣幸能从数据中抽取模型鈥斺敿呛樾∥牟┦库21世纪计算鈥澲魈庋萁够在这里向诸位展示这个系统,这是一个全新的基于草图的图像搜索引擎。大家可以看到,它允许用户自由地在面板上画线条,给用户返回相似形状的图片。我们再画一个,类似焰火的东西。我们可以看到,不仅可以找到焰火,还可以找到花草树木等相似的图像。可以用于基于关键字的图像搜索,如果一个用户查找悉尼歌剧院的图片,可以写入关键字“悉尼歌剧院”进行查询。有的时候,仅仅基于关键字,搜索结果可能有一些庞杂,利用我们这个技术,可以直接在面板上画一些线条。比如说悉尼歌剧院的侧面图像,搜索结果就得到极大的改善。

 

再举个例子,伦敦眼。如果用户想查找正面的图片,很简单,直接画一个圆就可以了,搜索结果就是能够找出来。这种技术可以用在各种场合。我们开发一个新的应用程序——素描卡通,帮助孩子们通过画线条创造卡通形象。这里给大家看一个例子。首先可以画一个桌子,大一点,利用MindFinder技术进行查询,有很多的桌子,我可以选择一个,放在某个地方,这张图片完全是一个画,可以改变形状大小颜色等。我还想添加另外一个家具,先添加一个椅子,然后可以放到桌子的后面。然后想买一台电脑,放在桌子上.需要给房间加一个主人,很简单的一个小人,看看能找到什么?这个女孩子,然后放到椅子上,然后再买一辆自行车,最后给这间屋子加上一个太阳,而且是带笑脸的太阳,顺利完成。谢谢大家!事实上我们的系统还有其他的功能,今天就暂时介绍到这里,这就是我们的MindFinder技术,以及它的应用草图卡通,谢谢小文!

 

洪小文博士:MindFinder技术正在做手机版,希望在未来给大家展示。接下来我们讨论“拨乱反正” 的问题。事实上,现实社会里,很多东西都是不正的,你看这个图形(见下图),不但不正,甚至上面还有噪音,经过改正,最后怎么得到我们想要的结果。这些正的东西,里面有很多的应用。比如说看到一个建筑物,想将窗户的部分找出来,就可以拨乱反正。现在梯形的东西,是真正的窗户结构。如果说用仰角看帝国大厦,这是一样的,随便取一个正方形,拿到的一定不是真正窗户的结构,我可以利用刚刚的方法,将正的东西找出来,我也可以把它拨乱反正。现实中,这个问题非常多的,每天都有,大家每天照的很多的照片,上面都是有扭曲的,像Y这个图(见下图),你拿到的东西,经过一定的改正,就可以得到真正拨乱反正的东西。

从数据中抽取模型鈥斺敿呛樾∥牟┦库21世纪计算鈥澲魈庋萁

图片拨乱反正

 

像我们的相机,照出来的东西,是一个真正的方格子,但出来的东西都是扭曲的,传统上要算很久,现在的技术已经发展进步了,可以很快就算出来了。更复杂的部分,建筑物有曲度,也可以将歪曲的地方找出来,进行拨乱反正。有了这样的东西以后,我们的天坛,这样的圆柱体的建筑物,就可以从圆柱体还原到原来正的平面,做这个建筑物建模的时候,就可以建出很准确的模型。假如说有一个六角形的建筑物的话,只要拍一个视频,就可以拿视频里面每一面进行分析,最后拨乱反正,就很容易做出建筑物的3D建模。

 

还有很多例子,在做文字识别,甚至说现在道路上有很多的智能汽车,要自动地读取道路的名字,或者车牌的号码,如果不拨乱反正之前,做的文字识别效果一定很差。如果能够拨乱反正以后,再送给文字识别,做出来的模型就是非常准确。

 

事实上,每一张照片里面都有需要拨乱反正的地方。刚才我们说实际的物体,现在到我们自己,我们自己个人,个人怎么样用数据帮助我们建模。

 

第一个,人最重要的就是头部,这个门面是大家看得到的,但是怎么进行建模人的头和脸呢?继Kinect去年推出以后,除了大家刚刚看到的产品,我们又推出另外一个Kinect Avatar,能够有个性化交流的时候,能够将脸上所有的表情特征表达出来,就可以将头投射在卡通人身上,你干什么,这个卡通人物就会干什么。我们希望达到这样的效果。做到这样,要克服两个问题。第一个问题,因为我们的脸不会一直都是向着正前方看着,都有不同的动作,做好动作以后,就是要对脸上的细致表情进行描述,如果可以做到这个,就可以把脸上的表情投射在Avatar上面。我们做的Kinect Avatar也发布了,这还是卡通,怎样将真正的人头做出来,因为可以做一个眼睛变动的动作,但是做一个皱纹的变化动作非常难,有两种做法。脸上的肌肉和皱纹线条不见得那么明显,目的就是说能不能做到两种方法,我们做科学的人永远很贪心,这是给研究员的挑战。基本上是一个线性矩阵的算法,想法很简单。如果能够找到关键的部分,还有基本的部分,有了之后,假如说知道怎么变的话,就要做差分的时候,就很容易做了,这样就可以恢复出重要部分和基本部分的3D建模。第一,怎么找面部扫描?第二,脸上会贴点,点跟点之间对应关系是什么?最后不同的面部扫描,但是点的区域之间变化不见得是线性的,就算是线性的也是高维的,怎么表达对应的关系都解决了,最后就可以做成功了。

 

第一步,就是做动作数据采集,做完这个以后,我们就分析,哪些面部扫描是最基本的,相当于找最大的点,然后拿出来,就是基本的面部扫描,有了这个以后,把原来的人找回来,根据那个表情重做一次,重做一次就把上面的点跟点之间对应起来了。接着不同的面部扫描上面的点虽然一样,是一个区域,区域之间的关系也要找出来。最后根据这些信息,就算一个线性的论证,这就是我们做出来的一个结果。这是视频展现出来的,这个是没有贴皮的,真正贴上人皮的是中间这个(见下图),我们真正做出来的3D建模。

从数据中抽取模型鈥斺敿呛樾∥牟┦库21世纪计算鈥澲魈庋萁

面部扫描结果

 

刚才也能够模拟出表情,可以看到皱纹和肌肉的3D人脸,现在还需要让人讲话。讲话也不是那么容易,原因很简单,我们现在还可以读唇语,讲话的时候,我们是用语音合成的做法来做,基本上的概念相当于录一段声音,从这个里面找出小的声音的元素,到了合成的时候,把最相近的找出来,最后有一个全面的模型,进行差分做出来,我们用一样的技术做嘴形、齿形的模拟。大家可以看一下,我们做出来的效果。大家如果很仔细的看,真的是可以以假乱真。刚刚做了脸,也做了声音,我们都串起来。今年3、4月的时候,我们微软首席战略官也在清华做了一个报告,今天他不能来,我们可以通过他的头和声音,让他跟大家打一个招呼(视频33:30-34:00)。

 

我们刚刚讲的语音合成,用的是过去演讲的录音带,大概30分钟到1小时的录影带,里面自动做成一个合成的系统,他没有亲自讲这个话。我们尝试做出中文的语音合成系统,他从来没有讲过中文,我们拿英文的录影带,因为中文跟英文里面的音标有很多相近的,所以用一样的技术,可以让他讲中文。我负责任的讲,他的中文不可能讲得这么好,至少我知道,除非说他不工作,专心每天学中文,即使那样,也是很具有挑战的。

 

大家现在了解我们的技术,他们以前听过仿真,仿真的极限就是真实,现在通过这个技术,不管是刚才的3D人头,还是语音识别,有一个新的词叫做比真实世界还要好,就是我们所谓的大同世界。

 

接下来,另外一个东西也是跟我们有关的。走路,刚才我们讲到人头,基本上就是在那边动一动,讲一讲,不用动,人每天要走很多的路,我先放一段视频给大家看一下。大家知道汽车导航,但是汽车导航在外面有GPS,到室内没有人导航了,要找一个建筑物的话,看地图自己找的话,可能最后都找不到,能够有一个室内的导航系统,能够从一个点带到另外一个点。比如今天有一个人到微软新的楼,要参加一个会议,他就可以说,往前走,如果走的方向偏了,或者超过了,哪里该转了,都会有一个室内的导航系统帮助他到达目的地。这样的东西有很多的应用。比如说到商场里,第一个讲的例子就是到学校来,找一个办公室或者会议室,或者在商场里,想到某一家店,商场有十层高,想知道到哪里买这样的东西,更不要说某一家店正在打折的好机会还可以介绍,就可以让导航找。这里不是在问路,这里是跟人家聊天,由于需要导航,连地图都不用看了,有时候看地图也看不懂,利用我们这个导航系统,就可以走到他要走的办公室。

 

当然做一个导航系统,一定要有地图,有地图还不够,必须要知道,现在到底走向哪里,走了多远。室内最大的挑战是什么,就是没有GPS,我们怎么做。基本上,今天有的解决方案,就是Wifi,屋子里面有很多的Wifi,有一个理论上的衰减公式,根据距离,每一个Wifi之间信号的强弱。当然也可以做得更准,每一个点,不但可以量,真正收到信号增长和衰减的情况,可以做出一个建模,会更准确。这样的做法,必须需要建筑物装很多这样的东西,但是不可能会达到这样的。我们想的方法,是用你的手机,手机里面有一个惯性,现在的手机里面都会有加速器、陀螺仪、指南针,就能够帮助我们知道你走的方向。手机是可以有办法做到指导方向的。我今天讲的两个方面,就是走了几步,同时知道每一步走了多长,我就大概知道你走了多远距离,配合方向和地图,就可以导航。走了几步,相对来讲是比较简单的问题,为什么?走路的时候,是提起来,再放下去,基本上像一个正弦波,都是周期性的,每个周期都是一步。如果想知道每一步走多长,要搜集资料,唯一做的就是跟距离串起来,我们就是找23个“走模”,就是走路走的特别好的人,搜集不同的数据。有了数据以后,我们就可以有建模,大家知道,不管是线性还是非线性,我有一个观点,非线性的函数都是可以用线性逼近,是都有一定的误差。我们用的模型是二维的线性函数逼近,之后就可以把参数找出来,有了模型以后,就可以预测未来了,未来搜集到一些数据,就可以判断出走多远,这是我们做出来的结果。可以看得到,大概在1600CM里面,大概有100CM的误差,大概是6%。算步伐配合地图,就可以做得很有用了。有的人高,步伐大,步伐小,怎么弄呢?这里通常的做法,就是可以搜集小量的数据,就可以有一个系数,假设是一个常数K,除非是一个很怪的人,很少有的步走的很小,或者走的很大,有这样的模型,就可以得出结果了。

 

最后,我们人是一个群体的动物,有什么可以从数据里面产生模型的?我们最近有一个新的研究领域,叫做Urban Computing,在中国大家都知道,大家往城市集中,城市提供很多的机会,更重要的是,在今天节能减排的时代里,大家重新思考,认为都市集中不是坏事,都市集中对节能减排是好事,像美国一样住在郊区,要开车的话,还是烧更多的碳,城市化不但是必然的趋势,某个程度来说,是一个好的趋势。

 从数据中抽取模型鈥斺敿呛樾∥牟┦库21世纪计算鈥澲魈庋萁

Urban Computing:将城市划分出若干区域,分析出租车在其间的行驶状况,以了解北京交通拥堵的潜在问题

 

所谓的Urban Computing,今天有物联网的概念,能不能长时间搜集数据以后,用数据来了解社会的脉动,了解社会的现象,同时改变我们的城市和我们的生活。这里的想法,基本上跟所有的控制或者反馈很像,搜集数据之后,证明模型,甚至提出证明的方案,最后产生良好的互动关系。这个方面做的努力,第一,就是交通。北京、上海这样的城市,交通是很大的问题。计程车上面装有GPS,他们每天在路上,很了解交通状况,有很多的研究今天都是拿计程车来做,北京的计程车数量非常多了,在世界上也只是排第四。总而言之,大部分大城市,都有很多的计程车。在上面装GPS,需要导航,这样数据的取得是非常可行的。用计程车的数据我们可以做很多的事情,今天跟大家介绍的是做法,大部分用这种方法做,就是在量每一段路多拥挤,这个不是我们真正的目的,只是一个本地的现象。我们有兴趣的地方是从一个点到另外一个点,到底有多拥挤。对北京市的地图进行了分析,跟之前介绍的技术很类似,就是自动的将北京所有有可能的地点找出来,就可以搜集数据,计程车的平均速度是多少,也可以想象成一个行车效率,就是说真正走了多少距离,除以两点的直线距离。意思就是说,如果是1就是最有效率了,如果大于1,肯定没有效率,会这样做,一定是因为交通拥挤。根据这个信息,我们可以画出这样的图形,可以在这样的坐标轴上画出这样的图形,这个坐标图形上的学术叫做Skyline,就是速度最慢,效率最低的点,这个就是有问题的地点,就是有问题的点跟点之间,区域跟区域之间的路程。

 

我们用这样的东西进行分析,我们今天有了2009年、2010年的数据,这是在四环边上的一个地方,有一个区域在这边,R1R2,基本上连接一起,2009年的时候,R1R2,塞车的情况很严重。同时发现,在2009年的时候,开了一条新路,而且也在四环口加了新的进出口。结果2010年完工以后,发现R1R2的交通情况大大改善了。就知道这个原因了,原来为什么拥挤,就是因为很多人要进四环,不见得要去R2,现在R1的人可以从新开的路口直接上了,特别是往东走的人,就不需要浪费时间了。所以,就证明了北京城市的规划在四环路上做非常好,我们有数据佐证,这是一个很好的设计。另外一个例子,这里国贸,就是R1,国贸的商场,这里的地方,这是我们后海酒吧街,国贸很多的国外朋友很喜欢去。2009年的时候,从这里到这里,不管怎么走,都很拥挤,结果在2010年的时候,地铁4号线通车以后,国贸直接搭乘地铁到酒吧街了,地铁弄完以后,交通就变好很多。证明对地铁4号线的规划是正确的。

 

所以,北京的城市规划是非常好的,经过我们的数据验证。你设计一个东西的时候,你花了钱,不一定会得到你所要的效率,如果这样的规划,对将来做计划的时候,兴趣就会更大。第二,对于未来,我们在城市规划上、道路规划上,有什么样新方案,可以用现在的数据提出建议,在以前是不可能达到的。

 从数据中抽取模型鈥斺敿呛樾∥牟┦库21世纪计算鈥澲魈庋萁

“雷人”英语屡见不鲜

 

最后一个,就是跟我们人有关,就是语言为什么产生?语言的产生是想表示我们的知识和信息。但是语言今天变成我们得到信息,交换信息的一个障碍。同时,语言是与时倶变的,因为有大量的数据,我们今天可以很好的及时翻译,缩短人跟人之间沟通上的障碍。同时,并不只是翻译,也可以在语言的学习上,我们这里有很多的外国友人学中文,或者信息知识上的获取创造都可以用自然语言的模式来提高,这里就是我们的证明(见上图)。我最近新学一个词叫“有木有”,这些词肯定是要不断地搜集数据,从里面得到建模的模式,才有可能获取。至少是今天,如果有任何同学可以找到一本平板印的字典,里面有“有木有”这个词的话,我出五百元悬赏。我相信一定是没有的。

 

那么,微软亚洲研究院开发了“英库“项目,在座很多同学都知道了,你们觉得很好用,希望你们继续用,你们有什么意见,也给予我们批评指教。去年这个时候,我代表研究院到香港领取一个奖,它是我们的用户投的,非常感谢大家,我们还能够再接再励,推出更好的产品给大家。我们今天加上了口模,就是用3D建模,尤其是学英文,除了听以外,看看嘴唇跟牙齿之间怎么动,这个功能也被广泛应用。还做了很多的工作,就是搜索,大家知道,某大社区网页的英文搜索都是用我们Bing的,搜索英文的时候,不了解的话,马上就可以到英库上,将中文意思调过来,例句解释都可以拿到。如果要找到一个新词的话,我们的Bing马上会给予更多的信息。中国很多的网站,上面直接调用英库上的程序,不用离开他们的网页,就能够帮助你们,对于知识的获取起到最直接的作用。

 

好,最后我总结一下,科学,我们最近在讲大数据,实际上我们做的根源,所有的科学就是这样来的,观察实验,搜集数据,建模,改进,最后预测,来解释现象和了解现象,预测未来。我今天展示的一个模型,配合计算机科学的进展,可以应用在生活上任何一个角落,我们可以模拟我们自己,模拟万物。我觉得,将来能够做的东西是无穷无尽的。在座的同学,等待你们去挖掘。希望五年十年以后,你们会告诉我你们的发现。我们希望有更多更多的发明,谢谢大家!

 

相关阅读

微软研究院将梦想变为现实的20年——记Rick Rashid21世纪计算”大会主题演讲

模型检验和维数灾难——记Edmund M.Clarke“21世纪计算”大会主题演讲

抽象的力量--记Barbara Liskov在“21世纪的计算”大会主题演讲

反思过去,改变未来—记 Chuck Thacker的“21世纪的计算”大会演讲

___________________________________________________________________________________

欢迎关注

微软亚洲研究院人人网主页:http://page.renren.com/600674137

微软亚洲研究院微博:http://t.sina.com.cn/msra

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
### 回答1: 可以使用以下SQL查询:SELECT AVG(price) FROM bookList ORDER BY RAND() LIMIT 10; 这将会告诉您从bookList表随机抽取10条记录的平均单价。 ### 回答2: 要从bookList表随机抽取10条记录,并计算图书的平均单价,首先我会使用数据库查询语言(如SQL)来实现这一功能。 假设表结构如下: bookList (书名, 单价) 我会编写以下SQL查询语句来随机抽取10条记录: SELECT TOP 10 单价 FROM bookList ORDER BY NEWID() 这个查询语句将返回bookList表的随机10条记录的单价。我会将这些单价相加,并将结果除以10来计算平均单价。 接下来,我会使用编程语言(如Python)来执行以上查询语句,并进行计算。这是一个示例代码: import sqlite3 # 连接数据库 conn = sqlite3.connect('database.db') cursor = conn.cursor() # 执行查询语句 cursor.execute("SELECT TOP 10 单价 FROM bookList ORDER BY NEWID()") rows = cursor.fetchall() # 计算总价 total_price = sum(row[0] for row in rows) # 计算平均单价 average_price = total_price / 10 # 关闭数据库连接 conn.close() 最后,我会将平均单价作为结果输出。这个值代表了从随机抽取的10条记录图书的平均价格。 ### 回答3: 要计算图书的平均单价,首先需要从名为bookList的表随机选取10条记录。然后,我们需要将这10本图书的价格相加,并除以10得到平均单价。 具体步骤如下: 1. 随机选择10条记录:使用合适的方法从bookList表随机选取10条记录,确保选择的记录是随机的且没有重复。 2. 计算图书价格总和:将这10本图书的价格相加,得到总价格。 3. 计算平均单价:将总价格除以10,得到平均单价。这个平均单价代表了图书的平均价格。 总之,通过以上步骤,我们就可以从bookList表随机抽取10条记录,并计算出图书的平均单价。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值