91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

聊一聊聊天“機(jī)器人的落地及進(jìn)階實(shí)戰(zhàn)”

電子工程師 ? 來(lái)源:lq ? 2019-05-05 11:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近年來(lái),聊天機(jī)器人技術(shù)及產(chǎn)品得到了快速的發(fā)展。聊天機(jī)器人作為人工智能技術(shù)的殺手級(jí)應(yīng)用,發(fā)展得如火如荼,各種智能硬件層出不窮。

本次公開(kāi)課中,AI科技大本營(yíng)聯(lián)合電子工業(yè)出版社博文視點(diǎn)邀請(qǐng)到上海瓦歌智能科技有限公司總經(jīng)理,狗尾草科技人工智能研究院院長(zhǎng)邵浩老師,他將在3月21日的公開(kāi)課中為大家講解聊天機(jī)器人落地及進(jìn)階實(shí)戰(zhàn)。

本課程將全面闡述聊天機(jī)器人的技術(shù)框架及工程實(shí)現(xiàn)細(xì)節(jié),并對(duì)于聊天機(jī)器人的下一代范式:虛擬生命,進(jìn)行了詳細(xì)的剖析,同時(shí),聚焦知識(shí)圖譜在實(shí)現(xiàn)認(rèn)知智能過(guò)程中的重要作用,給出了知識(shí)圖譜的落地實(shí)踐。

本課程適合工程一線(xiàn)的研發(fā)人員,可以通過(guò)本課程了解聊天機(jī)器人的實(shí)現(xiàn)細(xì)節(jié)。適合高校學(xué)生,可以通過(guò)本課程學(xué)習(xí)聊天機(jī)器人的技術(shù)框架及典型算法。

以下為公開(kāi)課速記整理

邵浩:今天跟大家聊一聊聊天“機(jī)器人的落地及進(jìn)階實(shí)戰(zhàn)”。我是來(lái)自深圳狗尾草智能科技有限公司的邵浩,現(xiàn)在負(fù)責(zé)公司人工智能研究院的工作,主要是做聊天機(jī)器人相關(guān)產(chǎn)品。

今天想跟大家聊的內(nèi)容包括這幾個(gè)方面,包括以下幾個(gè)部分:

第一部分,跟大家講一講聊天機(jī)器人總體產(chǎn)生的背景和技術(shù)架構(gòu);

第二部分,會(huì)跟大家聊一聊聊天機(jī)器人在工程實(shí)現(xiàn)的方方面面,這里我會(huì)配合一些代碼,跟大家解釋一下它每個(gè)模塊、每個(gè)功能是怎么實(shí)現(xiàn)的,希望大家聽(tīng)完這部分之后,可以自己動(dòng)手去搭一個(gè)聊天機(jī)器人;

第三部分,想跟大家聊一聊知識(shí)圖譜在虛擬生命中的應(yīng)用及技術(shù)路徑,并會(huì)簡(jiǎn)單介紹虛擬生命,也就是我們發(fā)現(xiàn)聊天機(jī)器人的種種問(wèn)題之后,想著是不是有更好的辦法去解決聊天機(jī)器人所面臨的很多問(wèn)題;

最后一部分,花5-10分鐘時(shí)間跟大家聊聊工程落地的其他問(wèn)題。

簡(jiǎn)單介紹就到這里,我們言歸正傳。

聊天機(jī)器人概述

首先介紹一下背景。大家現(xiàn)在對(duì)人工智能的感覺(jué)是什么樣子?無(wú)論是AlphaGo,還是AlphaGo Zero,戰(zhàn)勝人類(lèi)最頂尖的圍棋選手;還是Project Debater,一個(gè)參加人類(lèi)辯論賽的機(jī)器人,在今年1月份創(chuàng)造了不俗的成績(jī);還是波士頓動(dòng)力這種行云流水般的機(jī)器人和機(jī)器狗,它也是人工智能非常好的一個(gè)應(yīng)用,而且像OpenAI曾經(jīng)在去年DOTA2比賽中也很厲害。DeepMind最近在搞《星際爭(zhēng)霸2》的比賽,人工智能正在突破一項(xiàng)又一項(xiàng)人類(lèi)的想象空間,所以我們對(duì)人工智能現(xiàn)在有一個(gè)非常直觀的印象是什么?人工智能是上天入地?zé)o所不能的,所以我們會(huì)覺(jué)得,無(wú)論是媒體中現(xiàn)在所說(shuō)到的機(jī)器人覺(jué)醒,還是人類(lèi)毀滅,就變成了非常自然的一個(gè)事情。

我們?nèi)绻麕е@樣的感覺(jué)去看聊天機(jī)器人的話(huà)是什么樣的呢?我們有什么樣的使用感受?各位同學(xué)可能跟我一樣,凡是有這個(gè)聊天機(jī)器人產(chǎn)品,我們大概用了1、2天,在新鮮感過(guò)去之后,就發(fā)現(xiàn)這個(gè)東西再也不會(huì)開(kāi)了,或者再也不會(huì)跟它聊天了,到底什么原因造成這種現(xiàn)象?除了誤識(shí)音、準(zhǔn)確率不高之外,我們對(duì)這些問(wèn)題還是很寬容的。但是我們上次在媒體上看到一篇報(bào)道——外國(guó)用戶(hù)使用亞馬遜的Echo音箱的時(shí)候發(fā)生了什么事?他晚上正在睡覺(jué),突然這個(gè)燈亮起來(lái)了,然后冷笑了兩聲!這個(gè)太恐怖、太嚇人了、太毛骨悚然了!如果是我碰到這種情況,在大半夜時(shí)這個(gè)音箱突然自己笑了,除了拔掉它的插頭,把它從樓上面扔下去摔得粉碎之外,也沒(méi)有什么好的辦法解我的心頭之恨,所以我們可以看到這個(gè)聊天機(jī)器人產(chǎn)品實(shí)在表現(xiàn)不佳。

說(shuō)到聊天機(jī)器人產(chǎn)品為什么做得這么差?我作為一個(gè)從業(yè)者還是很寬容的,因?yàn)槲抑懒奶鞕C(jī)器人的邊界在什么地方,所以我在問(wèn)聊天機(jī)器人產(chǎn)品的時(shí)候就在想:這個(gè)聊天機(jī)器人產(chǎn)品可能這個(gè)地方技術(shù)有問(wèn)題,所以我不去問(wèn)或者盡量避免去問(wèn)它。但是普通的用戶(hù)對(duì)聊天機(jī)器人產(chǎn)品是沒(méi)有那么寬容的,我花了那么多錢(qián)買(mǎi)這個(gè)聊天機(jī)器人音箱,我希望的是可以跟我自然對(duì)話(huà)的機(jī)器人,但是這個(gè)達(dá)不到之后,他就會(huì)埋怨開(kāi)發(fā)者。

用戶(hù)一般對(duì)我們這個(gè)產(chǎn)品的寬容度真的是很低的,他們覺(jué)得你們技術(shù)做得真的很差,其實(shí)我們行業(yè)從業(yè)者們覺(jué)得很委屈的,這個(gè)事情不能怪我們,是根據(jù)技術(shù)現(xiàn)在發(fā)展的程度所決定的。像微軟亞洲研究院副院長(zhǎng)周明老師曾經(jīng)說(shuō)過(guò),語(yǔ)言智能是人工智能皇冠上的明珠,如果我們把這個(gè)美女當(dāng)作我們所有的技術(shù)的話(huà),人工智能就是她頭上的這頂皇冠,而語(yǔ)言智能就是皇冠上的這顆明珠。什么意思?自然語(yǔ)言處理本身就是非常難的事!

我舉個(gè)簡(jiǎn)單的例子,大家就明白了,比如我說(shuō)一句話(huà)叫“明明明明明白白白喜歡他,但是他就是不說(shuō)?!蔽覇?wèn)同學(xué)們,是誰(shuí)喜歡誰(shuí)?是誰(shuí)又不說(shuō)?這句話(huà)很難。我再說(shuō)一句話(huà),比如“我沒(méi)有看見(jiàn)他拿了你的錢(qián)包”,如果我們?cè)诓煌恼Z(yǔ)氣、不同音調(diào)和重音的情況下,這句話(huà)的含義是完全不一樣的。比如說(shuō)“我沒(méi)有看見(jiàn)他拿了你的錢(qián)包”(重音在“看見(jiàn)”上),這個(gè)意思就是我沒(méi)有看見(jiàn)他拿了你的錢(qián)包,我可能聽(tīng)別人說(shuō)他拿了你的錢(qián)包,但是我沒(méi)有親眼見(jiàn)到,或者“我沒(méi)有看見(jiàn)他拿了你的錢(qián)包”(重音在“錢(qián)包”上),就是說(shuō)他拿了你的別的什么東西,但是他沒(méi)有拿了你的錢(qián)包。

所以我們?cè)诶斫庖痪湓?huà)時(shí),它其實(shí)是跟上下文,跟說(shuō)話(huà)者的世界觀、說(shuō)話(huà)者的情緒、所在的環(huán)境、聽(tīng)者的世界觀都是非常相關(guān)的,一句“你好嗎?”或者一句“吃了嗎?”在不同人物中的對(duì)話(huà)的含義是完全不一樣的,所以NLP技術(shù)本身就是非常難的事,

當(dāng)然,還是要做,為什么要做呢?

我曾經(jīng)在其他的報(bào)告也說(shuō)過(guò),微軟在2016年就提出這樣一個(gè)口號(hào),叫“對(duì)話(huà)即平臺(tái)”,它認(rèn)為語(yǔ)言是人類(lèi)交互最自然的方式,從遠(yuǎn)古時(shí)代開(kāi)始,人類(lèi)就用語(yǔ)言進(jìn)行狩獵時(shí)的互相協(xié)作、互相呼應(yīng),在自己豐收時(shí),在村子里跟大家八卦八卦,促進(jìn)大家的友誼,所以語(yǔ)言是人類(lèi)最自然的一種交互方式。但是受限于硬件和軟件,我們之前跟電腦基本上是用鍵盤(pán)和鼠標(biāo)進(jìn)行交互的,所以我們現(xiàn)在深度學(xué)習(xí)、大數(shù)據(jù)、GPU的硬件提升之后,可以直接使用語(yǔ)言跟機(jī)器進(jìn)行交互了,這也是為什么2016年微軟提出“對(duì)話(huà)即平臺(tái)”的這個(gè)概念。

聊天機(jī)器人生態(tài)技術(shù)體系

我們看一下聊天機(jī)器人怎樣分類(lèi)的,它可以分為三個(gè)大的生態(tài)體系:一是框架,二是產(chǎn)品,三是平臺(tái)。

怎么理解?Echo是一種產(chǎn)品,Apple的Siri是一種產(chǎn)品,公子小白是一種產(chǎn)品,IBM Watson是一種產(chǎn)品,小冰也是一種聊天機(jī)器人產(chǎn)品。這些產(chǎn)品有不同的展現(xiàn)形式,比如Siri的載體是手機(jī)、微信或者微博;我們有一款音箱,它的載體是它的硬件,這些產(chǎn)品一定要有一個(gè)載體去進(jìn)行承載,這個(gè)載體就叫做聊天機(jī)器人的平臺(tái),這個(gè)平臺(tái)可能包括像微信、LINE、MSN等等這樣一些平臺(tái)。我們可以理解為是利用這個(gè)框架來(lái)造這個(gè)產(chǎn)品的一個(gè)平臺(tái),國(guó)外的有Alexa、LUIS、Wit,國(guó)內(nèi)有一些比如像ruyi、UNIT都屬于聊天機(jī)器人的框架。

我們?cè)偻a(chǎn)品這個(gè)方向看,產(chǎn)品主要分為兩大類(lèi)方向,第一大類(lèi)叫被動(dòng)交互,第二大類(lèi)叫主動(dòng)交互。所謂被動(dòng)交互就是我問(wèn)它答,我跟它說(shuō)一句,它跟我說(shuō)一句,這叫被動(dòng)交互。我們剛才講到了被動(dòng)交互,被動(dòng)交互其實(shí)分為好幾種。

聊天機(jī)器人的工程實(shí)踐(代碼解釋?zhuān)?/p>

接下來(lái)的代碼實(shí)戰(zhàn)環(huán)節(jié),會(huì)跟大家從閑聊、到任務(wù)對(duì)話(huà)、到問(wèn)答,跟大家完全梳理一下聊天機(jī)器人的所有分類(lèi)。很多聊天機(jī)器人都做不到主動(dòng)交互,因?yàn)樗枰軓?qiáng)的知識(shí)圖譜知識(shí)和場(chǎng)景設(shè)計(jì),比如在你心情不好時(shí)給你推薦一個(gè)什么音樂(lè),這是主動(dòng)交互方面,現(xiàn)在做得不是特別好。安利一下,我們出了一本書(shū),叫《聊天機(jī)器人技術(shù)原理與應(yīng)用》,感興趣的同學(xué)們可以看一下。

現(xiàn)在開(kāi)始進(jìn)入實(shí)戰(zhàn)環(huán)節(jié),我從最簡(jiǎn)單的開(kāi)始,不需要有任何知識(shí)儲(chǔ)備,就可以去做一個(gè)聊天機(jī)器人,一直到我們自己去搭一個(gè)聊天機(jī)器人的框架,并且利用Python去實(shí)現(xiàn)這個(gè)聊天機(jī)器人。

快速上手

第一步帶大家看一下這個(gè)“快速上手”。我給大家準(zhǔn)備的是這個(gè)例子,大家可以看一下我的網(wǎng)頁(yè),我給大家準(zhǔn)備的例子是一個(gè)叫ruyi的平臺(tái),它的網(wǎng)址是ruyi.ai,打開(kāi)這個(gè)網(wǎng)頁(yè)以后有一個(gè)叫“魔戒”的技能插件工具,這個(gè)時(shí)候它上面有一句話(huà)叫“我要產(chǎn)機(jī)器人”,登陸一下,我們就可以利用它的平臺(tái)去造一個(gè)機(jī)器人了。這里可以看到我現(xiàn)在建了很多聊天機(jī)器人,我可以新建一個(gè),為了節(jié)省時(shí)間,我直接管理我現(xiàn)有的聊天機(jī)器人。可以讓機(jī)器人具有不能的技能,在技能商店里可以讓機(jī)器人擁有中譯英的技能、影視點(diǎn)播技能、挑戰(zhàn)單詞技能、兒童閑聊的技能,點(diǎn)擊“獲取技能”,它就可以直接部署,部署之后我就可以直接跟它聊天了,這個(gè)功能已經(jīng)嵌入進(jìn)去了。還有一種,是我們可以在對(duì)話(huà)場(chǎng)景里去建立一些新的意圖,這個(gè)意圖相當(dāng)于你配了一些語(yǔ)料,然后它回答一些特定的語(yǔ)料,比如我這里建立了一個(gè)新意圖叫“寒暄”,這個(gè)意思就是當(dāng)用戶(hù)說(shuō)“Hi”或者“Hello”或者“你好”的時(shí)候,機(jī)器人回答是“Hi”/“Hello”/“你好,好久不見(jiàn)?!边@個(gè)ruyi機(jī)器人如果我們按照這個(gè)技能去設(shè)置一下,我們可以試一下,比如我說(shuō)“Hello”,它就會(huì)說(shuō)“你好,好久不見(jiàn)”,我再說(shuō)一句“Hello”,它會(huì)隨機(jī)在這兩個(gè)回復(fù)里選擇一個(gè)進(jìn)行回復(fù)。其實(shí)大家不需要任何基礎(chǔ)知識(shí),就可以去造一個(gè)自己的聊天機(jī)器人,我們是利用ruyi.ai的平臺(tái)去做這個(gè)事情,這是最簡(jiǎn)單的操作方法。

接下來(lái),我們?cè)僦v稍微難一點(diǎn)的一個(gè)平臺(tái)。這個(gè)平臺(tái)叫做百度的UNIT,百度的UNIT現(xiàn)在做得很好,我們?nèi)タ匆幌逻@個(gè)百度UNIT怎么用的,網(wǎng)址是unit.baidu.com,這個(gè)很漂亮,鼠標(biāo)移動(dòng)過(guò)去有一些很炫的效果。進(jìn)入U(xiǎn)NIT之后,還是為了節(jié)省時(shí)間,我不直接去新建一個(gè)機(jī)器人了,我直接在我今天下午建好的機(jī)器人上進(jìn)行一個(gè)測(cè)試,我建了一個(gè)叫“測(cè)試”的機(jī)器人,它同樣跟ruyi一樣可以添加一些技能,比如我可以添加打電話(huà)、電影、天氣、機(jī)票、閑聊等等這樣一些技能,而且它還有一個(gè)比較好的功能是什么?我可以自定義去配一些技能,比如在我的技能里可以配一個(gè)叫test的功能,我在這個(gè)test里設(shè)置了一個(gè)“天氣”,就是問(wèn)天氣的意圖、對(duì)話(huà)。

怎么去做這個(gè)事呢?講這個(gè)平臺(tái)時(shí),我為什么說(shuō)它比剛才的那個(gè)ruyi稍微難了一點(diǎn)?它這里面需要牽扯到我們對(duì)槽位的理解。我們先不解釋什么叫槽位,我們先看一下我設(shè)定這個(gè)意圖是怎么設(shè)定的。我設(shè)定這個(gè)意圖叫“weather”,它的別名是“天氣”。它怎么做呢?我設(shè)計(jì)一個(gè)詞槽叫“city(城市)”,也就是說(shuō)當(dāng)我在問(wèn)機(jī)器人一個(gè)問(wèn)題時(shí),我必須把“城市”這個(gè)詞槽的信息告訴機(jī)器人,如果我沒(méi)有告訴機(jī)器人的話(huà),它就會(huì)自動(dòng)的反問(wèn)說(shuō)“你在哪個(gè)城市?”這個(gè)時(shí)候我們?nèi)绻ミ@樣設(shè)置的話(huà),在我說(shuō)到比如“今天上海天氣如何”時(shí),它就可以說(shuō)“現(xiàn)在播報(bào)上海的天氣情況”,它會(huì)在會(huì)話(huà)過(guò)程中檢查我是不是已經(jīng)有了“ctiy”這樣一個(gè)槽位。這就是我們講了非常簡(jiǎn)單的兩個(gè)平臺(tái)。

剛才我提到為了用UNIT需要去了解這個(gè)槽位是什么意思。槽位是什么意思?我再跟大家詳細(xì)解釋一下。我們看一下這樣一個(gè)對(duì)話(huà),比如說(shuō)我現(xiàn)在在辦公室,跟大家講這個(gè)話(huà)題,我很困,我跟這個(gè)聊天機(jī)器人說(shuō)“能不能幫我訂一杯星巴克的咖啡送到辦公室”,聊天機(jī)器人可能回復(fù)說(shuō)“好的,點(diǎn)你最?lèi)?ài)喝的大杯美式可以嗎?”它其實(shí)就是個(gè)任務(wù)型對(duì)話(huà),任務(wù)型對(duì)話(huà)就是為了滿(mǎn)足特定的任務(wù)指標(biāo),比如訂票、訂咖啡、訂餐。在任務(wù)型對(duì)話(huà)里,一般會(huì)牽扯槽位提取和填充,槽位就是在這個(gè)任務(wù)里所需要的這些關(guān)鍵信息。

我們看一下它的處理流程,當(dāng)這句話(huà)進(jìn)來(lái)之后我們首先會(huì)在NLU自然語(yǔ)言理解部分做個(gè)意圖識(shí)別,可以用規(guī)則的方法去做,可以用分類(lèi)器的方法去做,也可以用現(xiàn)有的深度學(xué)習(xí)方法去做,這都沒(méi)有問(wèn)題的。如果我們判斷這句話(huà)的意圖是訂咖啡,接下來(lái)要做的什么事情?接下來(lái)要做的就是把咖啡需要的這些槽位,如地點(diǎn)、店名、口味、類(lèi)型填進(jìn)去,這個(gè)方法里面又牽扯到很多自然語(yǔ)言處理的技術(shù),這里就不是我們這次課的重點(diǎn)關(guān)注內(nèi)容,我們只關(guān)注我可以在這個(gè)句子里去抽取到這些信息。比如說(shuō)地點(diǎn),它是東方科技大廈,是根據(jù)我GPS定位,定位到我是東方科技大廈,店名是星巴克,類(lèi)型是外賣(mài)。因?yàn)槲艺f(shuō)的是“幫我訂一杯送到辦公室”,并沒(méi)有說(shuō)口味,機(jī)器人在這一步時(shí)并不知道我想要什么口味的咖啡,這時(shí)就有問(wèn)題了,不知道什么口味怎么幫你點(diǎn)呢?這個(gè)對(duì)話(huà)現(xiàn)在進(jìn)入到我們所說(shuō)的“對(duì)話(huà)管理”模塊,對(duì)話(huà)管理分為兩部分,第一部分叫DST,第二部分叫DPO(以前我們叫DPL)。DST的意思就是“對(duì)話(huà)狀態(tài)跟蹤”,DPO的意思是“對(duì)話(huà)策略?xún)?yōu)化”。DST所做的事情就是跟蹤它的狀態(tài),并且看一下有沒(méi)有上下文,可能他在上文里直接說(shuō)“我想喝美式”,這就不需要再去猜測(cè)用戶(hù)口味了,如果我們發(fā)現(xiàn)這個(gè)上下文是沒(méi)有的話(huà),我就需要去猜測(cè)他的口味到底是什么,這里我直接寫(xiě)了,它可能根據(jù)用戶(hù)之前點(diǎn)的咖啡的偏好,我直接排了個(gè)序,美式第一,拿鐵第二,摩卡第三。這時(shí)它就需要做一個(gè)決策了,這時(shí)是要反問(wèn)用戶(hù)喝什么口味呢?還是直接給用戶(hù)回復(fù)一句話(huà),幫他點(diǎn)一個(gè)默認(rèn)的咖啡呢?這里就需要跟產(chǎn)品的設(shè)定來(lái)進(jìn)行回復(fù)。

我們不希望聊天機(jī)器人在功能型對(duì)話(huà)中有太多的多輪交互,我們希望一句話(huà)就能夠理會(huì)我什么意思。就跟皇帝和太監(jiān)一樣,皇帝一個(gè)眼神,這個(gè)太監(jiān)就知道馬上要做什么事情,這個(gè)是最棒的。但是聊天機(jī)器人沒(méi)有那么聰明,我們盡可能的讓產(chǎn)品設(shè)計(jì)得比較聰明。那怎么設(shè)計(jì)?比如這句話(huà)就是設(shè)計(jì)場(chǎng)景,我們知道用戶(hù)最喜歡喝美式,這句話(huà)可能就說(shuō)“那我點(diǎn)你最?lèi)?ài)喝的大杯美式可以嗎?”這一方面詢(xún)問(wèn)了用戶(hù)的口味,另一方面又節(jié)省了對(duì)話(huà)輪數(shù),這是任務(wù)型對(duì)話(huà)的處理流程。當(dāng)然,最后自然語(yǔ)言生成時(shí)也需要用槽位把這句話(huà)生成出來(lái),這是我們所說(shuō)的任務(wù)型對(duì)話(huà)的基本概念。理解這個(gè)東西,就理解了我們?cè)赨NIT進(jìn)行天氣槽位的填充。

聊天機(jī)器人三種不同形態(tài)的實(shí)現(xiàn)

接下來(lái)我們開(kāi)始介紹聊天機(jī)器人三種不同的形態(tài)是怎么去實(shí)現(xiàn)的。檢索式機(jī)器人最簡(jiǎn)單的做法是什么?比如用戶(hù)對(duì)這個(gè)產(chǎn)品說(shuō)“你穿的衣服好漂亮”。機(jī)器人會(huì)回復(fù)“謝謝你的贊美”,它一般是怎么做的?當(dāng)你說(shuō)“你穿的衣服好漂亮”的時(shí)候,它會(huì)在一個(gè)很大的語(yǔ)料庫(kù)里去搜索,搜索這里面哪一句話(huà)跟我現(xiàn)在問(wèn)的問(wèn)句是最接近的,然后把最近這句話(huà)的回復(fù)直接回復(fù)給用戶(hù),這個(gè)看起來(lái)是不是很簡(jiǎn)單?所以其實(shí)如果你掌握了檢索式方法的話(huà),就完全可以做一個(gè)非常棒的機(jī)器人。只要你寫(xiě)足夠多的語(yǔ)料,用更好的相似度算法,這個(gè)聊天機(jī)器人就會(huì)表現(xiàn)得非常好。但這個(gè)情況只出現(xiàn)在單輪的過(guò)程中,如果在多輪的情況下,檢索式的方法肯定就掛掉了。這里最關(guān)鍵的是什么東西?最關(guān)鍵的是匹配。

我們?cè)倏匆幌滤镜募夹g(shù)流程是怎么走的,比如我說(shuō)剛才那句話(huà)“你穿得衣服好漂亮”。它是作為一個(gè)問(wèn)句,我們就需要做一個(gè)retrieval,這個(gè)retrieval是搜索,我們從大量文件語(yǔ)料對(duì)里去搜索跟我這句話(huà)最接近的一些句子,并且把這個(gè)候選集給篩選出來(lái),有了候選集之后,我們就會(huì)做一個(gè)排序,這兩句話(huà)到底哪句話(huà)跟我這句話(huà)的相似度最高,然后我再把它這句話(huà)的回復(fù)來(lái)回復(fù)給用戶(hù),這是它基本的檢索式的流程,這用2014年一篇論文中提到的經(jīng)典模型,我就直接拿來(lái)用了。

(1) 基于文本相似度

接下來(lái)開(kāi)始介紹基于文本相似度、基于語(yǔ)義相似度以及基于深度學(xué)習(xí)的檢索式方法,也就是說(shuō)對(duì)于檢索式方法,我們現(xiàn)在這里說(shuō)3種比較基本的技術(shù)。

第一種,基于文本相似度的方法。什么叫文本相似度?舉個(gè)例子“你穿的衣服好漂亮哦”,“你的衣服真漂亮”這兩句話(huà),大家直面上感覺(jué)非常相似,它怎么相似?因?yàn)樗淖?、它的詞有很多重合,這就是文本相似度的直觀感受。我們知道文本相似度算法有很經(jīng)典的比如邊際距離、TF-IDF、BM25,這種都是非常經(jīng)典的算法,我這里對(duì)算法部分就不做更多深入的描述了,大家如果感興趣的話(huà),推薦大家去聽(tīng)一個(gè)課程CS 224N,這個(gè)課程是斯坦佛大學(xué)Christopher Manning教授零幾年上的一門(mén)課,應(yīng)該就是叫NLP(自然語(yǔ)言處理)這門(mén)課,它對(duì)經(jīng)典的自然語(yǔ)言處理算法都做了非常好的解釋。

那么我們一般的做法是,這種相似度算法一般是用到字符串匹配,我們知道字符串匹配的速度一般非常慢,但是我們可以借助相似度的檢索引擎提升它的搜索效率。這里有兩個(gè),一個(gè)叫ElasticSearch(ES),另一個(gè)叫HNSW,如果感興趣的話(huà),大家可以在后面課程的PDF、PPT里去看一下這兩個(gè)項(xiàng)目。

接下來(lái)實(shí)戰(zhàn)里是用這個(gè)基于ES相似度檢索引擎,給大家實(shí)現(xiàn)一個(gè)檢索式的聊天機(jī)器人,我這里列的基本是核心的代碼,就不在這里給大家演示了,PPT可能看得更清楚一點(diǎn)。ES怎么去用?這個(gè)很簡(jiǎn)單,我們直接去Import這個(gè)ElasticSearch,首先要配置一下ES的信息,信息包括什么?它的主機(jī)IP,比如說(shuō)我這里是172.27.1.203,端口號(hào)是9201,然后數(shù)據(jù)庫(kù)名稱(chēng)是什么?我們把它起了一個(gè)叫similarity_chat,它的表名稱(chēng)叫什么?比如我們起個(gè)名字叫“qa_corpus”。

接下來(lái)就是正常的流程了,比如我們首先要初始化一個(gè)對(duì)象,小寫(xiě)的es這個(gè)對(duì)象,這個(gè)對(duì)象里所有信息是來(lái)源于我們剛才配置的es信息,這里面是端口號(hào)和IP。接下來(lái)我們想往這個(gè)es里去添數(shù)據(jù),因?yàn)槲覀兿氚堰@樣一批數(shù)據(jù)添加到es里去,13頁(yè)里這些數(shù)據(jù),怎么去添呢?這里我們define一個(gè)方法,這個(gè)方法叫insert_one_data,就是我們插入一條問(wèn)答語(yǔ)料,怎么去插入?一個(gè)問(wèn)答語(yǔ)料包括兩部分,一個(gè)叫Query,一個(gè)叫Answer,就是一個(gè)Q,一個(gè)A,然后我們會(huì)調(diào)用一個(gè)es的index方法,這個(gè)index方法其實(shí)是直接封裝好的插入語(yǔ)料的方法。它是怎么去做?如果這個(gè)數(shù)據(jù)庫(kù)不存在的話(huà),它會(huì)直接生成一個(gè)新的叫這個(gè)名稱(chēng)的數(shù)據(jù)庫(kù),并且建立一個(gè)表叫“qa_corpus”。然后對(duì)于每一條數(shù)據(jù),除了Query和Answer,這是兩列數(shù)據(jù),一個(gè)Query,一個(gè)Answer,還自動(dòng)生成一個(gè)id,相當(dāng)于我們最后生成的數(shù)據(jù)是三列數(shù)據(jù),第一列是Query,第二列是Answer,第三列是id,這是我們預(yù)先存了這樣一些句子。

接下來(lái)要做什么事?接下來(lái)要做檢索,我們來(lái)了一個(gè)問(wèn)句之后,定義了一個(gè)方法叫“similarity_chat”,我們對(duì)這個(gè)問(wèn)句進(jìn)行檢索,跟我剛才數(shù)據(jù)庫(kù)里哪一句話(huà)最接近,然后我們?nèi)藶樵O(shè)置了一個(gè)90%的閾值。相似度為90%以上的答案返回作為最好的候選答案。Body的格式就是query還有這個(gè)minimum_should_match,就是它90%的值。然后我們用es這個(gè)search的方法去找到它的候選集,找到候選集之后去比較這個(gè)閾值,如果所有的閾值都低于我們?cè)O(shè)計(jì)的90%的話(huà),它就直接返回一個(gè)兜底回復(fù),比如else,answer這是一條兜底回復(fù),然后return answer,這是我們的整個(gè)實(shí)現(xiàn)方法。

具體流程在上面看一下,首先,左邊這個(gè)圖是我們插入的三條語(yǔ)料,插入三條語(yǔ)料的Query和Answer分別是“你的衣服真漂亮”、“謝謝你的贊美”,然后還有這兩句。我們現(xiàn)在有一個(gè)query_sent是“你的衣服很漂亮”,我們調(diào)用剛才我們已經(jīng)設(shè)定好的“similarity_chat”這個(gè)方法把這個(gè)query_sent灌進(jìn)去,然后檢索出最好的句子是第一個(gè)。也就是說(shuō)我們其實(shí)在這里直接利用了ES默認(rèn)的相似度的分值的計(jì)算方法,這個(gè)計(jì)算方法在這里其實(shí)可以跟大家說(shuō)一下,大家可以在里面去改自己的計(jì)算方法,因?yàn)槲覀冎榔ヅ涠鹊姆种凳强梢宰约喝プ龊芏嗟膬?yōu)化的。所以,這里面大家可以根據(jù)自己的實(shí)際情況去調(diào)整分值的計(jì)算方法,然后做一個(gè)比較個(gè)性化的自己的檢索引擎,最后得到這個(gè)答案是“謝謝你的贊美”,整體的用ES作為檢索式的方法就簡(jiǎn)單跟大家介紹到這里。

簡(jiǎn)單總結(jié)一下,基于ES相似度檢索引擎的優(yōu)勢(shì)在于什么呢?文本相似度它本身是具有一定泛化支持的,比如你加一個(gè)語(yǔ)氣詞“啊”或者“哦”,或者加一個(gè)逗號(hào)、加一個(gè)標(biāo)點(diǎn),它都可以在相似度檢索方面起到比較好的泛化效果。當(dāng)然,這個(gè)泛化它本身又是一個(gè)比較重要的一個(gè)可以單獨(dú)拎出來(lái)講的模塊。比如我們現(xiàn)在常用的方法叫機(jī)器翻譯,我們可以用機(jī)器翻譯的方法對(duì)大量語(yǔ)句進(jìn)行泛化的設(shè)計(jì),使我們的聊天機(jī)器人可以支持更多泛化語(yǔ)句。第二點(diǎn)優(yōu)勢(shì),ES里自帶的BM25算法有很多權(quán)重可以調(diào)整,在短文本的情況下比邊際距離還要合理得很多。

劣勢(shì)也很明顯,我舉兩個(gè)例子,大家就很明白了,比如說(shuō)“你好漂亮”、“我覺(jué)得你很好看”,大家看看這個(gè)文本相似度,它里面哪幾個(gè)字是一樣的?“你”是一樣的“好”是一樣的,其他字都不一樣,語(yǔ)義相似但是文本字符不是很相似的情況下,這個(gè)文本相似度算法可能就沒(méi)有那么好,但它語(yǔ)義是非常相似的。第二種情況是否定詞怎么辦?比如“我喜歡你”和“我不喜歡你”它的意思是完全相反的,但是在文本相似度檢索時(shí),如果我們沒(méi)有對(duì)否定字進(jìn)行限制,它這兩個(gè)得分是非常高的,“我喜歡你”和“我不喜歡你”的得分是非常高的,這個(gè)情況就非常難以應(yīng)對(duì)。我們一般的處理方法是什么?第一種方法是規(guī)則,比如說(shuō)我可以設(shè)定一些否定詞的過(guò)濾規(guī)則,遇見(jiàn)“不”的情況下跟原有句子是相反的意思,或者怎么樣利用文本語(yǔ)義相似度的方法來(lái)去進(jìn)行相似度的檢索,我們接下來(lái)跟大家講第二塊,就是基于語(yǔ)義相似度怎么去做。

(2) 基于語(yǔ)義相似度

第二種,基于語(yǔ)義相似度。語(yǔ)義相似度一般來(lái)說(shuō)是三步走,我這里列的三條是三步走策略,第一步,先要把一個(gè)句子中單詞變成向量化的表示,向量化表示的方法實(shí)在太多了,而且有很多人講過(guò)專(zhuān)項(xiàng)的talk,這里我就不講嵌入式怎么做的了,如果感興趣的話(huà)可以讀一下Word2vec這種原始論文,或者看一下我們現(xiàn)在這種ELMo、Transformer、Bert這些語(yǔ)言模型的動(dòng)態(tài)詞向量是怎么做的。詞向量這塊我就不去解釋了。詞向量的輸出就是把一個(gè)單詞變成一個(gè)向量,比如變成一個(gè)200維或者300維的向量,這是單詞的向量表示。

第二步是做句子的向量表示,比如剛才我舉的例子“我喜歡你”它是三個(gè)詞,我、喜歡、你,我們把這三個(gè)詞的向量拿過(guò)來(lái)之后怎么把句子的向量做出來(lái),這就需要有一些方法,比如加和平均,比如向量極值,比如最近用得比較多的FastText、Skip-Thought、Quick-Thoughts,這都是非常好用的一些方法,大家可以具體的情況去把句子的向量表示出來(lái)。其實(shí)可以用一些預(yù)訓(xùn)練的向量,比如騰訊應(yīng)該有一個(gè)預(yù)訓(xùn)練好的大規(guī)模語(yǔ)料上的向量,大家可以拿來(lái)用。

第三步是計(jì)算向量距離,我們有了兩個(gè)句子的向量之后,下一步就要去計(jì)算它的相似度,也就是它的向量距離。一般的做法可能采用歐氏距離或者余弦相似度,也就是說(shuō)我們得到一個(gè)分值?;蛘呋谏疃葘W(xué)習(xí)的一些方法,也是延續(xù)著剛才我們PPT里講計(jì)算文本相似度的語(yǔ)義相似度的方法。在匹配算法方面,我這邊只列了一些最早提出來(lái)的或者最經(jīng)典的算法,如果大家感興趣的話(huà),這后面還有非常多論文可以去讀,包括最近也新出很多這方面的論文。

我們從最早的講,2014年華為的諾亞方舟實(shí)驗(yàn)室這篇論文中提出兩種算法,一種算法是基于表達(dá)的,一種算法是基于交互的。兩者最大的區(qū)別在于對(duì)于句子算相似度的時(shí)候,基于表達(dá)的算法是對(duì)這兩個(gè)句子分別進(jìn)行卷積、池化,進(jìn)行向量化之后通過(guò)多層感知機(jī)得到它的匹配度。像MatchPyramid這種算法就是基于交互的,這種算法一開(kāi)始就把兩個(gè)句子給揉起來(lái)了。我們相當(dāng)于一種是分開(kāi)去算,兩個(gè)兄弟先分開(kāi),然后最后再分家產(chǎn);還有這種兩個(gè)兄弟先揉在一起了,揉成一個(gè)矩陣,這里面有一些相似度的Operator,大家看原始論文時(shí),Operator是有兩種,一個(gè)是點(diǎn)乘,一個(gè)是最大化。我們把這個(gè)句子里面的比如這8個(gè)詞,每一個(gè)詞都進(jìn)行一個(gè)相似度的操作,就變成了8×8的矩陣,然后在此之上我們做卷積、池化這樣的操作,通過(guò)最后的多層感知器得到它最后的分值。所以基本上只有這兩個(gè)方向,一個(gè)叫基于表達(dá)的Matching方法,一個(gè)叫基于交互的Matching方法。大家感興趣的話(huà)可以深入的去看一下論文。

(3) 基于深度學(xué)習(xí)

第三種,檢索式還有一種是基于深度學(xué)習(xí)的檢索式方法。這個(gè)我選了一篇比較經(jīng)典的論文,跟大家簡(jiǎn)單講一下它的思想。微軟小冰團(tuán)隊(duì)在2016年提出一個(gè)方法,它不僅考慮詞級(jí)別的,還考慮句子級(jí)別的相似度。什么意思呢?簡(jiǎn)單解釋一下,我們這里有4個(gè)句子:u(1)、u(n-1)、u(n)、r,中間還有很多句子,我們假定它是4個(gè)句子,它現(xiàn)在想算u跟r相似度,怎么算呢?它會(huì)把每個(gè)詞做個(gè)嵌入,也就是做向量化,然后把這個(gè)詞跟r的這個(gè)詞直接做點(diǎn)乘,也就是得到M2這個(gè)矩陣,得到這個(gè)矩陣之后通過(guò)對(duì)句子做GRU,它最后得到的隱狀態(tài)我們做一下余弦相似度計(jì)算,得到的是M1這個(gè)矩陣,所以M1和M2這兩個(gè)矩陣分別代表詞和句層面的相似度,再往后就是通過(guò)CNN,還有一個(gè)GRU,最后得到一個(gè)Score。這個(gè)就是我們有一些基于深度學(xué)習(xí)的檢索式方法,我也不深入進(jìn)行介紹了。剛才已經(jīng)跟大家講完了基于文本相似度的、基于語(yǔ)義相似度的、基于深度學(xué)習(xí)的檢索式方法。

(4) 基于生成式的深度學(xué)習(xí)方法

第四種,跟大家聊一下基于生成式的深度學(xué)習(xí)方法。這是最早一篇論文,應(yīng)該也是華為做的一篇論文,他們當(dāng)時(shí)做的是怎樣通過(guò)一句話(huà)直接生成它最后的這個(gè)回復(fù),就是通過(guò)x(1)到x(t),直接生成y(1)到y(tǒng)(t),他們提出三種不同的方法。有一個(gè)是直接從這個(gè)隱狀態(tài)得到它的context,還有一種方法是里面加了attention,采用加權(quán)的方式利用這個(gè)attention來(lái)得到最后的句子,還有一個(gè)是有一個(gè)contextAttention,還有一個(gè)詞層面的Attention,它們稱(chēng)之為是local和global這兩個(gè)Attention生成的回復(fù)。在這后面也出現(xiàn)了很多生成式的方法,因?yàn)檫@個(gè)talk是基于實(shí)戰(zhàn)的,所以我們對(duì)理論方面不做過(guò)多的深入解釋。

架構(gòu)設(shè)計(jì)

最后來(lái)到最復(fù)雜的一塊了,如果我們想從0到1利用自己的Python代碼去創(chuàng)造一個(gè)聊天機(jī)器人,應(yīng)該怎么去做?第一步,要先把架構(gòu)給設(shè)計(jì)出來(lái)。這個(gè)聊天機(jī)器人的架構(gòu)應(yīng)該分幾個(gè)部分,我們肯定是要用Python去寫(xiě)一個(gè)DM(對(duì)話(huà)管理)這個(gè)模塊,然后這個(gè)模塊會(huì)接收自然語(yǔ)言理解(NLU)的一些信息,同時(shí),它會(huì)對(duì)句子進(jìn)行一個(gè)意圖解析,同時(shí)它會(huì)根據(jù)意圖解析的結(jié)果選擇一項(xiàng)功能,比如它是任務(wù)對(duì)話(huà),還是功能對(duì)話(huà),還是問(wèn)答,還是閑聊,它有不同的處理方式,最后回復(fù)的時(shí)候我們還有一個(gè)NLG的模塊,這就是整個(gè)聊天機(jī)器人簡(jiǎn)單的一個(gè)架構(gòu)。

接下來(lái)這個(gè)序號(hào)是我要跟大家把這幾個(gè)模塊全過(guò)一遍:第一個(gè),NLU,第二個(gè),意圖解析,第三,DM,第四,任務(wù)對(duì)話(huà),第五,問(wèn)答,第六,NLG。為什么不講功能和閑聊?功能假定可以直接使用ruyi、UNIT的技能包,我們這里面就不做開(kāi)發(fā)了。我剛才也講過(guò)了閑聊,我們直接用檢索式的方法做閑聊,我們用很多語(yǔ)料庫(kù)直接做檢索式的閑聊就結(jié)束了。這是我們說(shuō)的架構(gòu)設(shè)計(jì)。

NLU

第一點(diǎn),NLU怎么做。讓大家失望了,NLU里沒(méi)有代碼,為什么沒(méi)有代碼?因?yàn)楹芏嚅_(kāi)源的項(xiàng)目在做NLU的事情,NLU其實(shí)非常多的模塊,至少我們現(xiàn)在用的模塊就有十幾、二十個(gè),這里包括什么?分詞、詞性標(biāo)注、依存、情感分析、實(shí)體鏈接、實(shí)體發(fā)現(xiàn)、語(yǔ)義消歧、主體識(shí)別、句子有效性判斷等等,這個(gè)并不是一節(jié)課能講完的。但我建議大家,如果你真的想以簡(jiǎn)單的方式去實(shí)現(xiàn)一個(gè)聊天機(jī)器人的話(huà),我們?yōu)槭裁从泻玫臇|西不用呢?Jieba分詞是很好的一個(gè)開(kāi)源項(xiàng)目,中科院還有一個(gè)NLPIR,哈工大有一個(gè)LTP,斯坦佛有CoreNLP,我們還有最經(jīng)典的NLTK的包,還有HanLP、AllenNLP。在NLU這塊如果自己做的話(huà)實(shí)在是非常煩,比如分詞、依存自己做的話(huà),這個(gè)時(shí)間就花費(fèi)得太多了,最好的辦法是我用別人的東西,我去加一些自己的個(gè)性化,這就是我NLU所要跟大家講的內(nèi)容。

意圖分類(lèi)

第二點(diǎn),意圖分類(lèi)。想跟大家聊一下意圖分類(lèi)最容易實(shí)現(xiàn)的方法,整個(gè)方法的分類(lèi)其實(shí)是有幾種的,比如:傳統(tǒng)方法,傳統(tǒng)方法里面我們可以用特征,用一些分類(lèi)器,然后直接對(duì)這個(gè)意圖,比如我們用決策樹(shù)或者SVM直接對(duì)句子進(jìn)行分類(lèi)。當(dāng)然還可以用深度方法,比如CNN或者CNN+LSTM來(lái)進(jìn)行分類(lèi)。右邊這個(gè)圖給的就是這樣一個(gè)深度分類(lèi)的方法,它是對(duì)一個(gè)句子進(jìn)行了一個(gè)embedding之后,I是一個(gè)單詞,它是一個(gè)5維的向量,這是一個(gè)舉例,然后它每個(gè)詞都有一個(gè)向量,這個(gè)矩陣拿過(guò)來(lái)之后,我們就會(huì)有一些卷積、池化的操作,最后得到的是二分類(lèi)的一個(gè)結(jié)果,這也是利用深度學(xué)習(xí)的方法去做的。但是我們?cè)诠こ讨羞€需要考慮什么呢?還需要考慮我們到底是二分類(lèi)、多分類(lèi),還是層次分類(lèi)。二分類(lèi)很簡(jiǎn)單,1和0。多分類(lèi)也很簡(jiǎn)單,比如情感里面有“正中負(fù)”。層次分類(lèi)就比較復(fù)雜了,比如我們的產(chǎn)品里共有五層分類(lèi),300多種意圖,所以我在做的時(shí)候,用什么方法才能保證它有比較高的RECALL。這就是我們?cè)诠こ讨兴枰龅膯?wèn)題,其實(shí)是很復(fù)雜的事情。

接下來(lái)我跟大家聊怎樣用規(guī)則方法實(shí)現(xiàn)意圖分類(lèi),用規(guī)則方法實(shí)現(xiàn)意圖分類(lèi)是非常準(zhǔn)確的,但是它缺點(diǎn)在于我們要對(duì)每一個(gè)句子都進(jìn)行規(guī)則的覆蓋,而且當(dāng)規(guī)則實(shí)在是太多的時(shí)候模型就會(huì)變得非常難維護(hù),這是它的缺點(diǎn)。我們來(lái)看一下規(guī)則怎么去做,比如我這里舉了一個(gè)事例是三種不同的意圖,一個(gè)是“講笑話(huà)”,一個(gè)叫“成語(yǔ)接龍”,還有一個(gè)叫“天氣”。它所對(duì)應(yīng)的規(guī)則是這樣寫(xiě)的,比如“來(lái)一個(gè)笑話(huà)”這可以覆蓋,“說(shuō)一個(gè)笑話(huà)”可以覆蓋,“講笑話(huà)”也可以覆蓋,“說(shuō)笑話(huà)”也可以覆蓋,這是一個(gè)規(guī)則,剩下的是同理。

怎么去做呢?我們看一下,右邊有兩個(gè)函數(shù),第一個(gè)函數(shù)叫build,第二個(gè)函數(shù)叫intent_recognition。這個(gè)函數(shù)的作用是正則編譯,正則編譯大家應(yīng)該也很清楚,我們對(duì)正則表達(dá)式進(jìn)行預(yù)編譯的話(huà),可以有效加快正則的匹配速度,這個(gè)是編譯,我就不講了。第二個(gè)是在意圖分類(lèi)的上面,如果有query進(jìn)來(lái)之后,candidate_list一開(kāi)始是空的,然后我們把正則編譯之后,從正則里面去選擇正則對(duì)這個(gè)句子進(jìn)行匹配,匹配之后我們會(huì)對(duì)匹配到的字符串的長(zhǎng)度對(duì)意圖進(jìn)行ranking。也就是說(shuō)它可能匹配到不同的意圖,這個(gè)時(shí)候我們就需要根據(jù)它匹配的字符串的長(zhǎng)度來(lái)對(duì)意圖進(jìn)行排序,最后把所有的candidate進(jìn)行排序之后輸出,這是我們?cè)谟靡?guī)則實(shí)現(xiàn)意圖分類(lèi)時(shí)的一段代碼。

神藥:fastText

如果大家不想那么麻煩,還有一種包治百病的神藥叫fastText,是在2018年廣泛地被工程界所采用的一種分類(lèi)方法。當(dāng)然,現(xiàn)在這個(gè)方法被Bert和ELMo、Transformer這種更先進(jìn)的算法所替代,也不是超越吧,大家還是一起做,有時(shí)做一些Stacking方法時(shí)去用,我們也會(huì)用到Bert或者新的GPT這種算法。但是fastText本身對(duì)意圖分類(lèi)的效果是非常明顯的,而且它由于是基于字符子串的,所以它的性能也非常高,它不僅速度快,性能也非常高,所以在2018年我們笑稱(chēng)fastText是“包治百病的神藥”,這個(gè)神藥對(duì)工程界的分類(lèi)起到非常大的促進(jìn)作用。

我們看一下fastText怎么用,很簡(jiǎn)單!它的代碼是非常簡(jiǎn)單的,我們只需要準(zhǔn)備帶有分類(lèi)標(biāo)簽的數(shù)據(jù)集就行了。分類(lèi)數(shù)據(jù)集這里是已經(jīng)分好詞的,比如這句話(huà)的label是weather,這句話(huà)的label是music,這句話(huà)的label是news,我們準(zhǔn)備了幾萬(wàn)條的數(shù)據(jù)集,把它分為測(cè)試集、驗(yàn)證集、訓(xùn)練集,之后我們就import fasttext,然后定義一個(gè)訓(xùn)練函數(shù),定義一個(gè)預(yù)測(cè)函數(shù),訓(xùn)練函數(shù)的話(huà)比如直接用train_supervised就行了,然后我們還可以算它的precision,recall還有F1,這是訓(xùn)練。用的時(shí)候怎么用?我們把model提出來(lái),然后去predict這個(gè)sentence的label,然后return這個(gè)label就結(jié)束了。fasText是非常好用的一個(gè)算法。

DM(對(duì)話(huà)管理)

第三點(diǎn),下面這個(gè)部分開(kāi)始講DM。DM的代碼在這里沒(méi)有貼,因?yàn)檫@個(gè)實(shí)在是太復(fù)雜了。我跟大家講一下整個(gè)框架是怎么實(shí)現(xiàn)的,DM是對(duì)對(duì)話(huà)進(jìn)行控制,很多情況下是對(duì)多輪對(duì)話(huà)進(jìn)行控制。我這里舉了個(gè)典型的多輪對(duì)話(huà),這里舉的例子是天氣,我這里列了1、2、3,是用戶(hù)在前三輪所說(shuō)的一些話(huà),比如說(shuō)用戶(hù)第一句說(shuō)“上海上周日下雨了嗎?”它的對(duì)話(huà)時(shí)間是3月21號(hào)的8點(diǎn),它的意圖是天氣,地點(diǎn)是上海,時(shí)間是2019年3月17號(hào),因?yàn)樗巧现苋障掠炅嗣础N覀兂槿∵@些信息之后,就會(huì)給它回復(fù)一個(gè)3月17號(hào)的上海天氣是什么樣子,它下雨了沒(méi)有。這是用戶(hù)問(wèn)的第一句話(huà),以下是同理的。

用戶(hù)第二句話(huà)問(wèn)的是“上海今天的天氣如何”,所以它最后的回復(fù)是3月21號(hào)的上海天氣。第三句話(huà)用戶(hù)說(shuō)了一個(gè)不相干的,用戶(hù)覺(jué)得好像今天天氣很差,怎么辦呢,他說(shuō)了一句“明天就不要出門(mén)了吧”,這個(gè)時(shí)候我們開(kāi)始說(shuō)重點(diǎn)的了。重點(diǎn)就是用戶(hù)當(dāng)在第四句話(huà)時(shí)說(shuō)“那明天呢,怎么辦?”我們看一下它的處理流程,“那明天呢”這句話(huà)進(jìn)入了意圖分析之后,我們發(fā)現(xiàn)這句話(huà)的正常意圖分值是非常低的,也就是說(shuō)它不像是個(gè)正常的意圖,在意圖判斷時(shí)我們已經(jīng)加載了上下文,也就是說(shuō)它上文的日志,這時(shí)我們用分類(lèi)器模型判斷或者用一些規(guī)則,判斷它可能是屬于某個(gè)多輪意圖。這個(gè)多輪意圖是屬于哪一個(gè)呢?我們就要去找這個(gè)窗口,這里面有兩個(gè)窗口,一個(gè)叫時(shí)間窗口,一個(gè)叫輪數(shù)窗口,比如輪數(shù)窗口我們這里設(shè)定的是3輪,3輪內(nèi)的內(nèi)容都會(huì)抓取,時(shí)間窗口是5分鐘,5分鐘內(nèi)的數(shù)據(jù)都會(huì)抓取,這些數(shù)據(jù)都抓取之后,我們判斷它確實(shí)是天氣意圖下面的一句話(huà)。這句話(huà)有了之后我們填充槽位,“那明天呢”我們判斷他是在問(wèn)天氣,那這個(gè)天氣的槽位信息是什么?明天是時(shí)間信息,那地點(diǎn)是哪里?地點(diǎn)我們直接沿用上一輪他問(wèn)這個(gè)天氣的地點(diǎn)的槽位信息。所以最后我們的槽位信息其實(shí)是“上?!笔堑攸c(diǎn),時(shí)間是“3月22號(hào)”,就是明天上海的天氣是怎么樣的。這里面用狀態(tài)機(jī),然后去決定我們接下來(lái)要做什么樣的操作,這里會(huì)經(jīng)過(guò)DST的步驟。同時(shí),我們?cè)诨貜?fù)之后也把這些日志加入到日志的log數(shù)據(jù)庫(kù)里去,最后會(huì)返回一個(gè)對(duì)話(huà),這是DM的操作流程。

基于特定任務(wù)的對(duì)話(huà)實(shí)例

第四點(diǎn),接下來(lái)是基于特定任務(wù)的對(duì)話(huà)實(shí)例,特定任務(wù)代碼非常多,沒(méi)辦法貼全,那么就貼一下最基本的這樣一些模塊。比如說(shuō)我們會(huì)對(duì)槽位首先進(jìn)行一個(gè)限制,比如date是時(shí)間的槽位里包括“今天|明天|后天|本周|下周”等等,地點(diǎn)包括“北京|上海|深圳|廣州”這樣一些地點(diǎn),當(dāng)有這樣的問(wèn)句之后,我們首先會(huì)進(jìn)行意圖識(shí)別,intent-recogniton,我們會(huì)對(duì)這個(gè)query進(jìn)行意圖識(shí)別,如果這個(gè)intent是weather的時(shí)候,它就先進(jìn)入到一個(gè)槽位提取,我們提取的槽位是根據(jù)weather下面的槽位信息去提的,它需要包括時(shí)間和地點(diǎn),所以我們有這樣一個(gè)函數(shù)去抽它的時(shí)間和地點(diǎn)信息。接下來(lái),槽位提取之后我們就要請(qǐng)求天氣接口了,這時(shí)比如我們用的是新浪天氣,新浪天氣有個(gè)服務(wù),我們就需要用這個(gè)date和location去請(qǐng)求新浪天氣的這個(gè)服務(wù),返回當(dāng)前的這樣一個(gè)天氣的情況,叫weather-info,有了這個(gè)weather-info之后我們?cè)儆肗LG模塊成一個(gè)回復(fù),得到這個(gè)anwser,這就是基于我們特定任務(wù)對(duì)話(huà)實(shí)現(xiàn)的簡(jiǎn)單流程。

問(wèn)答模塊

第五點(diǎn),接下來(lái)介紹剛才模塊里的問(wèn)答模塊。簡(jiǎn)單跟大家說(shuō)一下基于模塊的問(wèn)答方式,還有更多的,比如基于語(yǔ)義解析超出了本次課程的范圍。那基于模板怎么做?比如用戶(hù)問(wèn)了“你喜歡看海賊王嗎?”這句話(huà)用模板的處理方式就是先去匹配這個(gè)模板庫(kù),它會(huì)在模板庫(kù)里去匹配這句話(huà)跟誰(shuí)是最相近的。匹配完之后我們會(huì)有一個(gè)動(dòng)漫字典,它是屬于海賊王,海賊王屬于娛樂(lè)類(lèi)的動(dòng)漫的類(lèi)型,所以最后給一個(gè)相應(yīng)的回復(fù)語(yǔ)句。

怎么去做?是這樣的流程,它的做法是這樣子的,我們首先維護(hù)了一套正則模板庫(kù),比如“你喜歡(.*)”,這個(gè)正則模板庫(kù)大概幾千條或者幾百條,當(dāng)有一個(gè)問(wèn)句進(jìn)來(lái)時(shí),它會(huì)匹配正則模板庫(kù)里的所有正則,比如它匹配的正則最后匹配到了“你喜歡”的這樣一個(gè)句子,然后把“你喜歡”后面的這一部分都抽取出來(lái),也就是說(shuō)“看海賊王嗎?”這幾個(gè)字符全抽取出來(lái)作為候選。候選里面肯定包括一些形容詞、標(biāo)點(diǎn)符號(hào)、無(wú)意義的詞,怎么去刪掉它們呢?我們采用了一種方法叫TrieMatch的方法,其實(shí)可以用最常匹配的這種方法去進(jìn)行匹配,我們最后匹配到字典里的叫“海賊王”的字典庫(kù),然后我們把“海賊王”關(guān)鍵詞抽取到文本中,“海賊王”屬于動(dòng)漫字典,然后再給用戶(hù)進(jìn)行一個(gè)回復(fù),這是這邊的一個(gè)簡(jiǎn)單說(shuō)明。

自然語(yǔ)言生成(NLG)實(shí)例

最后,講一下自然語(yǔ)言生成。也就是說(shuō)我們機(jī)器人在回復(fù)時(shí),不可能讓它只是回復(fù)我們查到的答案。以天氣為例,天氣最后的結(jié)果一般是氣溫,還有天氣的狀況。所以我不可能直接回復(fù)用戶(hù)說(shuō)“多云,10度、15度”,我肯定要回復(fù)非常自然的句子。它的做法是這樣子的:比如我們對(duì)于整個(gè)NLG在天氣回復(fù)里是這樣設(shè)計(jì)的,它的Answer包括四個(gè)部分,第一個(gè)部分叫“今天的天氣是什么”,第二個(gè)部分叫“最低氣溫是什么”,第三個(gè)部分叫“最高氣溫是什么”,第四個(gè)部分叫“個(gè)性化的回復(fù)語(yǔ)料”。我們可以看到,當(dāng)我們有這樣一個(gè)slots_info的時(shí)候,我們有“多云,10-15”度時(shí),我們就直接可以把這4個(gè)信息拼成一句話(huà),這句話(huà)可能是“今天的天氣是多云,最低氣溫是10度,最高氣溫15度,天氣有點(diǎn)涼哦,主人穿件薄外套吧”,這就是自然語(yǔ)言生成,我們利用槽位填充來(lái)做的模塊的具體實(shí)現(xiàn),其實(shí)也算一段偽代碼。

總結(jié)一下,我們整個(gè)框架怎么實(shí)現(xiàn)呢?首先,NLU,我們用Jieba分詞、哈工大的LTP;意圖解析我們可以用FastText或者Bert;NLG我們用配置的方法去做;DM我們用Python自己去寫(xiě);任務(wù)對(duì)話(huà)我們用規(guī)則去實(shí)現(xiàn);功能模塊我們用現(xiàn)成的;問(wèn)答模塊我們用模板;閑聊模塊我們是用基于檢索的方法,這樣就可以非常簡(jiǎn)單的去實(shí)現(xiàn)一個(gè)聊天機(jī)器人。今天的主要部分就講到這些。

知識(shí)圖譜在虛擬生命中的應(yīng)用及技術(shù)路徑

接下來(lái)跟大家聊一聊關(guān)于知識(shí)圖譜方面的信息,聊天機(jī)器人這塊基本的技術(shù)方面跟大家聊得差不多了。

講講圖靈測(cè)試。聊天機(jī)器人現(xiàn)在表現(xiàn)是非常差的,但是在2014年仍然通過(guò)了圖靈測(cè)試,圖靈測(cè)試本身是圖靈在1950年代發(fā)明的測(cè)試,它是測(cè)試機(jī)器人是不是能蒙騙人類(lèi),它的測(cè)試方法是在5分鐘之內(nèi),我一個(gè)人,這有一堵墻,不知道對(duì)面是一個(gè)電腦還一個(gè)人,我跟它對(duì)話(huà)5分鐘,如果參與測(cè)試的人30%都被騙了,那么就說(shuō)這個(gè)計(jì)算機(jī)通過(guò)了圖靈測(cè)試。其實(shí)這個(gè)測(cè)試標(biāo)準(zhǔn)是非常主觀的,我們可以利用很多trick去繞過(guò)這樣的一些設(shè)置。所以說(shuō)其實(shí)圖靈測(cè)試并不能真正反映機(jī)器人的智能程度,因?yàn)閳D靈測(cè)試的來(lái)源是什么?大家可能聽(tīng)過(guò)這個(gè)故事,圖靈是個(gè)同性戀者,所以說(shuō)圖靈測(cè)試是每一個(gè)在英國(guó)的同性戀在1950年代必須通過(guò)的日常測(cè)試,也就是說(shuō)作為一個(gè)同性戀,你能不能裝成一個(gè)異性戀,其實(shí)這是圖靈測(cè)試最先緣起的原由,其實(shí)是很悲慘的一個(gè)故事,最后圖靈由于被接受化學(xué)閹割,然后抑郁而去自殺的,非常可惜的一個(gè)事情。所以我們講這些的原因是在于,我們覺(jué)得哪怕是聊天機(jī)器人它通過(guò)了圖靈測(cè)試,并不能代表它真正具有智能的一個(gè)效果。

所以我們接下來(lái)就會(huì)想:既然這個(gè)聊天機(jī)器人做得這么差,怎么去提升它的體驗(yàn)感和效果?我們想到的一種方法是給聊天機(jī)器人賦予人格和IP化,比如大白,比如R2D2,比如外星人,好像就是叫AI,這個(gè)電影,《西部世界》,我們是不是能把這些形象放到聊天機(jī)器人里去,這是我們想要做的事情。

我們?cè)?jīng)做的一個(gè)第二代產(chǎn)品,就是怎樣讓一個(gè)聊天機(jī)器人更加具有生命感的表達(dá),視頻因?yàn)闀r(shí)間關(guān)系就不播放了。所以我們對(duì)虛擬生命有一個(gè)比較完整的定義,我們把它稱(chēng)之為“虛擬生命”,它除了具有聊天機(jī)器人最基本的能力之外,它還具有比如看、聽(tīng)、說(shuō)、思考、動(dòng)作等這樣一些方面的能力,這是我們對(duì)虛擬生命期望的效果。定義是我們希望它以多形態(tài)和多模態(tài)進(jìn)行交互,具備強(qiáng)大的感知和認(rèn)知能力,并進(jìn)一步實(shí)現(xiàn)自我認(rèn)知和自我進(jìn)化。這是我們對(duì)虛擬生命總體的技術(shù)進(jìn)行的總結(jié),可以看到除了圖像、聲學(xué)和認(rèn)知交互之外,我們還具備像姿態(tài)、情感、作詞作曲、演唱、多性格、情感識(shí)別、主動(dòng)推薦等各方面的能力。

怎么樣去實(shí)現(xiàn)這些能力?我們前面這些鋪墊都是為了引出我們接下來(lái)要講的這塊內(nèi)容,叫“知識(shí)圖譜”,怎么樣真正的讓聊天機(jī)器人擁有自己思考、理解、推理能力,也就是我們正在研究的知識(shí)圖譜技術(shù)所要帶給我們可以期望的東西。我們知道,現(xiàn)在是深度學(xué)習(xí)和大數(shù)據(jù)的時(shí)代,深度學(xué)習(xí)和大數(shù)據(jù)利用它的算力、利用它的數(shù)據(jù),可以在感知層面,比如圖像識(shí)別、語(yǔ)音識(shí)別、語(yǔ)音合成做到非常好的效果,但是碰到有一些需要思考的問(wèn)題深度學(xué)習(xí)肯定是要掛掉的。舉個(gè)簡(jiǎn)單的例子,比如肖仰華老師曾經(jīng)舉個(gè)經(jīng)典的例子叫“我把雞蛋放到籃子里,是雞蛋大還是籃子大?”這個(gè)問(wèn)題對(duì)于深度學(xué)習(xí)來(lái)講是非常難以解決的,因?yàn)樗痪邆涑WR(shí)和推理,所以雞蛋大還是籃子大的這個(gè)問(wèn)題它就回答不了。另外,我還可以問(wèn)一個(gè)問(wèn)題,叫“姚明的妻子的女兒的媽媽的老公的國(guó)籍是什么?”我想現(xiàn)在的聊天機(jī)器人無(wú)一例外都會(huì)被繞暈的,因?yàn)橐γ鞯钠拮拥呐畠旱膵寢尩睦瞎鋵?shí)就是姚明,但是機(jī)器人是沒(méi)有辦法去理解這么復(fù)雜的一段信息的。但這個(gè)時(shí)候如果我們擁有了這樣一套豐富的知識(shí)圖譜之后,我們其實(shí)就可以進(jìn)行推理,包括常識(shí)推理這方面的內(nèi)容。

知識(shí)圖譜全流程

接下來(lái)我們就開(kāi)始介紹知識(shí)圖譜整體的全流程,知識(shí)圖譜的全流程在這張圖上寫(xiě)得比較清楚。最下面是對(duì)于三種不同類(lèi)型的數(shù)據(jù)(結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化)進(jìn)行數(shù)據(jù)加工,這里用到知識(shí)表示、知識(shí)融合、關(guān)系抽取、事件抽取、實(shí)體分類(lèi)、屬性分類(lèi)等各種方法去建立起自己的知識(shí)圖譜,我們自己的知識(shí)圖譜叫“七律”,所以我這里把“七律”這兩個(gè)字寫(xiě)上來(lái)了。當(dāng)我們建立了這些知識(shí)圖譜之后,在上層就可以想象出它可以做很多應(yīng)用,比如問(wèn)答、推理、聯(lián)想、推薦,等等,但做這些應(yīng)用之前我們還需要有一步中間層,叫“知識(shí)映射層”,比如我們需要做知識(shí)檢索、本體對(duì)齊、實(shí)體消歧、機(jī)器閱讀這方面的事情,才能夠使得這個(gè)知識(shí)圖譜能夠真正的變成知識(shí)應(yīng)用。

知識(shí)來(lái)源

首先說(shuō)一下知識(shí)來(lái)源,我們的來(lái)源來(lái)自百度、互動(dòng)百科、知乎、新浪、維基、萌娘百科。為什么要有萌娘百科呢?我們自己做的產(chǎn)品是一個(gè)偏向二次元和娛樂(lè)化的,所以在建立知識(shí)圖譜的時(shí)候一定要根據(jù)自己的領(lǐng)域去建立知識(shí)圖譜,萌娘百科給我們帶來(lái)很多關(guān)于二次元的百科知識(shí),這是我們非常有用的一些知識(shí),所以我們?nèi)ソ⒘艘惶灼蚨卧倪@樣一套知識(shí)圖譜。

知識(shí)表示

然后是知識(shí)表示,我們都知道知識(shí)要去進(jìn)行存儲(chǔ)的話(huà)要有一定的表示方式,我們除了比較直觀的圖表示,還有這種RDF的表示方式,大家可以理解它是一個(gè)三元組,比如特朗普的妻子是梅拉尼婭,特朗普的女兒是伊萬(wàn)卡,其實(shí)是兩個(gè)實(shí)體,特朗普和梅拉尼婭中間的關(guān)系是妻子關(guān)系,特朗普的妻子是梅拉尼婭,這就是我們對(duì)知識(shí)進(jìn)行表示。所以在我們最底層對(duì)知識(shí)進(jìn)行處理之后,我們接下來(lái)對(duì)知識(shí)需要進(jìn)行一個(gè)表示。

知識(shí)補(bǔ)全

然后這個(gè)PPT跟大家聊的是知識(shí)補(bǔ)全,知識(shí)補(bǔ)全是怎么做的呢?給大家舉個(gè)例子,比如陳道明的妻子是杜憲,我們?cè)诎倏评锶ゲ殛惖烂鬟@個(gè)詞條,我們會(huì)發(fā)現(xiàn)它有一個(gè)信息是妻子是杜憲,但是我們查杜憲的時(shí)候發(fā)現(xiàn)杜憲并沒(méi)有一個(gè)邊指向陳道明,那如果我們有了一套知識(shí)體系,它會(huì)限定如果一個(gè)人是另外一個(gè)人的丈夫,那么這個(gè)人肯定是這個(gè)人的妻子,這個(gè)邏輯應(yīng)該不會(huì)錯(cuò)吧?這個(gè)也可能會(huì)錯(cuò),為什么呢??jī)蓚€(gè)人如果都是男性,或者兩個(gè)人如果都是女性的話(huà),這個(gè)就有問(wèn)題了。但我們假定這個(gè)不存在,我們假定如果一個(gè)人是一個(gè)人的妻子,那么這個(gè)人肯定是另外一個(gè)人的丈夫。所以有了這套知識(shí)體系之后,我們就可以補(bǔ)上一條邊,比如杜憲的丈夫是陳道明,這條邊就可以自動(dòng)補(bǔ)上了,費(fèi)麗達(dá)的丈夫是程遠(yuǎn),那么程遠(yuǎn)的妻子就是費(fèi)麗達(dá),用這樣一些手段可以舉行知識(shí)補(bǔ)全,這也是預(yù)處理時(shí)需要去做的一個(gè)事情。

知識(shí)擴(kuò)展

什么叫知識(shí)擴(kuò)展?就是我們把一些不存在的關(guān)系學(xué)習(xí)到并且加入到知識(shí)圖譜里去。我舉的這個(gè)例子可能不恰當(dāng),因?yàn)檫@個(gè)關(guān)系是已經(jīng)存在的了,我只是說(shuō)一下這個(gè)方法是怎么做的。

“2015年10月1號(hào),劉強(qiáng)東與奶茶妹妹在澳大利亞舉行婚禮”,這個(gè)句子它里面是有一個(gè)關(guān)系存在的,是什么關(guān)系?劉強(qiáng)東和奶茶妹妹是夫妻關(guān)系,然后我們接下來(lái)通過(guò)實(shí)體鏈接,在數(shù)據(jù)庫(kù)里找到奶茶妹妹其實(shí)真名是章澤天,那這樣我們就可以直接在劉強(qiáng)東和章澤天之間建立起一個(gè)夫妻關(guān)系,并且把這個(gè)知識(shí)擴(kuò)展到我們已有的知識(shí)圖譜中,這個(gè)就是我們所說(shuō)的知識(shí)擴(kuò)展方面的內(nèi)容。

新知識(shí)發(fā)現(xiàn)

新知識(shí)發(fā)現(xiàn)也是我們要做的一個(gè)事情,因?yàn)槲覀冎乐R(shí)的變化實(shí)在是太快了,我們最近有很多熱點(diǎn)知識(shí)不斷刷新我們的認(rèn)知。比如“御三家”什么意思?原本是指德川本家之外的三大家族,現(xiàn)在可能會(huì)指這個(gè),比如亞洲表情包御三家:姚明、金館長(zhǎng)、兵庫(kù)北,這種御三家。還有“隔壁老王”,隔壁老王以前就是指隔壁老王,現(xiàn)在它有一個(gè)含義還叫“親生爸爸”,這個(gè)也是新知識(shí)發(fā)現(xiàn),我們要去找的一些東西。“祭天”也是前年挺火的,暴風(fēng)影音那個(gè)事,但是我覺(jué)得挺有趣的,祭天是通過(guò)殺死程序員、產(chǎn)品經(jīng)理等,來(lái)留住用戶(hù)的一種儀式。它其實(shí)也是老詞的一個(gè)新的解釋?zhuān)鋵?shí)我們?cè)谛轮R(shí)發(fā)現(xiàn)時(shí),就需要去發(fā)現(xiàn)這樣一些新的知識(shí),有了這些新知識(shí)之后怎么辦?后面就是更新。我們有兩種更新方式,第一種更新方式是增量,當(dāng)我們發(fā)現(xiàn)這樣的熱詞之后,我們會(huì)對(duì)它以及它周邊的實(shí)體進(jìn)行增量更新;另外一種是全量更新,比如我們定期一個(gè)月對(duì)知識(shí)圖譜進(jìn)行全范圍的更新,因?yàn)樗拇鷥r(jià)是相當(dāng)大的,所以知識(shí)更新也是我們知識(shí)圖譜整個(gè)構(gòu)建鏈條中不可或缺的一部分來(lái)保證知識(shí)圖譜的新鮮度。

基于知識(shí)圖譜的問(wèn)答

基于知識(shí)圖譜的問(wèn)答是知識(shí)圖譜的一種應(yīng)用,這里面跟大家舉的例子是這個(gè)基于語(yǔ)義解析的知識(shí)圖譜的問(wèn)答。我們可以看到,整個(gè)問(wèn)答里綜合了自然語(yǔ)言處理的各種模塊,也綜合了我們?cè)谥R(shí)圖譜里所涉及到的知識(shí)領(lǐng)域。

川普的老婆的國(guó)籍是什么?首先我們實(shí)體會(huì)抽取到“川普”,“川普”是指四川普通話(huà)?還是指特朗普?這里我們就需要有一個(gè)映射,有一個(gè)實(shí)體的消歧,最后我們得到它是指特朗普?!袄掀拧睂?duì)應(yīng)的標(biāo)準(zhǔn)叫法是“配偶”,“國(guó)籍”是“國(guó)籍”,“?”是“?X”,我們就會(huì)把這個(gè)語(yǔ)義進(jìn)行組合,比如特朗普的配偶是“?y”“?y”的國(guó)籍是“?x”,而我們最后一個(gè)查的是“?x”,所以它就會(huì)這樣寫(xiě),“SELECT DISTINCT?X”WHERE,限定條件是什么?“?y”的國(guó)籍是“?x”,并且限制特朗普的配偶是“?y”,最后我們得到特朗普的配偶是梅拉尼婭,梅拉尼婭的國(guó)籍是美國(guó),所以最后得到的答案是“美國(guó)”,具體的細(xì)節(jié)可以去研究一下基于語(yǔ)義解析的知識(shí)圖譜。用到很多技術(shù),包括分詞、詞性標(biāo)注、NER、關(guān)系抽取,等等,也不是我們這節(jié)課所討論的范圍。

工程落地的其他問(wèn)題

我們感覺(jué)掌握了很多NLP知識(shí),掌握了很多KG技術(shù),又有了一些工程的手段,就覺(jué)得我可以做成非常棒的產(chǎn)品。但正如這幅圖給大家看到的一樣,這是一個(gè)什么鳥(niǎo),我也忘了是野鴨還是什么,它在落地冰面時(shí)滑到了,真正落地跟我們想象的有時(shí)是完全不一樣的。所以在工程落地時(shí)有很多因素是需要考慮的,這里面不僅僅是技術(shù)的問(wèn)題,技術(shù)可能只是占我們整個(gè)產(chǎn)品化的一個(gè)非常小的部分。我們需要考慮這個(gè)產(chǎn)品賣(mài)給誰(shuí)、怎么賣(mài),然后我們還需要考慮整個(gè)系統(tǒng)的性能架構(gòu)。

我們是采用檢索式的閑聊問(wèn)答,還是做多模態(tài)的交互問(wèn)答,同時(shí)我們還要考慮它軟硬件投入、人力投入和市場(chǎng)行情是什么樣的。尤其是現(xiàn)在聊天機(jī)器人本身就是一個(gè)已經(jīng)不是紅海市場(chǎng),已經(jīng)是血海市場(chǎng)了,大家在這個(gè)市場(chǎng)上真的是打得頭破血流,如果大家還是想以簡(jiǎn)單的聊天機(jī)器人的形式來(lái)進(jìn)入市場(chǎng)的話(huà),就會(huì)面臨什么樣的競(jìng)爭(zhēng)?就會(huì)面臨49元的小米小愛(ài)音箱,就會(huì)面臨79元的天貓精靈,就會(huì)面臨199元的小米的小愛(ài)同學(xué),還有299元百度的小度在家。所以怎么樣做工程化和產(chǎn)品化,也是需要我們?cè)谏虡I(yè)的邏輯上思考的問(wèn)題。

結(jié)語(yǔ)

最后耽誤大家2分鐘,簡(jiǎn)單講一下我們做的是什么,我們做的是事情是聊天機(jī)器人,具體的歷程就不跟大家說(shuō)了,首先是公子小白。我們?cè)?018年8月份推出了這樣一款新的產(chǎn)品叫琥珀,它是全息投影的智能聊天音箱,2019年5月份會(huì)和全職高手合作,給大家推出一版葉修版本的琥珀機(jī)器人,我們期待用戶(hù)可以通過(guò)機(jī)器人跟葉修直接進(jìn)行交互,然后看它的一些動(dòng)作。2019年12月份,也就是今年年底,我們會(huì)推出一個(gè)男性明星,這個(gè)男性明星應(yīng)該是我們現(xiàn)在國(guó)內(nèi)流量前10的一個(gè)男明星,小鮮肉級(jí)別的男明星,也希望大家來(lái)關(guān)注我們的產(chǎn)品。

我們的人工智能研究院是在上海成立的,專(zhuān)家還包括張民老師、王昊奮博士,我們的成員來(lái)自于各個(gè)知名大學(xué),跟蘇大、華東師范大學(xué)等也建立了聯(lián)合實(shí)驗(yàn)室,也推出了一款叫“虛擬生命引擎”(GAVE)的引擎。

這是我的最后一頁(yè),再跟大家聊兩句,我們整個(gè)虛擬生命的引擎包括幾個(gè)層面:我們?cè)跀?shù)據(jù)層其實(shí)做了很多事情,包括知識(shí)圖譜,包括基礎(chǔ)的數(shù)據(jù)分析和運(yùn)營(yíng)平臺(tái);中間層里我們會(huì)做一些基于認(rèn)知智能的、感知智能的,比如聲音、圖像、人臉識(shí)別、情緒識(shí)別,還包括像推理、聯(lián)想、記憶、情感這樣一些認(rèn)知智能;服務(wù)層我們會(huì)有聊天、智能家居、多模態(tài)問(wèn)答等等;最后我們還可以提供開(kāi)放平臺(tái)的接入點(diǎn),讓大家方便的接入到我們的一些功能。

感謝大家的支持,我的課程就講到這。

Q&A

提問(wèn)1:一個(gè)對(duì)話(huà)系統(tǒng)包括這么多內(nèi)容,用端到端的系統(tǒng)好,還是分成一步一步來(lái)做比較好?感覺(jué)工程量好大。

邵浩:看你什么目的吧,如果你是為了做研究目的的話(huà),那肯定是端到端了,如果寫(xiě)論文的話(huà)肯定是要端到端,這個(gè)是毋庸置疑的。工程方面還是要好用,所以工程方面的原則是盡可能用最簡(jiǎn)單的方法來(lái)得到效果;如果不行,我們?cè)傧肫渌霓k法。

剛才我說(shuō)到分兩個(gè)層面,如果你想學(xué)工程的話(huà),就還用這些規(guī)則自己動(dòng)手實(shí)踐去做;如果你想做論文研究,你就還是去專(zhuān)注于論文和端到端的系統(tǒng)。

提問(wèn)2:老師,知識(shí)圖譜在對(duì)話(huà)系統(tǒng)中重要嗎?現(xiàn)在用得多嗎?

邵浩:重要,但現(xiàn)在用得不多,為什么?你說(shuō)的這個(gè)是知識(shí)圖譜在對(duì)話(huà)系統(tǒng)中。知識(shí)圖譜在問(wèn)答系統(tǒng)中還是蠻重要的,我們?cè)诨谥R(shí)圖譜的問(wèn)答里還是大量使用知識(shí)圖譜,但是在其他的功能模塊,剛才我講到了,比如閑聊,比如任務(wù)對(duì)話(huà),那知識(shí)圖譜用得并不多。而且工程界對(duì)知識(shí)圖譜的使用也不是特別多。

提問(wèn)3:DM中slot中如果命中Keyword,但沒(méi)有返回日期和時(shí)間,會(huì)返回相應(yīng)的問(wèn)題給用戶(hù),請(qǐng)用戶(hù)補(bǔ)充日期和時(shí)間,請(qǐng)問(wèn)這個(gè)問(wèn)題也是人工設(shè)定的嗎?

邵浩:這個(gè)問(wèn)題是在我們?nèi)プ鲞@個(gè)任務(wù)之前就已經(jīng)設(shè)定好的,比如天氣我會(huì)給它幾個(gè)槽位,一個(gè)叫“時(shí)間”,一個(gè)叫“日期”。訂票我會(huì)給它幾個(gè)槽位:出發(fā)地、目的地、出發(fā)時(shí)間、航班、機(jī)場(chǎng)。所以其實(shí)你可以任務(wù)它是人工設(shè)定的,這個(gè)問(wèn)題簡(jiǎn)單回答,就是人工設(shè)定的。

提問(wèn)4:如果目標(biāo)是從非關(guān)系數(shù)據(jù)庫(kù)中對(duì)知識(shí)進(jìn)行存儲(chǔ)、抽取、推理,請(qǐng)問(wèn)這個(gè)存儲(chǔ)是存儲(chǔ)在SQL還是noSQL比較好?

邵浩:像JENA、MongoDB、Dom4J,我們?cè)诠こ讨幸鶕?jù)具體場(chǎng)景選擇不同的數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方式,。說(shuō)實(shí)話(huà),現(xiàn)在MySQL在某些場(chǎng)景下真的非常好用,還有MongoDB和ES,這種數(shù)據(jù)庫(kù)有時(shí)真的比圖數(shù)據(jù)庫(kù)的效率要高非常多。所以要根據(jù)具體的工程場(chǎng)景要實(shí)現(xiàn)什么樣的功能去決定。

提問(wèn)5:對(duì)目前的算法應(yīng)用效果還不如正則或者模板效果好,那怎樣去選擇呢?

邵浩:它是一種融合性方法,我們?cè)谧约旱牧奶鞕C(jī)器人系統(tǒng)中也有大量的,但是我們會(huì)設(shè)計(jì)一些多層的策略。比如說(shuō)我們?cè)谝鈭D識(shí)別時(shí)會(huì)做一些策略,意圖前面我們會(huì)有一些規(guī)則,規(guī)則如果能覆蓋的精確性問(wèn)題那最好,如果覆蓋不了的,我們用深度學(xué)習(xí)方法去進(jìn)行意圖分類(lèi)時(shí)還會(huì)采用融合方法(Stacking),我們會(huì)在融合之后綜合評(píng)判是不是要選取得分最高的那個(gè)模型最后明確意圖。

而且我們?cè)谧鲞@個(gè)事情的時(shí)候一般都是返回top3或者top5,同時(shí)我們?cè)诤竺婺K如果發(fā)現(xiàn)這個(gè)意圖進(jìn)行不下去了,我們還有一個(gè)“拒識(shí)”模塊,我們即便是走通了也會(huì)把它“拒識(shí)”掉,這個(gè)要根據(jù)產(chǎn)品的效果去選擇的。

提問(wèn)6:意圖識(shí)別全靠人工編輯所有意圖規(guī)則在進(jìn)行判斷嗎?還有其他方法嗎?

邵浩:我剛才舉的例子是用規(guī)則來(lái)進(jìn)行意圖識(shí)別的,但我后面有一個(gè)PPT還講到,意圖識(shí)別其實(shí)是一種融合性方法,所以可以你先有規(guī)則,然后后面再用一些深度學(xué)習(xí)方法,剛才我說(shuō)的fastText也可以做這種意圖分類(lèi),但需要有大量的數(shù)據(jù)做監(jiān)督學(xué)習(xí)。

提問(wèn)7:怎樣自動(dòng)化測(cè)試聊天機(jī)器人的效果?

邵浩:這個(gè)要看一下評(píng)測(cè)標(biāo)準(zhǔn)。我們自己內(nèi)部會(huì)有自己的評(píng)測(cè)標(biāo)準(zhǔn),這個(gè)評(píng)測(cè)標(biāo)準(zhǔn)包含幾百項(xiàng)測(cè)試,比如它的識(shí)音,它的識(shí)音還要分幾米,比如近場(chǎng)識(shí)音、遠(yuǎn)場(chǎng)識(shí)音,然后它對(duì)話(huà)過(guò)程中的輪數(shù)、學(xué)習(xí)時(shí)間、對(duì)話(huà)的自然度、語(yǔ)音的自然度,等等,都會(huì)作為聊天機(jī)器人的測(cè)試效果。所以現(xiàn)在工程界并沒(méi)有一個(gè)非常準(zhǔn)確的、嚴(yán)格的測(cè)試聊天機(jī)器人的效果的方法。如果你們想去參考的話(huà),學(xué)術(shù)界有很多這種聊天機(jī)器人的評(píng)測(cè),非常多的評(píng)測(cè),大家可以去看一下,我們那本書(shū)也有一章寫(xiě)了測(cè)評(píng)的方法。

提問(wèn)8:意圖識(shí)別后的分類(lèi)用哪種方式好?自上而下直接分發(fā)到domain或者bot,還是中控先分發(fā)、后收集反饋?

邵浩:每一家bot的做法都不太一樣,你說(shuō)的domain其實(shí)是一種兩層次分類(lèi),我們是一種五層次分類(lèi)。我們的做法會(huì)采用一個(gè)兩層策略,我們先做一個(gè)粗分類(lèi),然后有一個(gè)topK的結(jié)果,然后把這個(gè)topK的結(jié)果分發(fā)給K個(gè)子模塊進(jìn)行執(zhí)行,每個(gè)子模塊相當(dāng)于是一種競(jìng)爭(zhēng)關(guān)系,它們?cè)趫?zhí)行完這些問(wèn)題之后,給我了DM一個(gè)反饋。比如我是音樂(lè)模塊,我給我的DM反饋就是我覺(jué)得我做得最好,我給自己打10分,你愿意不愿意接受我這種分值。然后DM就會(huì)中控再?zèng)Q定我收集到的這些,比如我在500毫秒收集到所有模塊的反饋之后,再?zèng)Q定選擇哪個(gè)模塊進(jìn)行最后的返回。所以這塊最后還是根據(jù)每家bot的系統(tǒng)不太一樣。

提問(wèn)9:圖靈測(cè)試如果不能體現(xiàn)聊天機(jī)器人的先進(jìn)性,那么通過(guò)哪種測(cè)試來(lái)測(cè)試性能呢?

邵浩:這個(gè)跟剛才我說(shuō)的那個(gè)問(wèn)題一樣,學(xué)術(shù)界是有比較多評(píng)測(cè)數(shù)據(jù)的比賽,大家可以關(guān)注一下這些比賽,看一下理論界是怎么做的。

提問(wèn)10:在意圖識(shí)別中如果遇到一個(gè)query有多個(gè)意圖,該怎么處理比較好?

邵浩:我們其實(shí)是有topK,會(huì)以它最后的分值來(lái)判斷。

提問(wèn)11:NLU會(huì)做預(yù)處理嗎?

邵浩:會(huì)的,肯定會(huì)做的,而且都是單獨(dú)模塊,比如語(yǔ)氣詞、標(biāo)準(zhǔn)化,都是單獨(dú)模塊去做的。

提問(wèn)12:詞義消歧怎么做?

邵浩:詞義消歧有各種不同的方法,有基于規(guī)則的,還有基于熱度的。比如基于熱度,比如我們?cè)谥v“737”時(shí),它可能指737-800,也可能指737max,這時(shí)我們可能根據(jù)社交媒體的熱度,來(lái)判斷最近最火的新聞是737max飛機(jī)失事,這時(shí)我們就可以利用熱度進(jìn)行消歧。消歧的方法還有很多種,我們可以利用上下文、熱度、貢獻(xiàn)詞,這個(gè)都可以去用的。

提問(wèn)13:在垂直領(lǐng)域進(jìn)行對(duì)話(huà),利用知識(shí)圖譜,性能是否會(huì)有提升?

邵浩:肯定會(huì)有的,因?yàn)槲覀円沧鲞^(guò)很多類(lèi)似于政府的垂直項(xiàng)目、醫(yī)療的垂直項(xiàng)目,利用知識(shí)圖譜會(huì)大大提升它的問(wèn)答效果,這個(gè)肯定會(huì)的。

提問(wèn)14:機(jī)器人處理的鏈路很長(zhǎng),如何平衡響應(yīng)速度和鏈路模塊的質(zhì)量?

邵浩:這個(gè)問(wèn)題提得很好,因?yàn)槲覀儸F(xiàn)在聊天機(jī)器人里有一個(gè)非常嚴(yán)重的問(wèn)題叫“錯(cuò)誤傳遞”,如果你串行模塊多的話(huà),它的錯(cuò)誤傳遞下來(lái)就會(huì)非常差。我們平衡時(shí)要根據(jù)具體情況,比如我們會(huì)設(shè)置一個(gè)“超時(shí)”,有些模塊并行處理時(shí),我們會(huì)選擇沒(méi)有超時(shí)并且效果最好的那個(gè)處理。

提問(wèn)15:如何衡量情感方面的好壞?

邵浩:我們自己有一個(gè)三層體系,大概27種判斷標(biāo)準(zhǔn),這個(gè)可能也會(huì)根據(jù)具體的情況來(lái)具體判斷吧,沒(méi)有辦法給出一個(gè)標(biāo)準(zhǔn)的指標(biāo)。

提問(wèn)16:有什么指標(biāo)來(lái)判定閑聊回答的優(yōu)點(diǎn)?

邵浩:最直接的一個(gè)指標(biāo)就是看看用戶(hù)愿意不愿意跟你聊,小冰其實(shí)提出了很多指標(biāo),比如用戶(hù)跟你進(jìn)行對(duì)話(huà)的輪數(shù)作為一個(gè)指標(biāo)。

提問(wèn)17:多輪意圖分類(lèi)是怎么實(shí)現(xiàn)的?

邵浩:我剛才在PPT里應(yīng)該說(shuō)得比較清楚,“那明天呢”它沒(méi)有走到正常意圖里,它正常意圖得分會(huì)非常低,它低于我們的域值,所以我們要么丟棄它,要么拒識(shí),要么判斷它是不是多輪的,如果它走到多輪里,我們會(huì)利用多輪的狀態(tài)機(jī)進(jìn)行它后面的問(wèn)答。

提問(wèn)18:檢索問(wèn)答琥珀是否有用問(wèn)題答案的匹配方法,還是只用問(wèn)題和問(wèn)題的匹配方法?

邵浩:這個(gè)問(wèn)題問(wèn)得比較好,我們兩種都用。因?yàn)槭裁矗恳驗(yàn)槲覀兊膌og數(shù)據(jù)是非常多的,這個(gè)可能又涉及到我們比較底層的東西,我就不多說(shuō)了。我們兩種方法都會(huì)用,而且問(wèn)題到答案的這種方法,有時(shí)是把問(wèn)題通過(guò)其他的方式生成答案之后再進(jìn)行匹配的,這個(gè)方法是很有效的,建議大家去嘗試一下。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人工智能
    +關(guān)注

    關(guān)注

    1818

    文章

    50133

    瀏覽量

    265731
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    9069

    瀏覽量

    143843
  • 聊天機(jī)器人
    +關(guān)注

    關(guān)注

    0

    文章

    348

    瀏覽量

    13095

原文標(biāo)題:聊天機(jī)器人落地及進(jìn)階實(shí)戰(zhàn) | 公開(kāi)課速記

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    再談低溫?zé)Y(jié)銀的應(yīng)用:從春晚四家機(jī)器人出鏡的幕后推手說(shuō)起

    、芯片封裝、功率模塊的關(guān)鍵支撐;而低溫?zé)Y(jié)銀正從實(shí)驗(yàn)室走向機(jī)器人、新能源、第三代半導(dǎo)體等產(chǎn)業(yè)核心,成為高端電子互連的 隱形推手。 、春晚四家機(jī)器人:幕后推手與技術(shù)硬核 1 四家機(jī)器人
    發(fā)表于 02-17 14:07

    爬壁機(jī)器人磁鐵的些常見(jiàn)問(wèn)題

    爬壁機(jī)器人近幾年比較火,它是類(lèi)能夠在垂直墻面、天花板、傾斜表面上移動(dòng)和作業(yè)的特種機(jī)器人,今天我們不其它,只下關(guān)于磁吸附應(yīng)用中的磁鐵,以
    的頭像 發(fā)表于 01-09 10:06 ?301次閱讀
    爬壁<b class='flag-5'>機(jī)器人</b>磁鐵的<b class='flag-5'>一</b>些常見(jiàn)問(wèn)題

    《AI機(jī)器人控制進(jìn)階教程(入門(mén)版)》閱讀指引

    、為何要學(xué)習(xí)“AI+機(jī)器人”?在開(kāi)始動(dòng)手實(shí)驗(yàn)前,理解“AI”與“機(jī)器人”結(jié)合的價(jià)值至關(guān)重要。這不僅是技術(shù)的融合,更是開(kāi)啟智能體(Agent)未來(lái)的鑰匙。1.從自動(dòng)化到智能化傳統(tǒng)機(jī)器人
    的頭像 發(fā)表于 01-07 10:56 ?2254次閱讀
    《AI<b class='flag-5'>機(jī)器人</b>控制<b class='flag-5'>進(jìn)階</b>教程(入門(mén)版)》閱讀指引

    機(jī)器人裝上“全能心臟”:TAC-3000 Pro如何破解多場(chǎng)景落地難題?

    在智能機(jī)器人快速普及的今天,消防巡檢、服務(wù)接待、倉(cāng)儲(chǔ)搬運(yùn)類(lèi)機(jī)器人在復(fù)雜環(huán)境下的作業(yè)需求日益增強(qiáng),這類(lèi)機(jī)器人不僅需要完成基礎(chǔ)移動(dòng)任務(wù),更需具備環(huán)境感知、實(shí)時(shí)決策、多機(jī)協(xié)同等智能化能力。
    的頭像 發(fā)表于 12-25 18:07 ?1050次閱讀
    給<b class='flag-5'>機(jī)器人</b>裝上“全能心臟”:TAC-3000 Pro如何破解多場(chǎng)景<b class='flag-5'>落地</b>難題?

    RK3576機(jī)器人核心:三屏異顯+八路攝像頭,重塑機(jī)器人交互與感知

    更多"、"互動(dòng)更流暢"是開(kāi)發(fā)者面臨的核心挑戰(zhàn)。傳統(tǒng)的單屏幕和有限的視覺(jué)輸入已成為提升機(jī)器人智能化水平的瓶頸。而瑞芯微RK3576高性能處理器的出現(xiàn)
    發(fā)表于 10-29 16:41

    巡檢機(jī)器人落地攻略:RK3576驅(qū)動(dòng)12路低延遲視覺(jué)

    場(chǎng)景化 · 可執(zhí)行 · 指標(biāo)清晰 · 調(diào)優(yōu)可復(fù)用01|從“巡”到“機(jī)巡”:電力站周上線(xiàn)紀(jì)實(shí)周,項(xiàng)目組進(jìn)場(chǎng)。需求很直接:變電站夜間值守薄弱、盲區(qū)多、報(bào)警后回看取證慢;希望臺(tái)巡檢
    發(fā)表于 10-24 16:53

    小蘿卜機(jī)器人的故事

    代替, LED, 有大佬感興趣, 起關(guān)注和討論代碼, 這個(gè)機(jī)器人知名度不高, 可是是機(jī)器人的原型, 如果開(kāi)放接口, 定位和無(wú)線(xiàn)充電, 也不失為未來(lái)的禮物。 讓我們?yōu)樾√}卜工程師的, 自掏腰包救蘿卜
    發(fā)表于 10-23 05:24

    知行科技機(jī)器人業(yè)務(wù)新獲項(xiàng)合作

    近日,知行科技的機(jī)器人業(yè)務(wù)新獲項(xiàng)合作,國(guó)內(nèi)頭部機(jī)器人公司委托開(kāi)發(fā)背包式機(jī)器人全棧解決方案。
    的頭像 發(fā)表于 09-03 18:12 ?825次閱讀

    Robrain V2.0正式登場(chǎng):落地人形機(jī)器人,引爆智能進(jìn)化革命

    當(dāng)AI機(jī)器人能精準(zhǔn)捕捉指令意圖,靈活響應(yīng)多種交互方式,甚至能區(qū)分不同音色,場(chǎng)跨越“工具”與“伙伴”的革命性進(jìn)化,正由移遠(yuǎn)RobrainAI機(jī)器人解決方案V2.0版本拉開(kāi)序幕。目前,該方案已在人形
    的頭像 發(fā)表于 08-25 19:03 ?1476次閱讀
    Robrain V2.0正式登場(chǎng):<b class='flag-5'>落地</b>人形<b class='flag-5'>機(jī)器人</b>,引爆智能進(jìn)化革命

    節(jié)卡機(jī)器人將攜具身智能成果亮相2025世界機(jī)器人大會(huì) 面向真實(shí)場(chǎng)景多點(diǎn)落地

    為展現(xiàn)機(jī)器人技術(shù)創(chuàng)新與產(chǎn)業(yè)化落地的核心舞臺(tái)。協(xié)作機(jī)器人頭部企業(yè)——節(jié)卡機(jī)器人將攜具身智能成果亮相合作伙伴阿爾勃特展臺(tái)(展位號(hào)A館A137),展示具身智能從技術(shù)突破到場(chǎng)景
    的頭像 發(fā)表于 08-06 19:41 ?1263次閱讀
    節(jié)卡<b class='flag-5'>機(jī)器人</b>將攜具身智能成果亮相2025世界<b class='flag-5'>機(jī)器人</b>大會(huì) 面向真實(shí)場(chǎng)景多點(diǎn)<b class='flag-5'>落地</b>

    工業(yè)機(jī)器人的特點(diǎn)

    機(jī)器人是關(guān)鍵。工業(yè)互聯(lián)網(wǎng)是通過(guò)端上的數(shù)據(jù)傳輸,經(jīng)過(guò)大數(shù)據(jù)分析和云計(jì)算處理,再進(jìn)行智能化決策的整個(gè)過(guò)程,其中端的數(shù)據(jù)傳輸是基礎(chǔ)。工業(yè)互聯(lián)網(wǎng)的端包括機(jī)器人、傳感器等切線(xiàn)下連接端口。因此
    發(fā)表于 07-26 11:22

    盤(pán)點(diǎn)#機(jī)器人開(kāi)發(fā)平臺(tái)

    地瓜機(jī)器人RDK X5開(kāi)發(fā)套件地瓜機(jī)器人RDK X5開(kāi)發(fā)套件產(chǎn)品介紹 旭日5芯片10TOPs算力-電子發(fā)燒友網(wǎng)機(jī)器人開(kāi)發(fā)套件 Kria KR260機(jī)器人開(kāi)發(fā)套件 Kria KR260-
    發(fā)表于 05-13 15:02

    【「# ROS 2智能機(jī)器人開(kāi)發(fā)實(shí)踐」閱讀體驗(yàn)】視覺(jué)實(shí)現(xiàn)的基礎(chǔ)算法的應(yīng)用

    、機(jī)器人視覺(jué):從理論到實(shí)踐 第7章詳細(xì)介紹了ROS2在機(jī)器視覺(jué)領(lǐng)域的應(yīng)用,涵蓋了相機(jī)標(biāo)定、OpenCV集成、視覺(jué)巡線(xiàn)、二維碼識(shí)別以及深度學(xué)習(xí)目標(biāo)檢測(cè)等內(nèi)容。通過(guò)學(xué)習(xí),我認(rèn)識(shí)到: 相機(jī)標(biāo)定的重要性
    發(fā)表于 05-03 19:41

    【「# ROS 2智能機(jī)器人開(kāi)發(fā)實(shí)踐」閱讀體驗(yàn)】機(jī)器人入門(mén)的引路書(shū)

    的非常好的,特別是些流程圖,很清晰的闡釋了概念 很適合作為初學(xué)者入門(mén)的引路書(shū) 還能了解很多技術(shù)和框架,破除初學(xué)者的自負(fù)困境,讓初學(xué)者知道功能是由很多開(kāi)發(fā)者維護(hù)的,前人已經(jīng)為各種產(chǎn)品搭建了完善的框架。避免陷入得一個(gè)人單打獨(dú)斗的錯(cuò)覺(jué)
    發(fā)表于 04-30 01:05

    【「# ROS 2智能機(jī)器人開(kāi)發(fā)實(shí)踐」閱讀體驗(yàn)】+內(nèi)容初識(shí)

    《ROS 2智能機(jī)器人開(kāi)發(fā)實(shí)踐》內(nèi)容閱讀初體驗(yàn) 《ROS 2 智能機(jī)器人開(kāi)發(fā)實(shí)踐》是本針對(duì) ROS 2(Robot Operating System 2)這先進(jìn)
    發(fā)表于 04-27 11:24