《人工智能開(kāi)放服務(wù)能力集成規(guī)范》_第1頁(yè)
《人工智能開(kāi)放服務(wù)能力集成規(guī)范》_第2頁(yè)
《人工智能開(kāi)放服務(wù)能力集成規(guī)范》_第3頁(yè)
《人工智能開(kāi)放服務(wù)能力集成規(guī)范》_第4頁(yè)
《人工智能開(kāi)放服務(wù)能力集成規(guī)范》_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ICS號(hào)

中國(guó)標(biāo)準(zhǔn)文獻(xiàn)分類(lèi)號(hào)CES

團(tuán)體標(biāo)準(zhǔn)

T/CESXXX-XXXX

人工智能開(kāi)放服務(wù)能力集成規(guī)范

Openservicecapabilityintegrationspecificationfor

artificialintelligence

(征求意見(jiàn)稿)

XXXX-XX-XX發(fā)布XXXX-XX-XX實(shí)施

中國(guó)電工技術(shù)學(xué)會(huì)發(fā)布

1

T/CESXXXXXXX

-

1范圍

本標(biāo)準(zhǔn)規(guī)定了放服務(wù)能力接入的術(shù)語(yǔ)與定義、認(rèn)證方式及服務(wù)接口說(shuō)明,移動(dòng)端智能交

互對(duì)話機(jī)器人業(yè)務(wù)接入的術(shù)語(yǔ)和定義、觸發(fā)的動(dòng)作和支持的消息種類(lèi)。

本標(biāo)準(zhǔn)適用于移動(dòng)端智能交互開(kāi)放服務(wù)能力的接入與應(yīng)用,移動(dòng)端智能交互對(duì)話機(jī)器人

接入業(yè)務(wù)場(chǎng)景,指導(dǎo)業(yè)務(wù)開(kāi)發(fā)人員完成業(yè)務(wù)集成工作。

2規(guī)范性引用文件

下列文件對(duì)于本文件的應(yīng)用是必不可少的。凡是注日期的引用文件,僅所注日期的版本

適用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。

GB/T1.1-2020標(biāo)準(zhǔn)的結(jié)構(gòu)和編寫(xiě)

IETFRFC2616超文本傳輸協(xié)議HTTP/1.1(HypertextTransferProtocol--HTTP/1.1)

IETFRFC5849TheOAuth2.0AuthorizationFramework

3術(shù)語(yǔ)和定義

下列術(shù)語(yǔ)和定義適用于本文件。

3.1

對(duì)話機(jī)器人ConversationalAI

移動(dòng)端智能交互對(duì)話機(jī)器人的簡(jiǎn)稱(chēng),又稱(chēng)為聊天機(jī)器人,用來(lái)模擬人類(lèi)對(duì)話或聊天的程

序,識(shí)別用戶(hù)輸入信息的意圖,并作出合理的反應(yīng)。

3.2

用戶(hù)user

使用對(duì)話機(jī)器人的個(gè)人或者業(yè)務(wù)系統(tǒng),在本文件中一般指?jìng)€(gè)人。

3.3

業(yè)務(wù)定義businessdefinition

規(guī)范對(duì)話機(jī)器人能夠識(shí)別與處理的業(yè)務(wù)內(nèi)容,處理用戶(hù)輸入返回用戶(hù)希望的結(jié)果。例如

用戶(hù)輸入“明天上午九點(diǎn)半?yún)⒓硬块T(mén)例會(huì)”,對(duì)話機(jī)器人調(diào)用日程系統(tǒng)的數(shù)據(jù)接口生成日程,

給用戶(hù)返回新增的日程信息。

3.4

動(dòng)作action

業(yè)務(wù)定義重要的組成部分,規(guī)定對(duì)話機(jī)器人對(duì)用戶(hù)輸入的直接反應(yīng),包括REST動(dòng)作,

消息發(fā)送動(dòng)作等。

3.5

消息message

用戶(hù)與對(duì)話機(jī)器人交互的信息載體,包括文本消息、音頻消息、圖片消息、視頻消息。

3.6

數(shù)據(jù)接口datainterface

對(duì)話機(jī)器人與業(yè)務(wù)系統(tǒng)交換數(shù)據(jù)的接口,一般是REST接口,采用HTTP協(xié)議。

3.7

業(yè)務(wù)系統(tǒng)businesssystem

滿(mǎn)足企業(yè)或個(gè)人某些需求的系統(tǒng)程序,在本標(biāo)準(zhǔn)中業(yè)務(wù)系統(tǒng)為對(duì)話機(jī)器人提供數(shù)據(jù)接

口,完成業(yè)務(wù)場(chǎng)景集成。

3.8

EL表達(dá)式ELexpression

表達(dá)式語(yǔ)言,簡(jiǎn)稱(chēng)EL(ExpressionLanguage),是一種特殊用途的編程語(yǔ)言,用于訪問(wèn)

數(shù)據(jù)對(duì)象屬性、調(diào)用對(duì)象方法,真假結(jié)果計(jì)算。

