-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
chatbot經(jīng)驗(chat bot)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于chatbot經(jīng)驗的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
ChatGPT國內(nèi)免費在線使用,能給你生成想要的原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
你只需要給出你的關(guān)鍵詞,它就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端,官網(wǎng):https://ai.de1919.com
本文目錄:
一、2021年前端前景怎么樣?
隨著互聯(lián)網(wǎng)的高速發(fā)展,不知不覺中我們的生活也被互聯(lián)網(wǎng)從四面八方包圍,不論是網(wǎng)上點餐、網(wǎng)上購物、網(wǎng)上購票,還是網(wǎng)上學(xué)習(xí),這都表明了現(xiàn)在就是互聯(lián)網(wǎng)的天下。
因此,不少人選擇學(xué)習(xí)web前端,但是擔(dān)心的問題也來了,最近幾年web前端發(fā)展趨勢良好,但是明年是否也能保持很好?那么我們就來預(yù)測下2021年web前端的就業(yè)前景發(fā)展吧!
web前端人才需求還會持續(xù)增加
據(jù)國內(nèi)權(quán)威數(shù)據(jù)統(tǒng)計,未來五年,我國信息化人才總需求量高達1500萬—2000萬人。其中“網(wǎng)絡(luò)工程”“UI設(shè)計”“web前端”等人才的缺口最為突出,所以2021年web前端的市場需求還是很大的。
更有甚者,目前不僅大型互聯(lián)網(wǎng)公司擬相繼成立了專屬的web 前端部門,中小型公司和創(chuàng)業(yè)公司也急需專業(yè)的web前端工程師。
web前端薪酬工資仍會上漲
從這組小數(shù)據(jù)和趨勢圖可以看出,前端開發(fā)行業(yè)薪資水平呈上漲趨勢,Web前端開發(fā)早已不是做帶動畫的下拉菜單的時代了,他們已成為互聯(lián)網(wǎng)主宰者,各行業(yè)都用其開發(fā)互聯(lián)網(wǎng)應(yīng)用。
但目前整互聯(lián)網(wǎng)行業(yè)的Web前端開發(fā)工程師緊俏,企業(yè)正高薪求才,薪資待遇一漲再漲!
web前端就業(yè)方向廣
web前端開發(fā)在軟件開發(fā)中,就業(yè)門檻比較低,是比較好就業(yè)的,薪資待遇平均超過13k。在目前互聯(lián)網(wǎng)時代,只要公司有需要開發(fā)互聯(lián)網(wǎng)產(chǎn)品,包括網(wǎng)站,網(wǎng)頁,H5,小程序,APP等等,就需要前端開發(fā)工程師崗位,具體的就業(yè)方向還可以按公司的技術(shù)需求來區(qū)分,側(cè)重點各有不同,就業(yè)行業(yè)隨著互聯(lián)網(wǎng)的發(fā)展,已經(jīng)變得越來越廣泛了。
我們是一個專門做IT培訓(xùn)機構(gòu)尚學(xué)堂,學(xué)習(xí)交流和資料分享都可以聯(lián)系我們,我們隨時等著你~~~~~~
web前端未來發(fā)展前途大好
隨著5G時代的到來,之后在移動互聯(lián)網(wǎng)領(lǐng)域?qū)霈F(xiàn)新的開發(fā)場景,包括自動駕駛、車聯(lián)網(wǎng)、物聯(lián)網(wǎng)、人工智能、智能家居還有可穿戴設(shè)備等領(lǐng)域?qū)泶罅康那岸碎_發(fā)需求。有需求就會有市場,所以2021年web前端還是會一如既往地“紅”下去。
二、如何為python聊天機器人設(shè)計頁面
為 Python 聊天機器人設(shè)計頁面的方式有很多,下面提供一種基本的方式,你可以根據(jù)自己的需求和技術(shù)水平進行適當(dāng)?shù)母暮驼{(diào)整:
1. 選擇一個 Web 框架:常用的 Web 框架有 Flask 和 Django,它們都提供了強大的 Web 開發(fā)功能和模板引擎,使得頁面設(shè)計和開發(fā)更加高效。選擇一個最適合你的框架并進行安裝和設(shè)置。
2. 設(shè)計頁面布局和樣式:可以使用 HTML 和 CSS 實現(xiàn)頁面布局和樣式設(shè)計,也可以選擇開源的 CSS 框架,如 Bootstrap、Materialize 等,它們提供了更加美觀和易用的頁面組件和樣式。
3. 與 Python 后端進行通信:可以使用 AJAX 或 WebSocket 等技術(shù)與 Python 后端進行通信,發(fā)送消息和接收響應(yīng),實現(xiàn)聊天機器人的交互和功能。
4. 集成聊天機器人 API:可以選擇開源的聊天機器人 API,如 ChatterBot、Dialogflow 等,在 Python 后端中調(diào)用這些 API 實現(xiàn)聊天機器人的自然語言處理和對話管理。同時,也可以使用自己的聊天機器人模型和算法進行集成和進一步優(yōu)化。
5. 測試和部署:在完成頁面設(shè)計和集成聊天機器人 API 后,進行測試和部署,確保其正常工作和高可用性。部署方案可以選擇云服務(wù)平臺,如 AWS、Azure、Google Cloud 等,或使用自己的服務(wù)器進行部署。
總之,為 Python 聊天機器人設(shè)計頁面需要進行多方面的工作,包括前端頁面設(shè)計、后端 API 集成、測試和部署等。需要具備一定的 Web 開發(fā)和 Python 編程經(jīng)驗,同時也需要了解聊天機器人相關(guān)的自然語言處理和對話管理技術(shù)。
三、QA問句解析的七種方法及優(yōu)化思路
在 《淺談智能搜索和對話式OS》 中,提到過,人機對話系統(tǒng)的常見場景有三種,分別為: 閑聊型(Chatbot) 、 問答型(QA) 、 任務(wù)型(VPA) 。本篇文章所關(guān)注的解析方式主要適用于QA系統(tǒng)中的封閉域問答,也即: 將用戶問句解析為庫中存在的標準問句 。
這里講的七種方法均為我個人閱讀文獻后歸納整理而來,并不都是成熟穩(wěn)定可以商業(yè)化的做法,目的只是提出思路以作參考。
基于規(guī)則的方法通常在缺乏訓(xùn)練數(shù)據(jù)的情況下采用,由于與后面的基于統(tǒng)計的方法區(qū)別較大,所以記為第零種方法。
基于規(guī)則的解析系統(tǒng)通常由兩部分構(gòu)成:一個是『規(guī)則庫』,解析規(guī)則通常為 CFG 上下文無關(guān)文法;另一個是『同義詞庫』,記錄了一些標準詞的常見同義詞。
整個解析就是一個上下文無關(guān)文法歸約的過程。首先進行自動分詞,接著將用戶問句中的詞依照『同義詞庫』歸約為標準詞,然后再將詞歸約后的問句與『規(guī)則庫』中的解析規(guī)則比對,一旦比對成功,即該條用戶問句被成功歸約到該條解析規(guī)則所對應(yīng)的標準問句上。
舉個例子,同義詞庫中有這樣兩條記錄:『失?。翰簧先?、不進去、不成功、錯誤』『登錄:登陸、登錄』,規(guī)則庫中有這樣一條規(guī)則:『賬號登錄失?。篬賬號][登錄][失敗]』。
有一條用戶問句是這樣的『我賬號怎么登陸不上去了』。首先假定分詞正確,分詞結(jié)果為『我|賬號|怎么|登陸|不上去|了』;之后進行詞歸約,歸約結(jié)果為『我賬號怎么登錄失敗了』;接著與規(guī)則『賬號登錄失?。篬賬號][登錄][失敗]』比對,發(fā)現(xiàn)比對成功。該條用戶問句被成功歸約為標準問句『賬號登錄失敗』,我們將系統(tǒng)中『賬號登錄失敗』所對應(yīng)的標準答案提供給用戶,完成交互流程。
這樣做在一定程度上能夠解決問題,但缺點也特別嚴重。首先『規(guī)則庫』與『同義詞庫』需要人工構(gòu)建,這需要巨大且長期的人力資源投入。因為語言的表達方式理論上是無限的,而能想到的規(guī)則和同義詞總是有限的;且隨著語言的發(fā)展,或是業(yè)務(wù)的變動,整個規(guī)則庫和同義詞庫的維護也需要持續(xù)的人力資源投入。
其次,編寫規(guī)則庫需要豐富的經(jīng)驗,對于人員素質(zhì)的要求極高。因為解析規(guī)則的抽象程度相當(dāng)高,在這樣高的抽象程度上,即便編寫者具有較豐富的經(jīng)驗(如果沒經(jīng)驗會更糟),不同解析規(guī)則之間的沖突也是不可避免的,也即同一條用戶問句會與多條標準問句的解析規(guī)則比對成功,這種情況下的標準問句選擇/評分問題,又需要另一套系統(tǒng)來解決。
換個角度,我們可以將依照用戶問句找到標準問句的過程看做是輸入 Query 得到 Document 的搜索過程。
我們可以嘗試采用傳統(tǒng)搜索引擎中使用的檢索模型來進行用戶問句解析。 《淺談搜索引擎基礎(chǔ)(上)》 中提到,BM25 是目前效果最好的檢索模型,我們就以 BM25 模型為例來分析。
BM25 模型的計算公式如下:
BM25 模型計算公式融合了 4 個考慮因素: IDF 因子 、 文檔詞頻 、 文檔長度因子 和 查詢詞頻 ,并利用 3 個自由調(diào)節(jié)因子(k1、k2 和 b)對各種因子的權(quán)值進行調(diào)整組合。
其中,N 代表文檔總數(shù),n 代表出現(xiàn)對應(yīng)單詞的文檔個數(shù),f 指文檔中出現(xiàn)對應(yīng)單詞的詞頻,qf 是查詢語句中對應(yīng)單詞的詞頻,dl 是文檔長度。
利用 BM25 模型可以有三種思路,分別把標準問句、標準問句及標準答案、歷史中曾經(jīng)正確匹配過該標準問句的用戶問句集作為 Document,利用公式計算其與用戶問句的相似度,然后利用相似度進行排序,取出評分最高的標準問句作為解析結(jié)果。
對于這個思路我沒有做過實驗,不過我推測,這種方法雖然節(jié)省了大量的人力,但在這種封閉域的 QA 系統(tǒng)中,其表現(xiàn)應(yīng)當(dāng)是不如上一種基于規(guī)則的方法,基于檢索模型的方法在開放域中的表現(xiàn)會更好。
此外,基于傳統(tǒng)檢索模型的方法會存在一個固有缺陷,就是檢索模型只能處理 Query 與 Document 有重合詞的情況,傳統(tǒng)檢索模型無法處理詞語的語義相關(guān)性。在上一種方法中,通過人工搭建的同義詞庫,一定程度上解決了語義相關(guān)性的問題。
上文提到,完全基于檢索模型的方法無法處理詞語的語義相關(guān)性。
為了在一定程度上解決這個問題,我們可以利用 LDA/SMT 等方法通過語料挖掘詞之間的同義關(guān)系,為每個詞自動構(gòu)建一個同義度高于閾值且大小合適的同義詞表。在代入檢索模型公式進行計算的過程中,若文檔中發(fā)現(xiàn)所查找關(guān)鍵詞的同義詞,可以依據(jù)同義程度乘以一定權(quán)重后納入到關(guān)鍵詞的詞頻計算之中。
《淺談智能搜索和對話式OS》 中有對 LDA/SMT 的介紹。
簡單的說,LDA 可以合理的將單詞歸類到不同的隱含主題之中;并且通過計算兩篇文章主題向量 θ 的 KL 散度(相對熵),可以得到兩篇文章的相似性。SMT 模型出自微軟之手,目的即是將翻譯模型引入傳統(tǒng)檢索模型,提高檢索模型對語義相關(guān)詞對的處理能力,該模型也曾被百度采用過以提高搜索引擎返回結(jié)果的質(zhì)量。
word embedding 將詞表示為 Distributed Representation,也即低維向量空間中的一個詞向量,Distributed Representation 下的詞可以利用余弦距離來計算詞之間語義的相關(guān)關(guān)系。與 one-hot Representation 相對應(yīng),one-hot Representation 下的詞向量的維數(shù)與單詞表的維數(shù)相同,不同詞的詞向量之間均正交。傳統(tǒng)的詞集模型(SOW)和詞袋模型(BOW)采用的即是 one-hot Representation。
我們可以采用深度學(xué)習(xí)的方法來得到詞 Distributed Representation 的詞向量。比如訓(xùn)練一個普通的神經(jīng)概率語言模型,就可以得到詞的詞向量,或者參考 word2vec 中的方式,訓(xùn)練 CBOW 或者 Skip-gram 模型。神經(jīng)概率語言模型、CBOW 以及 Skip-gram 的介紹在 《淺談智能搜索和對話式OS》 均有提及。
借助百度這張圖來講,利用 DNN 建模的思路如下:
我們需要使用一批 用戶問句-標準問句對 的正例和反例作為訓(xùn)練語料,借助上面的方式,同時將正例和反例進行 word embedding 后送入 DNN 中,并采用 Pairwise ranking loss 的方式來建模正例和反例之間的語義差別。
上一種基于 DNN 的方法,在一定程度上已經(jīng)可以解決詞的語義相關(guān)性的問題,但對句子中的短距離依賴關(guān)系并沒有做恰當(dāng)?shù)奶幚恚热鐭o法區(qū)分『甲到乙』和『乙到甲』。
根據(jù)百度的評測結(jié)果,CNN 在處理短距離依賴關(guān)系上擁有更好的表現(xiàn)。
該圖出自李航博士 Convolutional Neural Network Architectures for Matching Natural Language Sentences 中的 ARC-1:
其做法的基本思路是:將問句中的每個詞,都做 word embedding,得到每個詞所對應(yīng)的固定長度的詞向量,我們將問句表示成一個二維矩陣,每一行代表問句中相應(yīng)詞所對應(yīng)的詞向量。將這個二維矩陣進行多次卷積池化(卷積核的寬度與詞向量維數(shù)相同,高度多為 2-5),最后得到一個一維特征向量,我們用 CNN 同時處理用戶問句和標準問句,得到用戶問句和庫中標準問句所對應(yīng)的特征向量。之后將這兩個向量拼接起來送入多層感知機,由它來計算兩個問句之間的匹配程度。
另外,有人指出,直接將兩個特征向量拼接起來送入 MLP 會丟失邊界信息,所以我們同時將特征向量 a、特征向量 b 和 aTb 同時送入 MLP 來計算相似度。
ARC-2 結(jié)構(gòu)同樣出自李航博士的上述論文:
ARC-2 相較于 ARC-1 的改進在于,ARC-2 嘗試讓兩個句子在得到像 ARC-1 結(jié)果那樣的高層抽象表示之前就進行相互作用,不再先分別通過 CNN 結(jié)構(gòu)得到各自高層抽象表示。
在 ARC-1 模型中,一張 feature map 僅僅是一個列向量,或者說是一個一維矩陣,若干個列向量并在一起形成了 ARC-1 示意圖中的模樣(二維),而在 ARC-2 中,一張 feature map 成為了一個二維矩陣,若干個二維矩陣疊在一起形成了 ARC-2 示意圖中的模樣(三維)。
再之后的卷積、池化過程就與 CV 中 CNN 的卷積、池化過程類似了。與上一種方法類似的,在進行 1D convolution 時,涉及到兩個詞向量的連接,同樣可以采用之前提到的做法來避免邊界信息的丟失。
同樣有人提出,在 ARC-2 結(jié)構(gòu)中,直接采用傳統(tǒng)的 word embedding 方法得到的詞向量組成句子作為輸入并不是最佳方案,最佳方案是采用已經(jīng)過了 LSTM 的 hidden state。
我們可以采用 LSTM 結(jié)構(gòu)訓(xùn)練一個 RNN 語言模型,如下圖(以普通 RNN 為例):
從圖中可以發(fā)現(xiàn),當(dāng)輸出為『e』時,hidden layer 向量中第三分量最大,而輸出為『l』時,第一分量最大,輸出『o』時,第二分量最大。我們可以將 RNN 的 hidden state 當(dāng)做 Distributed Representation 的詞向量來使用,將其作為 CNN(ARC-2)的輸入,經(jīng)測試可以得到更好的結(jié)果。
一個可信度高的分詞結(jié)果是進行后續(xù)解析步驟的基本前提。
在 《淺談自然語言處理基礎(chǔ)(中)》 中,我介紹了一些經(jīng)典的分詞方法,不過都是些較早的研究成果。CRF方法是目前公認的效果最好的分詞算法。
CRF 方法的思想非常直接,就是將分詞問題看作一個序列標注問題,為句子中的每個字標注詞位:
CRF 分詞的過程就是對詞位標注后,將 B 和 E 之間的字,以及 S 單字構(gòu)成分詞。網(wǎng)上有很多公開的基于 CRF 的分詞工具。
至少存在四個角度可以在已有模型的基礎(chǔ)上進一步提高解析質(zhì)量,包括:問句歸一化、用戶狀態(tài)、強化學(xué)習(xí)、多輪對話。
問句歸一化的目的是對用戶的輸入具有較好的容錯性。
簡單的一些比如:簡繁體歸一化、全角半角歸一化、標點符號處理和大小寫歸一化。復(fù)雜一些的比如漢語錯別字的糾正。錯別字自動糾正技術(shù)的應(yīng)用非常廣泛,而且在提高系統(tǒng)用戶體驗上能夠發(fā)揮很大的作用,可以說性價比極高。
錯別字糾正通常的做法是訓(xùn)練噪聲信道模型。
我們可以對用戶狀態(tài)提取特征,在訓(xùn)練和解析時將其作為附加信息一并作為神經(jīng)網(wǎng)絡(luò)的輸入。
可以被考慮的用戶狀態(tài)至少包含:
其次可以采用強化學(xué)習(xí)的方法,通過設(shè)計合理的獎賞機制,讓解析系統(tǒng)在與環(huán)境互動的過程中自主進行策略更新。
強化學(xué)習(xí)與普通的監(jiān)督學(xué)習(xí)方法相比存在兩個明顯的優(yōu)點:一個是強化學(xué)習(xí)策略更新所需要的數(shù)據(jù)主要來源于與環(huán)境的交互/采樣,而不是昂貴的人工標記數(shù)據(jù);另一個是強化學(xué)習(xí)所產(chǎn)生的策略是根據(jù)獎賞機制自主迭代更新的,會有一些創(chuàng)新的做法,而不僅僅是模仿人類提供的『標準』做法。
QA 問句解析中雖然不像游戲一樣擁有『策略創(chuàng)新玩法』這樣的概念,但仍然可以在解析優(yōu)化中幫助大量節(jié)省數(shù)據(jù)的人工標記開銷。
應(yīng)用強化學(xué)習(xí)方法的核心問題之一就是獎賞機制的設(shè)計,在 QA 的場景下設(shè)計獎賞機制,至少可以考慮以下幾個角度:
多輪對話技術(shù)可以進一步提高與用戶對話的連貫性。
我傾向于將多輪對話劃分為『封閉域』和『開放域』兩個場景,不同場景的實現(xiàn)思路也應(yīng)該不同。
封閉域場景多輪對話的特點是:系統(tǒng)能解決的問題是一個有限集,多輪對話的目的是將用戶引導(dǎo)到我們可以解決的問題上。
而開放域場景多輪對話的特點是:系統(tǒng)需要解決的問題是一個無限集,多輪對話的目的是依照上下文更準確的理解用戶的需求。
在這樣的指導(dǎo)思想下,封閉域多輪對話的核心思路應(yīng)該是『填槽』,而開放域多輪對話的核心思路是『上下文替換』和『主體補全』。
《淺談智能搜索和對話式OS》 中介紹了百度利用 slot filling 技術(shù)來做 NLU,并利用『上下文替換』和『主體補全』來提高其 DuerOS 的對話能力的。
而更進一步的,填槽、上下文替換和主體補全的技術(shù)基礎(chǔ)都是『序列標注』,這里給出百度的兩張 PPT:
根據(jù)百度的 PPT,采用雙向 LSTM + CRF 做序列標注,是一個商業(yè)上可行的方法。
選擇合適的人工接入時機同樣是提高 QA 系統(tǒng)整體表現(xiàn)的方法之一,其核心問題在于平衡用戶體驗與投入成本。人工接入的越早,用戶體驗越好,但成本也越高。
這里簡單提供螞蟻金服小螞答的做法:若系統(tǒng)連續(xù)提供給用戶三次相同的回答,顯示人工接入按鈕;若用戶連續(xù)詢問兩次客服類問題(比如『我要人工』、『你們客服電話多少』),顯示人工接入按鈕。
QA 系統(tǒng)的另一個重要組成部分是答案庫。
答案錄入的優(yōu)化至少可以從三個角度來思考:
答案形式的多樣性非常容易理解,比如小螞答就支持包括文本、鏈接、圖片、視頻在內(nèi)的多種答案形式。
個性化問題在上文解析優(yōu)化中已有涉及(考慮用戶狀態(tài)的解析優(yōu)化),上文的分析思路同樣可以應(yīng)用于答案錄入,我們可以對不同注冊時長、付費金額不同、進入路徑不同等等的用戶提供不同的個性化答案。
答案對用戶的幫助看起來比較抽象,但也很容易理解。通俗的,我個人以『地圖級』、『導(dǎo)航級』、『專車級』來為 QA 系統(tǒng)的答案進行分級:
依照文章最初的人機對話系統(tǒng)場景分類,提供『專車級』答案的 QA 系統(tǒng),可以被稱為 VPA 了。
對于答案庫的優(yōu)化,在答案完備錄入(答案形式足夠豐富、針對不同用戶提供個性化的回答)的前提下,至少存在兩個優(yōu)化點:
上文解析優(yōu)化中強化學(xué)習(xí)方法獎賞機制的設(shè)計思路也可以被用來發(fā)現(xiàn)答案庫中存在的問題,因為大多數(shù)時候我們還很難明確的區(qū)分用戶的負面反饋是針對解析系統(tǒng)還是答案本身。
除了從用戶負面反饋中發(fā)現(xiàn)問題,針對上面的兩個優(yōu)化點,我們還應(yīng)該有一些預(yù)防機制來提前避免這些問題的發(fā)生。
比如第一點『答案庫中標準答案存在錯誤』,如果不是錄入人員的素質(zhì)問題,最大的可能性就來源于答案的時效性,也即我們提供給了用戶過期的答案。針對這個問題,我們可以在錄入答案時特別添加『臨時』標簽,以標明該答案具有較強的時效性,需要及時更新。
而針對第二點『答案庫中缺失某些問題的答案』,最大的可能性來源于突發(fā)事件以及業(yè)務(wù)的變動。比如系統(tǒng)服務(wù)宕機、系統(tǒng)上了新版本或者組織了一些運營活動,我們都應(yīng)該針對這些可能引發(fā)用戶疑惑的變動,提前準備一些 FAQ 并錄入到答案庫之中。
此外,當(dāng)我們錄入新問題及其標準答案的時候,需要注意新錄入問題與原解析系統(tǒng)的適配性,以避免出現(xiàn)新錄入的問題較難被解析系統(tǒng)解析到的情況??刹捎玫姆椒ū热缭阡浫胄聠栴}的同時,主動錄入一些不同的問法作為初始訓(xùn)練語料(網(wǎng)易七魚云客服的做法)。
四、博彥科技這家公司怎么樣呀?知道的人可以幫忙解答一下嗎?
我之前待過一段時間,博彥是做大數(shù)據(jù)解決方案的,他有好多的分公司,業(yè)務(wù)涵蓋金融、IT、還有大數(shù)據(jù)等等。工資的話也要比其他的公司高一點點,壓力也沒有很大,很不錯的一家公司。。有不明白的可以再問我
以上就是關(guān)于chatbot經(jīng)驗相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀: