電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Alexa查看當(dāng)前通行費(fèi)

使用Alexa查看當(dāng)前通行費(fèi)

2023-06-20 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

描述

概括

該項(xiàng)目結(jié)合使用屏幕抓取和 API 來獲取弗吉尼亞北部環(huán)城公路內(nèi) 66 號(hào)州際公路的當(dāng)前行駛速度和當(dāng)前可變通行費(fèi),并通過亞馬遜的 Alexa 語音服務(wù)向用戶提供這些信息。要試用它,請(qǐng)先啟用它(只需說“啟用 66 個(gè)通行費(fèi)”或訪問亞馬遜技能商店中的“66 個(gè)通行費(fèi)”)。從此,只要說一句“開通六十六通行費(fèi)”。

資源

該項(xiàng)目使用 Alexa 的語音服務(wù)。代碼使用 Python 3 編寫,使用Alexa Skills Kit SDK for Python。該代碼在 AWS 的 lambda 服務(wù)上運(yùn)行。它還(最少)使用 DynamoDB 來存儲(chǔ)特定于用戶的信息。行程時(shí)間是從弗吉尼亞交通部 (VDOT) 的511 弗吉尼亞交通信息網(wǎng)站上獲取的。實(shí)時(shí)通行費(fèi)價(jià)格是通過 VDOT 的SmarterRoads數(shù)據(jù)門戶的 API 獲得的。Web 抓取和 XML 解析是使用 Python 的Beautiful Soup庫完成的。

python 代碼以及交互模型(JSON 文件)可在https://github.com/ViennaMike/I-66-Tolls獲得

背景

我正在尋找一個(gè)將使用SmarterRoads門戶上的數(shù)據(jù)集之一的項(xiàng)目,并且我認(rèn)為能夠檢查北弗吉尼亞環(huán)城公路內(nèi) 66 號(hào)州際公路的動(dòng)態(tài)通行費(fèi)會(huì)很有用。入站交通在早上 5:30 到 9:30 之間收費(fèi),而出站交通在下午 3:00 到 7:00 之間收費(fèi)。

?
pYYBAGOpd6aAKlNIAAEGAg7pEjg147.png
?

通行費(fèi)會(huì)動(dòng)態(tài)調(diào)整以保持高速。雖然通行費(fèi)可能會(huì)在檢查家里的費(fèi)用和司機(jī)到達(dá)入口的時(shí)間之間發(fā)生變化,但了解高度可變的通行費(fèi)仍然很有用,尤其是因?yàn)檎麄€(gè) 10 英里長(zhǎng)度的通行費(fèi)有時(shí)會(huì)飆升至 40 美元以上。

我之前用亞馬遜的模板寫過一個(gè)簡(jiǎn)單的問答技能,但這是我的第一個(gè)自定義技能。

描述

Alexa skill 的整體架構(gòu)如下圖所示:

?
poYBAGOpd66AZ3CBAACVZIcKCu8618.png
?

高級(jí)架構(gòu)

當(dāng)用戶與技能交互時(shí),系統(tǒng)會(huì)根據(jù)開發(fā)人員在 Alexa 技能構(gòu)建器中定義的交互模型處理輸入。這是在 JSON 文件中捕獲的。技能構(gòu)建器也是您告訴技能在哪里可以找到用于處理請(qǐng)求的執(zhí)行代碼并為認(rèn)證和分發(fā)準(zhǔn)備技能的地方。

在 66 Tolls 的情況下,有八個(gè)自定義意圖,以及 Alexa 內(nèi)置意圖,例如 HelpIntent、FallbackIntent、StopIntent 等。自定義意圖是:

  • get_speeds 用于獲取兩個(gè)大致平行的旅行選項(xiàng)(I-66 和 US-50)的速度和旅行時(shí)間
  • get_toll_hours 獲取有關(guān)通行費(fèi)生效時(shí)間的靜態(tài)信息
  • get_details 獲取有關(guān)動(dòng)態(tài)收費(fèi)系統(tǒng)如何工作的額外靜態(tài)信息
  • list_interchanges 獲取進(jìn)出入口列表
  • get_toll 獲取指定方向從給定入口到出口的當(dāng)前通行費(fèi)
  • save_trip 保存每個(gè)方向用戶最頻繁的進(jìn)出
  • get_favs 向用戶報(bào)告他之前保存的行程。
  • get_specific_help 為特定類型的請(qǐng)求提供幫助(獲取通行費(fèi)、獲取速度和保存行程)。

當(dāng)之前保存過行程的用戶打開該技能時(shí),如果是早上,該技能會(huì)立即返回相應(yīng)的當(dāng)前入站通行費(fèi),如果是晚上或下午,則返回出站通行費(fèi)。

Alexa Skills Kit SDK 包含內(nèi)置功能,可簡(jiǎn)化與 Amazon 的DynamoDB NoSQL 數(shù)據(jù)庫的交互。這個(gè)技能使用一個(gè)簡(jiǎn)單的DynamoDB表來存儲(chǔ)user_id(key),最頻繁的入站出入口,最頻繁的出站出入口。

到目前為止,該項(xiàng)目最簡(jiǎn)單的部分是從兩個(gè) VDOT 源獲取旅行時(shí)間和通行費(fèi)的代碼。有一個(gè)用于收費(fèi)數(shù)據(jù)的 API,我不得不做一些簡(jiǎn)單的網(wǎng)絡(luò)抓取來獲取旅行時(shí)間數(shù)據(jù)。這段代碼可以在代碼中的 get_travel_times() 和 get_tolls() 函數(shù)中找到。

開發(fā)語音交互模型需要多次迭代,我發(fā)現(xiàn)隨著時(shí)間的推移,我能夠改進(jìn)對(duì)話模型,同時(shí)減少意圖的數(shù)量和與每個(gè)意圖關(guān)聯(lián)的槽類型的數(shù)量。然而,即便如此,我發(fā)現(xiàn)我的技能的第一個(gè)發(fā)布版本并沒有像我預(yù)期的那樣為用戶工作。大多數(shù)情況下在技術(shù)上運(yùn)行良好(有一個(gè)嚴(yán)重錯(cuò)誤),但除我以外的用戶說的事情與我想象的不同,并以不同的方式尋求幫助。不僅要花時(shí)間思考用戶將如何與您的技能互動(dòng)(就像我一開始所做的那樣),而且還要讓其他人也測(cè)試您的技能并獲得反饋,這絕對(duì)是值得的。

因?yàn)檫@對(duì)我來說是新的,所以花了相當(dāng)多的時(shí)間和反復(fù)試驗(yàn)來弄清楚如何編寫處理程序代碼,尤其是如何處理會(huì)話和持久屬性以及與 DynamoDB 的交互。我使用了大量資源,其中最好的是 Ralu Bolovan 的Skill SDK文檔、Color Picker示例應(yīng)用程序和A Beginner's Guide to the New AWS Python SDK for Alexa 。如文檔中所述,python SDK 支持兩種編碼模型,一種基于帶有裝飾器的函數(shù),另一種基于類。我選擇使用類,但拾色器示例使用修飾函數(shù)。

我遇到的一些麻煩來自兩個(gè)因素:1) Alexa 技能的界面隨著時(shí)間的推移發(fā)生了變化。它一直在改進(jìn),但這也意味著網(wǎng)絡(luò)上的一些示例和教程已經(jīng)過時(shí)了。2) 雖然有詳盡的文檔,但許多教程和示例都側(cè)重于簡(jiǎn)單的演示。出于這個(gè)原因,退后一步并閱讀更多 SDK 而不是總是跳進(jìn)去可能更好。例如,我需要讓我的代碼在每次調(diào)用意圖時(shí)都做一些事情,無論意圖是什么。事實(shí)證明這是由請(qǐng)求攔截器和響應(yīng)攔截器處理的,大多數(shù)簡(jiǎn)單示例都忽略了它們。這一點(diǎn),連同對(duì)使用 DynamoDB 的全面演練,是我找到適用于 Alexa 的新 AWS Python SDK 初學(xué)者指南的原因 如此樂于助人。

我最初希望該技能的調(diào)用是“我六十六通行費(fèi)”,但我發(fā)現(xiàn) Alexa 無法將其識(shí)別為調(diào)用。出于這個(gè)原因,我不得不調(diào)用“六十六通行費(fèi)”而不是“我。六十六通行費(fèi)?!?/font>

我還發(fā)現(xiàn),如果你使用 Alexa 的內(nèi)置“確認(rèn)”功能,那么當(dāng)你的代碼第一次被調(diào)用時(shí),handler_input.request_envelope.session.new被設(shè)置為 False,顯然是因?yàn)閮?nèi)置的確認(rèn)請(qǐng)求啟動(dòng)了會(huì)議。這是要小心的事情。由于這個(gè)和其他原因,我最終檢查了我之前是否初始化了會(huì)話屬性,而不是檢查會(huì)話是否是新的。

我修復(fù)的最后一個(gè)技術(shù)錯(cuò)誤是我沒有考慮過服務(wù)器的“本地時(shí)間”是什么。我一直天真地認(rèn)為,既然我使用的是AWS的北弗吉尼亞服務(wù)器,那么本地時(shí)間就是美國東部時(shí)區(qū),但是所有Lambda服務(wù)器都使用GMT作為本地時(shí)間,這更有意義。所以我使用 pytz 庫轉(zhuǎn)換為本地時(shí)間。

對(duì)于語音界面,我發(fā)現(xiàn)我必須擴(kuò)展插槽值的同義詞列表(例如用于出口的名稱),添加更具體的幫助查詢,除了全面的,因此很長(zhǎng),“幫助”意圖,并利用用于檢查用戶提供的插槽值的界面內(nèi)置功能,我在簡(jiǎn)單教程中沒有讀到過。

我希望這個(gè)示例對(duì)想要編寫自己的自定義 Alexa 技能的其他人有所幫助。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)