1

T/CESXXXXXXX

-

3.9

RESTRepresentationalStateTransfer

REST即表述性狀態(tài)傳遞是一種軟件架構(gòu)風(fēng)格。它是一種針對(duì)網(wǎng)絡(luò)應(yīng)用的設(shè)計(jì)和開(kāi)發(fā)方

式,可以降低開(kāi)發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性。

3.10

URLUniformResourceLocator

統(tǒng)一資源定位系統(tǒng)是因特網(wǎng)的萬(wàn)維網(wǎng)服務(wù)程序上用于指定信息位置的表示方法。

3.11

OAuth2.0OAuthprotocol

開(kāi)放授權(quán)標(biāo)準(zhǔn)協(xié)議OAuth的第二個(gè)版本。

3.12

GroovyGroovyscriptinglanguage

Groovy是用于Java虛擬機(jī)的一種敏捷的動(dòng)態(tài)語(yǔ)言,用作純粹的腳本語(yǔ)言。

3.13

SM4SM4blockcipheralgorithm

國(guó)家密碼管理局頒布的對(duì)稱(chēng)加密算法。

3.14

BearerBearerAccessToken

Bearer訪問(wèn)令牌是OAuth2.0協(xié)議規(guī)定的一種訪問(wèn)令牌類(lèi)型。

3.15

自動(dòng)語(yǔ)音識(shí)別技術(shù)AutomaticSpeechRecognition

自動(dòng)語(yǔ)音識(shí)別技術(shù)(AutomaticSpeechRecognition),簡(jiǎn)稱(chēng)ASR,是一種將人的語(yǔ)音轉(zhuǎn)

換為文本的技術(shù)。

3.16

短語(yǔ)音ShortVoice

短語(yǔ)音通常為一分鐘以?xún)?nèi)的語(yǔ)音信息。此類(lèi)語(yǔ)音信息通常的應(yīng)用場(chǎng)景為實(shí)時(shí)交互場(chǎng)景,

如:語(yǔ)音搜索、語(yǔ)音命令、語(yǔ)音短消息等。

3.17

長(zhǎng)語(yǔ)音LongVoice

長(zhǎng)語(yǔ)音通常為超過(guò)一分鐘的語(yǔ)音信息。此類(lèi)語(yǔ)音信息通常不要求實(shí)時(shí)性,應(yīng)用場(chǎng)景通常

為生成字幕、會(huì)議紀(jì)要等內(nèi)容。

3.18

自然語(yǔ)言NaturalLanguage

自然語(yǔ)言通常是指一種自然地隨文化演化的語(yǔ)言,是人類(lèi)交流和思維的主要工具。

3.19

自然語(yǔ)言處理NaturalLanguageProcessing

通常而言,機(jī)器及應(yīng)用程序是無(wú)法理解自然語(yǔ)言中蘊(yùn)含的各類(lèi)信息,這時(shí)就需要通過(guò)自

然語(yǔ)言處理程序進(jìn)行分析處理,從而使得計(jì)算機(jī)對(duì)其能夠可讀并理解。自然語(yǔ)言處理是一個(gè)

大范圍的概念,根據(jù)業(yè)務(wù)維度通常有意圖識(shí)別等。

3.20

意圖Intention

指一段自然語(yǔ)言文本信息中,用戶(hù)所表達(dá)的想要達(dá)到的某種目的。

3.21

意圖識(shí)別IntentionRecognition

2

T/CESXXXXXXX

-

通過(guò)技術(shù)手段識(shí)別出一段自然語(yǔ)言文本信息中,用戶(hù)想要達(dá)到的某種目的,這種技術(shù)稱(chēng)

之為意圖識(shí)別。

3.22

光學(xué)字符識(shí)別技術(shù)OpticalCharacterRecognition

圖像識(shí)別技術(shù)它是指對(duì)圖像進(jìn)行對(duì)象識(shí)別,以識(shí)別各種不同模式的目標(biāo)和對(duì)像的技術(shù)。

本標(biāo)準(zhǔn)中主要用于識(shí)別圖像中但文本內(nèi)容與坐標(biāo)。

3.23

JavaScript對(duì)象表示法JavaScriptObjectNotation

JavaScript對(duì)象表示法,即JSON,是一種輕量級(jí)的數(shù)據(jù)交換格式。易于人閱讀和編寫(xiě),

可以在多種語(yǔ)言之間進(jìn)行數(shù)據(jù)交換。同時(shí)也易于機(jī)器解析和生成。

3.24

超文本傳輸協(xié)議HyperTextTransferProtocol

超文本傳輸協(xié)議,即HTTP,是一個(gè)簡(jiǎn)單的請(qǐng)求-響應(yīng)協(xié)議,它通常運(yùn)行在TCP之上。

它指定了客戶(hù)端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。

3.25

二維碼2-DimensionalBarCode

二維碼,是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的、黑白相間

的、記錄數(shù)據(jù)符號(hào)信息的圖形。最常見(jiàn)的二維碼有QRCode(快速響應(yīng)碼,即QuickResponse

Code)等。

4整體結(jié)構(gòu)

用戶(hù)使用移動(dòng)終端即時(shí)通訊能力,向?qū)υ挋C(jī)器人發(fā)送消息。消息可以是一段文本,例如

“查詢(xún)我的日程安排”,也可以采用更便捷的語(yǔ)音交互方式。另外支持圖片和視頻消息,多

運(yùn)用在圖像識(shí)別和視頻分析等業(yè)務(wù)場(chǎng)景,例如設(shè)備二維碼圖片掃一掃查看設(shè)備詳細(xì)信息運(yùn)用

了圖像識(shí)別二維碼技術(shù)。

對(duì)話機(jī)器人收到用戶(hù)發(fā)送的消息,先調(diào)用意圖識(shí)別模塊識(shí)別用戶(hù)的意圖,判斷用戶(hù)想干

什么,獲得前期定義的意圖編碼和動(dòng)作編碼。對(duì)話機(jī)器人根據(jù)意圖編碼觸發(fā)業(yè)務(wù)定義,如果

未匹配上業(yè)務(wù)定義應(yīng)該給用戶(hù)返回一個(gè)友好的提示信息。

對(duì)話機(jī)器人在觸發(fā)業(yè)務(wù)定義時(shí),根據(jù)動(dòng)作編碼匹配業(yè)務(wù)定義中的動(dòng)作。如果匹配上REST

動(dòng)作,根據(jù)REST動(dòng)作規(guī)范構(gòu)建HTTP請(qǐng)求對(duì)象,調(diào)用業(yè)務(wù)系統(tǒng)的數(shù)據(jù)接口,接口調(diào)用完成后,

需要觸發(fā)消息發(fā)送動(dòng)作回復(fù)處理結(jié)果。例如“查詢(xún)我的日程安排”業(yè)務(wù)場(chǎng)景中,意圖識(shí)別為

查詢(xún)?nèi)粘瘫?,?duì)話機(jī)器人調(diào)用日程系統(tǒng)的查詢(xún)結(jié)果,將查詢(xún)的日程表數(shù)據(jù)采用文本消息發(fā)送

到用戶(hù)移動(dòng)終端,用戶(hù)即可查看日程安排信息。

3

T/CESXXXXXXX

-

圖1整體結(jié)構(gòu)圖

不是所有的對(duì)話交互場(chǎng)景都是一問(wèn)一答型的,其中相當(dāng)一部分的業(yè)務(wù)場(chǎng)景需要多輪對(duì)話

交互才能完成。示例“查詢(xún)我的日程安排”也可以是多輪對(duì)話類(lèi)型的,在第一輪對(duì)話時(shí)對(duì)話

機(jī)器人會(huì)詢(xún)問(wèn)用戶(hù)想查詢(xún)幾號(hào)的日程安排,在這一輪對(duì)話中只需要發(fā)送消息給用戶(hù)。第二輪

對(duì)話用戶(hù)需要輸入“明天”,對(duì)話機(jī)器人提取查詢(xún)時(shí)間實(shí)體數(shù)據(jù),在調(diào)用接口時(shí)將查詢(xún)時(shí)間

作為查詢(xún)參數(shù)發(fā)送給業(yè)務(wù)系統(tǒng)數(shù)據(jù)接口。最后將查詢(xún)的日程表數(shù)據(jù)采用文本消息發(fā)送到用戶(hù)

移動(dòng)終端,用戶(hù)即可查看日程安排信息。

5數(shù)據(jù)模型

數(shù)據(jù)模型為業(yè)務(wù)動(dòng)作的執(zhí)行提供基礎(chǔ)數(shù)據(jù),也用于緩存持有動(dòng)作執(zhí)行的結(jié)果數(shù)據(jù)。數(shù)據(jù)

模型是有多個(gè)鍵值對(duì)構(gòu)成的Map數(shù)據(jù)結(jié)構(gòu),其中“l(fā)ucas_”開(kāi)頭的鍵作為內(nèi)置鍵,提供了以

下內(nèi)置鍵值對(duì):

表1數(shù)據(jù)模型內(nèi)置鍵值對(duì)

鍵名稱(chēng)值類(lèi)型描述

lucas_userId字符串類(lèi)型用戶(hù)身份標(biāo)識(shí)主鍵

lucas_resultMap或字符串類(lèi)型意圖識(shí)別實(shí)體提取的結(jié)果

lucas_currentDatetimeDate類(lèi)型當(dāng)前時(shí)間

lucas_constantsMap類(lèi)型業(yè)務(wù)定義中的常量

在業(yè)務(wù)定義中可以通過(guò)表達(dá)式語(yǔ)言使用數(shù)據(jù)模型中的數(shù)據(jù),例如使用表達(dá)式

“${lucas_userId}”獲得用戶(hù)身份標(biāo)識(shí)的值。

6業(yè)務(wù)定義

業(yè)務(wù)定義規(guī)范了智能交互對(duì)話中消息、意圖識(shí)別、動(dòng)作(業(yè)務(wù)邏輯)三者的關(guān)系和處理

流程,業(yè)務(wù)定義的終極目的就是根據(jù)意圖識(shí)別觸發(fā)動(dòng)作的執(zhí)行,使用消息回復(fù)處理結(jié)果,完

成業(yè)務(wù)功能場(chǎng)景,例如“查詢(xún)我的日程安排”。業(yè)務(wù)定義文件采用JSON格式表示和存儲(chǔ)。

業(yè)務(wù)定義必須指定意圖編碼(code)和協(xié)議版本號(hào)(version),業(yè)務(wù)定義的協(xié)議版本是0.9.0,

描述信息(description)是可選的。常量(constants)定義字面量鍵值對(duì),為動(dòng)作的觸發(fā)

執(zhí)行提供數(shù)據(jù),常量也是可選的。

表2業(yè)務(wù)定義的意圖編號(hào)和版本號(hào)

{

"code":"general.查詢(xún)?nèi)粘?,

4

T/CESXXXXXXX

-

"version":"0.9.0",

"description":"這是查詢(xún)?nèi)粘虡I(yè)務(wù)定義文件",

"constants":{

"appId":"a7f5024fe8954f63b891581b010581a6"

}

}

為完成業(yè)務(wù)場(chǎng)景功能,一個(gè)業(yè)務(wù)定義至少包含一個(gè)動(dòng)作定義,在本標(biāo)準(zhǔn)中定義了多種工

作類(lèi)型,滿(mǎn)足各種業(yè)務(wù)接入場(chǎng)景。業(yè)務(wù)定義中的每個(gè)動(dòng)作都必須指定動(dòng)作編碼(code)與意

圖識(shí)別的動(dòng)作編碼匹配。

表3業(yè)務(wù)定義的動(dòng)作

{

"code":"general.查詢(xún)?nèi)粘?,

"version":"0.9.0",

"description":"這是查詢(xún)?nèi)粘虡I(yè)務(wù)定義文件",

"constants":{

"appId":"a7f5024fe8954f63b891581b010581a6",

"queryUrl":"http://serverIP:port/query/path"

},

"action":[

{

"type":"rest",

"definition":{

"code":"querySchedule",

"url":"${lucas_constants.queryUrl}",

"method":"POST",

"responseAttr":"scheduleData",

"body":{

"template":"{\"appId\":\"${lucas_constants.appId}\"}"

}

}

}

]

}

業(yè)務(wù)系統(tǒng)開(kāi)發(fā)人員依據(jù)對(duì)話交互模型和定義的意圖編碼與動(dòng)作編碼設(shè)計(jì)開(kāi)發(fā)業(yè)務(wù)定義

文件。移動(dòng)端智能交互對(duì)話機(jī)器人不具備完善的業(yè)務(wù)二次開(kāi)發(fā)能力,所以對(duì)話交互過(guò)程中涉

及到的業(yè)務(wù)邏輯需要業(yè)務(wù)系統(tǒng)方自行開(kāi)發(fā)實(shí)現(xiàn),并根據(jù)REST動(dòng)作要求完成與移動(dòng)端智能交

互對(duì)話機(jī)器人的業(yè)務(wù)集成。

動(dòng)作除了被意圖識(shí)別觸發(fā)執(zhí)行以外,動(dòng)作可以定義出口流轉(zhuǎn),動(dòng)作執(zhí)行完成后根據(jù)出口

流轉(zhuǎn)執(zhí)行指向的目標(biāo)動(dòng)作,實(shí)現(xiàn)動(dòng)作的鏈?zhǔn)綀?zhí)行。在出口流轉(zhuǎn)上需要設(shè)置EL表達(dá)式字符串,

EL表達(dá)式執(zhí)行結(jié)果為真后,才會(huì)執(zhí)行鏈接到工作。如果有多個(gè)出口流轉(zhuǎn)的EL表達(dá)式執(zhí)行結(jié)

果都為真,目標(biāo)動(dòng)作會(huì)根據(jù)出口流轉(zhuǎn)定義的順序依次執(zhí)行。

表4業(yè)務(wù)定義出口流轉(zhuǎn)定義

{

"transitions":[

5

T/CESXXXXXXX

-

{

"source":"utter_search_schedule",

"destination":"sendSuccessMessage",

"expressionText":"!(['scheduleData']['data'].isEmpty())"

},

{

"source":"utter_search_schedule",

"destination":"sendEmptyDataMessage",

"expressionText":"['scheduleData']['data'].isEmpty()"

}

]

}

在業(yè)務(wù)定義的“transitions”中定義動(dòng)作出口流轉(zhuǎn),“source”指定源動(dòng)作的編碼,

“destination”指定目標(biāo)動(dòng)作的編碼,“expressionText”指定EL表達(dá)式字符串。

7動(dòng)作類(lèi)型

動(dòng)作是業(yè)務(wù)定義主要組成部分。本文件定義了REST動(dòng)作、消息發(fā)送動(dòng)作、Groovy工

作和組合動(dòng)作,滿(mǎn)足不同的業(yè)務(wù)場(chǎng)景。動(dòng)作的執(zhí)行根據(jù)人機(jī)對(duì)話的意圖觸發(fā)執(zhí)行,與其在業(yè)

務(wù)定義文件中的順序沒(méi)有關(guān)系。

7.1REST動(dòng)作

REST動(dòng)作是對(duì)數(shù)據(jù)接口調(diào)用的定義,規(guī)定數(shù)據(jù)接口調(diào)用方式,輸入?yún)?shù)和輸出參數(shù)的

處理。

表5REST動(dòng)作定義格式

{

"type":"rest",

"description":"查詢(xún)業(yè)務(wù)數(shù)據(jù)",

"definition":{

"code":"token",

"url":"業(yè)務(wù)系統(tǒng)提供對(duì)數(shù)據(jù)接口URL地址",

"method":"POST",

"responseAttr":"informationData",

"body":{

"template":""

}

}

}

7.2消息發(fā)送動(dòng)作

消息發(fā)送動(dòng)作是對(duì)消息接口的定義,用于反饋用戶(hù)響應(yīng),規(guī)定了消息的類(lèi)型。

表6消息發(fā)送動(dòng)作定義格式

{

"type":"message",

"code":"sendMessage",

"definition":{

"template":"您沒(méi)有需要處理的日程安排,可以問(wèn)我一些其他的問(wèn)題哦",

"type":"text"

6

T/CESXXXXXXX

-

}

}

7.3Groovy動(dòng)作

Groovy動(dòng)作是對(duì)Groovy腳本執(zhí)行的定義,讓移動(dòng)端智能交互對(duì)話機(jī)器人具備一定的編

程能力,在動(dòng)作觸發(fā)過(guò)程中執(zhí)行業(yè)務(wù)腳本,可以對(duì)數(shù)據(jù)模型中對(duì)數(shù)據(jù)進(jìn)行修改、添加鍵值對(duì)

數(shù)據(jù)等。

表7Groovy動(dòng)作定義格式

{

"type":"groovy",

"code":"modifySchedule",

"definition":{

"content":"Groovy腳本的內(nèi)容"

}

}

7.4組合動(dòng)作

組合動(dòng)作可以將REST動(dòng)作、消息發(fā)送動(dòng)作、Groovy動(dòng)作靈活的組合在一起作為一個(gè)動(dòng)

作被觸發(fā)執(zhí)行。被組合的動(dòng)作根據(jù)定義的先后順序依次執(zhí)行。例如在“查詢(xún)我的日程安排”

多輪對(duì)話業(yè)務(wù)場(chǎng)景中,在執(zhí)行REST動(dòng)作調(diào)用數(shù)據(jù)接口之前可以先執(zhí)行Groovy動(dòng)作修改查詢(xún)

參數(shù)。

表8組合動(dòng)作定義格式

{

"type":"delegate",

"code":"modifySchedule",

"action":[

{

"type":"groovy",

"definition":{

"content":"Groovy腳本的內(nèi)容"

}

},

{

"type":"rest",

"definition":{

"url":"${lucas_constants.queryUrl}"

}

}

]

}

8消息種類(lèi)

消息是用戶(hù)與移動(dòng)端智能交互對(duì)話機(jī)器人之間溝通交流的信息載體,本標(biāo)準(zhǔn)規(guī)定了4

個(gè)消息類(lèi)型:文本消息、音頻消息、圖片消息、視頻消息。消息體采用JSON格式表示,其

中音頻消息、圖片消息、視頻消息涉及到的文件需要通過(guò)臨時(shí)素材庫(kù)中轉(zhuǎn)。

8.1文本消息

表9文本消息定義格式

7

T/CESXXXXXXX

-

{

"type":"text",

"content":"文本內(nèi)容",

"touser":"消息接受者身份標(biāo)識(shí)",

"fromUserId":"消息發(fā)送者者身份標(biāo)識(shí)"

}

8.2音頻消息

表10音頻消息定義格式

{

"type":"voice",

"mediaId":"素材ID,通過(guò)素材庫(kù)上傳接口獲得",

"touser":"消息接受者身份標(biāo)識(shí)",

"fromUserId":"消息發(fā)送者者身份標(biāo)識(shí)"

}

8.3圖片消息

表11圖片消息定義格式

{

"type":"image",

"mediaId":"素材ID,通過(guò)素材庫(kù)上傳接口獲得",

"touser":"消息接受者身份標(biāo)識(shí)",

"fromUserId":"消息發(fā)送者者身份標(biāo)識(shí)"

}

8.4視頻消息

表12視頻消息定義格式

{

"type":"video",

"mediaId":"素材ID,通過(guò)素材庫(kù)上傳接口獲得",

"touser":"消息接受者身份標(biāo)識(shí)",

"fromUserId":"消息發(fā)送者者身份標(biāo)識(shí)"

}

9接口與認(rèn)證方式

9.1接口范圍與內(nèi)容

開(kāi)放服務(wù)平臺(tái)提供的服務(wù)接口,應(yīng)包括但不限于以下能力范圍:意圖識(shí)別、語(yǔ)音處理、

圖像識(shí)別、基礎(chǔ)能力。其中語(yǔ)音處理又包括短語(yǔ)音識(shí)別、長(zhǎng)語(yǔ)音識(shí)別、長(zhǎng)語(yǔ)音結(jié)果查詢(xún),圖

像識(shí)別又包括二維碼識(shí)別接口,通用能力接口是其他開(kāi)放服務(wù)的底層接口。如圖一所示。

8

T/CESXXXXXXX

-

圖2開(kāi)放服務(wù)接口范圍

9.2認(rèn)證方式

本標(biāo)準(zhǔn)的開(kāi)放服務(wù)接口采用OAuth2.0授權(quán)協(xié)議保證接口的安全訪問(wèn),接口使用方在調(diào)

用接口前必須獲得訪問(wèn)令牌,調(diào)用接口時(shí)需要在HTTP請(qǐng)求頭中添加訪問(wèn)令牌。開(kāi)放服務(wù)接

口采用國(guó)密SM4的CBC模式加密傳輸?shù)姆绞奖U辖涌跀?shù)據(jù)在不安全網(wǎng)絡(luò)中數(shù)據(jù)傳輸?shù)谋C?/p>

性。下面正文內(nèi)容將詳細(xì)說(shuō)明接口安全訪問(wèn)控制和數(shù)據(jù)加密傳輸?shù)木唧w細(xì)節(jié)。

10接口說(shuō)明

10.1請(qǐng)求方式與數(shù)據(jù)格式

本文件中接口采用何種請(qǐng)求方式、何種數(shù)據(jù)類(lèi)型作為數(shù)據(jù)傳輸格式,均以接口說(shuō)明為準(zhǔn)。

10.2數(shù)據(jù)接口

智能交互對(duì)話機(jī)器人與業(yè)務(wù)系統(tǒng)之間主要采用數(shù)據(jù)接口進(jìn)行業(yè)務(wù)場(chǎng)景集成,完成數(shù)據(jù)交

換。

10.2.1標(biāo)準(zhǔn)數(shù)據(jù)接口

對(duì)話機(jī)器人調(diào)用下表定義的接口發(fā)送給業(yè)務(wù)系統(tǒng)。

表13數(shù)據(jù)接口定義

接口名稱(chēng)業(yè)務(wù)集成數(shù)據(jù)接口

請(qǐng)求地址接口地址由業(yè)務(wù)系統(tǒng)定義并提供

HTTP方法POST媒體類(lèi)型application/json;charset=UTF-8

請(qǐng)求頭AuthorizationBearer訪問(wèn)令牌

請(qǐng)求{

"屬性1":"字符串類(lèi)型",

"屬性2":數(shù)值類(lèi)型,

"屬性3":"日期時(shí)間類(lèi)型yyyy-MM-ddHH:mm:ss"

}

響應(yīng)正常200{

"message":"處理結(jié)果,可能會(huì)直接發(fā)送給用戶(hù)手機(jī)端",

"type":"消息的類(lèi)型:text|textcard",

"subject":"消息主題名稱(chēng)",

"url":"URL地址,textcard類(lèi)型消息需要指定用戶(hù)點(diǎn)擊跳轉(zhuǎn)的

地址"

}

9

T/CESXXXXXXX

-

異常500{

"message":"錯(cuò)誤中文描述",

"status":"HTTP狀態(tài)碼"

}

異常401{

"error_message":"非法的訪問(wèn)令牌",

"error":"invalid_request",

"status":401

}

備注請(qǐng)求的主體采用JSON格式,由業(yè)務(wù)系統(tǒng)定義包括哪些字段。對(duì)話機(jī)器人負(fù)責(zé)

收集定義的字段值并發(fā)送給業(yè)務(wù)系統(tǒng)。

正常200響應(yīng)主體如果執(zhí)行了消息的類(lèi)型,則將“message”發(fā)送給用戶(hù)手機(jī)

端。

錯(cuò)誤500響應(yīng)主體中屬性“message”可能會(huì)直接發(fā)送到用戶(hù)手機(jī)端。狀態(tài)碼

“status”與HTTP響應(yīng)的狀態(tài)碼保持一致,例如400、401、500等,一般業(yè)務(wù)

錯(cuò)誤狀態(tài)碼為500。

安全保障數(shù)據(jù)接口支持OAuth2.0授權(quán)協(xié)議實(shí)現(xiàn)接口的授權(quán)訪問(wèn),在HTTP請(qǐng)求頭中添加

Authorization請(qǐng)求頭,使用bearer類(lèi)型的訪問(wèn)令牌。

示例下面演示對(duì)話機(jī)器人與日程助手集成新增日程場(chǎng)景。

1.從業(yè)務(wù)場(chǎng)景出發(fā),新增日程需要知道主題和開(kāi)始時(shí)間兩個(gè)屬性;

2.對(duì)話機(jī)器人需要從用戶(hù)對(duì)話中識(shí)別出日程主題和開(kāi)始時(shí)間。并分別賦值給

開(kāi)始時(shí)間“startTime”和主題“title”兩個(gè)屬性。其中兩個(gè)屬性名稱(chēng)由對(duì)話機(jī)

器人與日程助手一起約定;

3.用戶(hù)通過(guò)對(duì)話機(jī)器人,發(fā)送“明天上午9點(diǎn)半在1205會(huì)議室參加部門(mén)周例

會(huì)”,識(shí)別出開(kāi)始時(shí)間是“2021-12-2509:30:00”,主題是“在1205會(huì)議室參

加部門(mén)周例會(huì)”。在這個(gè)過(guò)程中對(duì)話機(jī)器人可能會(huì)與用戶(hù)進(jìn)行多輪對(duì)話;

4.對(duì)話機(jī)器人成功收集到日程主題和開(kāi)始時(shí)間后,封裝成JSON對(duì)象:

{

"startTime":"2021-12-2509:30:00",

"title":"在1205會(huì)議室參加部門(mén)周例會(huì)"

}

調(diào)用日程業(yè)務(wù)集成接口,將JSON對(duì)象發(fā)送給日程應(yīng)用,日程完成自己的業(yè)務(wù)

后,返回200響應(yīng)數(shù)據(jù):

{

"message":"日程新增成功,您可以點(diǎn)擊繼續(xù)完善日程信息。",

"type":"textcard",

"subject":"日程新增通知",

"url":"/schedule/#update?id=日程主鍵ID"

}

5.對(duì)話機(jī)器人收到日程返回的響應(yīng)后,給用戶(hù)發(fā)送日程新增通知;

6.用戶(hù)在對(duì)話機(jī)器人消息頁(yè)面可以點(diǎn)擊“日程新增通知”,跳轉(zhuǎn)到URL地址

"/schedule/#update?id=日程主鍵ID"界面,其中日程

主鍵ID由接口成功返回獲得。

7.如果接口調(diào)用失敗,返回500錯(cuò)誤消息:

10

T/CESXXXXXXX

-

{

"message":"業(yè)務(wù)系統(tǒng)需要提示給用戶(hù)的可讀信息",

"status":500

}

默認(rèn)將屬性message的值返回給用戶(hù)手機(jī)端。

到此就完成了對(duì)話機(jī)器人日程新增場(chǎng)景集成。

10.2.2加密數(shù)據(jù)接口

在非安全的網(wǎng)絡(luò)環(huán)境中調(diào)用數(shù)據(jù)接口,在訪問(wèn)控制的基礎(chǔ)上需要額外的安全措施保障數(shù)

據(jù)的安全。下表的數(shù)據(jù)接口規(guī)范在上面標(biāo)準(zhǔn)數(shù)據(jù)接口的基礎(chǔ)上采用國(guó)密SM4算法對(duì)數(shù)據(jù)進(jìn)行

加密傳輸。

表14數(shù)據(jù)接口定義

接口名稱(chēng)業(yè)務(wù)集成數(shù)據(jù)接口,支持SM4加密傳輸

請(qǐng)求地址接口地址由業(yè)務(wù)系統(tǒng)定義并提供

HTTP方法POST媒體類(lèi)型application/json;charset=UTF-8

請(qǐng)求頭AuthorizationBearer訪問(wèn)令牌

請(qǐng)求{

"cryptoType":"SM4",

"data":"標(biāo)準(zhǔn)數(shù)據(jù)接口請(qǐng)求JSON字符串經(jīng)過(guò)SM4加密后的字符串?dāng)?shù)據(jù)"

}

響應(yīng)正常200{

"cryptoType":"SM4",

"data":"標(biāo)準(zhǔn)數(shù)據(jù)接口響應(yīng)JSON字符串經(jīng)過(guò)SM4加密后的

字符串?dāng)?shù)據(jù)"

}

異常500{

"message":"錯(cuò)誤中文描述",

"status":"HTTP狀態(tài)碼"

}

異常401{

"error_message":"非法的訪問(wèn)令牌",

"error":"invalid_request",

"status":401

}

10.3語(yǔ)音識(shí)別接口

語(yǔ)音識(shí)別接口用于將語(yǔ)音文件中的語(yǔ)音信息轉(zhuǎn)換為文本信息,主要功能應(yīng)包括短語(yǔ)音文

件識(shí)別、長(zhǎng)語(yǔ)音識(shí)別,以及長(zhǎng)語(yǔ)音識(shí)別任務(wù)結(jié)果查詢(xún)。

語(yǔ)音識(shí)別區(qū)分短語(yǔ)音與長(zhǎng)語(yǔ)音的主要原因是它們各自的業(yè)務(wù)場(chǎng)景通常對(duì)識(shí)別接口有著

不同的要求。例如:短語(yǔ)音識(shí)別接口與長(zhǎng)語(yǔ)音識(shí)別接口相比,前者需要盡快地獲得識(shí)別結(jié)果,

后者通常需要更長(zhǎng)的耗時(shí)且時(shí)長(zhǎng)不確定,所以還需要一個(gè)專(zhuān)有的接口用以查詢(xún)識(shí)別的結(jié)果。

10.3.1短語(yǔ)音識(shí)別

短語(yǔ)音識(shí)別的識(shí)別對(duì)象為一分鐘以?xún)?nèi)的語(yǔ)音文件,該語(yǔ)音文件的來(lái)源通常是語(yǔ)音搜索、

語(yǔ)音命令、語(yǔ)音消息等業(yè)務(wù)場(chǎng)景,這些場(chǎng)景下需要識(shí)別接口能夠快速響應(yīng),利于業(yè)務(wù)能夠更

快地進(jìn)行下一步的業(yè)務(wù)邏輯。

11

T/CESXXXXXXX

-

表15短語(yǔ)音識(shí)別接口定義

接口名稱(chēng)根據(jù)語(yǔ)音文件,提供對(duì)短語(yǔ)音進(jìn)行識(shí)別的接口,返回識(shí)別的結(jié)果

請(qǐng)求地址http://serverurl/open/v1/asr/convert

HTTP方法POST媒體類(lèi)型multipart/form-data

請(qǐng)求頭AuthorizationBearer訪問(wèn)令牌

請(qǐng)求file語(yǔ)音文件

響應(yīng)正常200{

"cryptoType":"SM4",

"data":"標(biāo)準(zhǔn)數(shù)據(jù)接口響應(yīng)字符串經(jīng)過(guò)SM4加密后的字符串

數(shù)據(jù)"

}

解密后數(shù)據(jù)是字符串類(lèi)型的文本,例如“提醒我明早十點(diǎn)開(kāi)會(huì)”

異常500{

"message":"錯(cuò)誤中文描述",

"status":"HTTP狀態(tài)碼",

"code":"錯(cuò)誤編碼"

}

異常401{

"error_message":"非法的訪問(wèn)令牌",

"error":"invalid_request",

"status":401

}

備注請(qǐng)求的主體采用表單提交上傳語(yǔ)音文件,屬性名稱(chēng)是“file”。

正常200響應(yīng)主體是JSON格式,實(shí)際數(shù)據(jù)采用SM4加密,有屬性“cryptoType”

制定加密類(lèi)型。

錯(cuò)誤500響應(yīng)主體采用明文傳輸未加密,描述錯(cuò)誤原因。狀態(tài)碼“status”與

HTTP響應(yīng)的狀態(tài)碼保持一致,例如400、401、500等,一般業(yè)務(wù)錯(cuò)誤狀態(tài)碼

為500。

錯(cuò)誤編碼10006獲取某個(gè)參數(shù)失敗

10043音頻解碼失敗

10700系統(tǒng)內(nèi)部錯(cuò)誤

10.3.2長(zhǎng)語(yǔ)音識(shí)別

長(zhǎng)語(yǔ)音識(shí)別的識(shí)別對(duì)象為一分鐘以上的語(yǔ)音文件,該語(yǔ)音文件的來(lái)源通常是生成字幕、

會(huì)議紀(jì)要等業(yè)務(wù)場(chǎng)景,這些場(chǎng)景的識(shí)別過(guò)程耗時(shí)較長(zhǎng),不需要識(shí)別接口能立馬返回識(shí)別結(jié)果,

只需要后續(xù)進(jìn)行結(jié)果查詢(xún)即可。

表16長(zhǎng)語(yǔ)音識(shí)別接口定義

接口名稱(chēng)根據(jù)語(yǔ)音文件,提供對(duì)長(zhǎng)語(yǔ)音進(jìn)行識(shí)別的接口,返回當(dāng)前識(shí)別請(qǐng)求的編號(hào),用

于識(shí)別結(jié)果的查詢(xún)

請(qǐng)求地址http://serverurl/open/v1/lfasr/convert

HTTP方法POST媒體類(lèi)型multipart/form-data

請(qǐng)求頭AuthorizationBearer訪問(wèn)令牌

請(qǐng)求file語(yǔ)音文件

響應(yīng)正常200{

"cryptoType":"SM4",

12

T/CESXXXXXXX

-

"data":"標(biāo)準(zhǔn)數(shù)據(jù)接口響應(yīng)字符串經(jīng)過(guò)SM4加密后的字符串

數(shù)據(jù)"

}

解密后數(shù)據(jù)是字符串類(lèi)型的識(shí)別任務(wù)編號(hào),示例:

“111111111111111111”

異常500{

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論