msbuild構建步驟_如何按照以下步驟構建最終的AI聊天機器人

msbuild構建步驟

by Paul Pinard

保羅·皮納德(Paul Pinard)

如何按照以下步驟構建最終的AI聊天機器人 (How to build the ultimate AI chatbot by following these steps)

快速指南,可幫助您避免常見的陷阱 (A quick guide that helps you avoid common pitfalls)

Building a bot is a rewarding experience: creating your own artificial intelligence is amazing!

構建機器人是一種有益的體驗:創建自己的人工智能真是太神奇了!

However, it can be a challenge, and there are mistakes to avoid. In this piece, we’re going to walk you through the most common or damaging mistakes new bot builders make in each phase of bot building: conception, training, building, connection, user experience and maintenance. Let’s roll!

但是,這可能是一個挑戰,并且需要避免錯誤。 在本文中,我們將帶您逐步了解新機器人構建者在機器人構建的每個階段中犯下的最常見或最具破壞性的錯誤:概念,培訓,構建,連接,用戶體驗和維護。 來吧!

概念 (Conception)

Building a bot doesn’t start at the first line of code. It starts much earlier, during the conception.

構建機器人并不是從代碼的第一行開始。 它在受孕期間開始得更早。

During that first step, it’s important to define the use case of your chatbot. What is the problem you want it to solve? What are your business needs?

在第一步中,定義聊天機器人的用例很重要。 您要解決的問題是什么? 您的業??務需求是什么?

We often see people saying “I want a bot that does this”, but when we dig deeper, we realize a different bot would actually fix the issue much more efficiently. If you want to build a chatbot that manages customers’ questions on return policies, but later realize that these queries are less than 2% of your global volume, you might want to switch to another topic. So, start from the business problem and build from there.

我們經常看到人們說“ 我想要一個能夠做到這一點的機器人 ”,但是當我們深入研究時,我們意識到另一個機器人實際上可以更有效地解決問題。 如果您想構建一個聊天機器人來管理客戶關于退貨政策的問題,但后來意識到這些查詢不到您的全球交易量的2%,則可能需要切換到另一個主題。 因此,從業務問題開始并從那里開始構建。

Now that you’ve established the real-life business need, how should the bot conversation flow go to solve it? What we usually do is take out a drawing board and draw all the conversation flows, from start to finish. Modeling all possibilities allows you to make sure every topic is covered and gives the developer a good overview of what needs to be done. It is also the first step of creating your user experience, which we’ll talk about later. For now, simply keep in mind that each conversation should be about 3 or 4 exchanges, no more.

既然您已經建立了真實的業務需求,那么機器人對話流程應該如何解決呢? 我們通常要做的是拿出一個繪圖板,從頭到尾繪制所有對話流程。 通過對所有可能性進行建模,您可以確保涵蓋所有主題,并為開發人員提供了有關需要完成的工作的良好概述。 這也是創建用戶體驗的第一步,我們將在后面討論。 現在,只需記住,每次對話應該進行大約3或4次交流,而不再進行。

During this step, remember your audience: who are the end-users that will be talking to your bot? You have to make something that works for them.

在此步驟中,請記住您的聽眾:誰將與您的漫游器對話的最終用戶? 您必須做出一些對他們有用的東西。

Do not forget to include small talk in your conception. All chatbots are expected to understand and reply to a number of topics unrelated to their mission: jokes, weather questions, “how are you doing”, and even remarks like “will you marry me” or other off-topic stuff. Be sure to plan for those if you want the user to be satisfied with the experience. But no worries, we provide pre-trained small-talk Skills on SAP Conversational AI.

不要忘記在您的概念中包括閑聊。 所有聊天機器人都應理解并回答與其任務無關的許多主題:笑話,天氣問題,“你好嗎”,甚至是諸如“你愿意嫁給我”之類的言論或其他話題。 如果您希望用戶對體驗感到滿意,請務必為這些計劃。 但不用擔心,我們在SAP對話式AI上提供了預先訓練的小會話技巧。

What not to do when building a bot:

構建機器人時不該做什么:

1. Disregard it as a non-important step

1.忽略它是不重要的步驟

2. Start from what you want and not from what you need

2.從所需的內容開始,而不是從所需的內容開始

3. Incorrectly understand who the final users of the bot will be and design an experience they won’t appreciate

3.錯誤地了解機器人的最終用戶是誰,并設計他們不會欣賞的體驗

4. Not include small talk and other commonly asked questions

4.不包括閑聊和其他常見問題

訓練 (Training)

Training the bot is the most important factor in determining its performance. Bad training will inevitably lead to a poor performing chatbot and frustrated users.

訓練機器人是決定其性能的最重要因素。 糟糕的培訓將不可避免地導致性能差的聊天機器人和沮喪的用戶。

Based on the flow you’ve created during conception, training consists of creating intents and filling them with expressions. If you’re not comfortable with the concept of intents and expressions, this article should help you. But here are some things that make for good training.

根據您在受孕期間創建的流程,培訓包括創建意圖并用表達式填充它們。 如果您對意圖和表達式的概念不滿意,則本文將為您提供幫助。 但是這里有一些東西可以使您接受良好的培訓。

The number of expressions in each intent is crucial. Five doesn’t cut it, you should go for 50+. SAP Conversational AI works very well on small datasets, but we still need a bit of information. These sentences should be varied and should come from end users. Never train your bot only with the development and project team: they know the technical slang too well to accurately represent the people that will actually use the bot.

每個意圖中表達的數量至關重要。 五不減,你應該去50 +。 SAP Conversational AI在小型數據集上效果很好,但是我們仍然需要一些信息。 這些句子應該有所不同,并且應該來自最終用戶。 永遠不要只與開發和項目團隊一起訓練您的機器人:他們非常了解技術語,無法準確地代表將實際使用機器人的人員。

Tagging entities has a few rules as well. Entities are keywords that you need to detect in a sentence to extract information (the key point here being “to extract information”). You don’t need to tag every noun, adjective or word per sentence just because you can! The point of entities is to extract relevant information that you can use in your code. Only tag those.

標記實體也有一些規則。 實體是您需要在句子中檢測以提取信息的關鍵字(此處的關鍵點是“提取信息”)。 您不需要僅僅因為可以就為每個句子標記每個名詞,形容詞或單詞! 實體的重點是提取可在代碼中使用的相關信息。 只標記那些。

However, avoid having sentences that are only made of one word that is an entity (e.g. “Paris” as a complete sentence). This entity can be detected by any intent, which can lead to detection issues.

但是,請避免使用僅由一個詞作為實體的句子(例如,“巴黎”作為完整句子)。 可以通過任何意圖檢測此實體,這可能會導致檢測問題。

A common best practice for big bots is to use intents and entities hand in hand. It is better to create a global intent and use entities to specify the user request, than to create very specific intents that the classifier will confuse as they overlap.

大型機器人的常見最佳做法是攜手使用意圖和實體。 創建全局意圖并使用實體指定用戶請求比創建分類器在重疊時會混淆的非常具體的意圖要好。

What not to do when building a bot:

構建機器人時不該做什么:

5. Have less than 50 expressions per intent

5.每個意圖少于50個表達

6. Train your bot by people who are not the end-user

6.由不是最終用戶的人來訓練您的機器人

7. Tag every word in a sentence as an entity

7.將句子中的每個單詞標記為一個實體

8. Tag words as entities when you don’t use the extracted information

8.當您不使用提取的信息時,將單詞標記為實體

9. Have expressions that are only entities (i.e “Paris”)

9.具有僅作為實體的表達式(即“巴黎”)

10. Create very specific intents instead of using entities to understand the topic

10.創建非常具體的意圖,而不是使用實體來理解主題

建造 (Building)

Building a bot is often assumed to involve just building the conversation flow. It is the fun part! It’s when everything comes to life. However, it can be a scary process.

通常認為構建機器人只涉及構建對話流程。 這是有趣的部分! 一切變為現實。 但是,這可能是一個令人恐懼的過程。

The first thing to understand is that it’s ok to use multiple skills to complete one task. One skill doesn’t have to equal one full process. It can be a good solution to create one “mega-skill” whose job is to dispatch the user input to the correct skill.

首先要了解的是,可以使用多種技能來完成一項任務。 一種技能不必等于一個完整的過程。 創建一個“超級技能”可能是一個很好的解決方案,其職責是將用戶輸入分配給正確的技能。

That is also a solution if you have skills with triggers that overlap each other. And if something doesn’t work, be sure to use the logs in the debug console to understand where the problem is coming from.

如果您具有觸發器相互重疊的技能,那也是一種解決方案。 并且,如果某些操作不起作用,請確保使用調試控制臺中的日志來了解問題的根源。

What not to do when building a bot:

構建機器人時不該做什么:

11. Insist on the “one skill = one task” philosophy

11.堅持“一項技能=一項任務”的理念

12. Not leverage the debugging tools of the platform

12.不利用平臺的調試工具

連接和用戶體驗 (Connecting and User Experience)

When connecting your bot, you have to decide where it is going to be available to your users, and therefore work on a user experience. There are a few things to know to provide an enjoyable UX, the first one being: your bot has to look pretty. An attractive bot with plenty of buttons, graphic elements, HD pictures, colors, and a good personality makes all the difference.

在連接機器人時,您必須決定用戶可以在哪里使用它,因此可以提供用戶體驗。 提供令人愉悅的UX有幾件事情要知道,第一件事是:您的機器人必須外觀漂亮。 一個具有大量按鈕,圖形元素,高清圖片,顏色和良好個性的誘人漫游器,將使一切大為不同。

But how do you get that?

但是你怎么得到的呢?

First, think of your audience when you choose your channel. If you’re targeting the 50 to 65 age demographics, you’re probably not going to put your bot on Kik! Don’t try to attract your audience to a channel they don’t use, even if it’s better. Instead, integrate the bot where your users already are.

首先,選擇頻道時要想想觀眾。 如果您要定位50至65歲年齡段的人口統計信息,則可能不會將機器人放到Kik上! 即使效果更好,也不要試圖吸引觀眾使用他們不使用的頻道。 而是將bot集成到您的用戶所在的位置。

Then, keep in mind a chatbot is a conversational interface. Conversations are interactive exchanges; therefore, your bot should never reply with long-winded blocks of texts (more than 60 characters is getting long).

然后,請記住,聊天機器人是一個對話界面。 對話是互動交流; 因此,您的漫游器絕對不要回復冗長的文本塊(超過60個字符的字符越來越長)。

Separate replies into different messages, use images, buttons, lists and other UX components based on the channel you use to make it lively. It’s also important to create a rewarding conversation: your bot isn’t an FBI agent. Nobody wants to be asked 20 questions before getting an answer. Instead, create your flow and UX to provide an answer every 3 or 4 exchanges to keep the user engaged.

根據您用來使之生動活潑的渠道,分別回復不同的消息,使用圖像,按鈕,列表和其他UX組件。 建立有意義的對話也很重要:您的漫游器不是FBI代理。 在回答之前,沒人想問20個問題。 而是創建您的流程和UX,每3或4次交換提供一個答案,以保持用戶的參與度。

Since we provide a powerful natural language processing API with our bot building tool, our users tend to want to do everything through language. While that’s admirable, we still advise to diversify: offer cards, buttons and other graphic elements for interactivity and ease of use, but still make sure the entire flow can be done using natural language. That’s when users know your bot is the real deal.

由于我們在Bot構建工具中提供了強大的自然語言處理API,因此我們的用戶傾向于通過語言來完成所有工作。 盡管這很令人欽佩,但我們仍然建議多樣化:提供卡片,按鈕和其他圖形元素,以提高交互性和易用性,但仍要確保可以使用自然語言完成整個流程。 那時候用戶知道您的機器人才是真正的交易。

Giving a personality to your chatbot is essential, however you have to find the right balance. We always advise to let your users know they’re talking to a bot. It’s simply expectation management!

賦予聊天機器人個性是必不可少的,但是您必須找到適當的平衡。 我們始終建議您讓用戶知道他們正在與機器人聊天。 這僅僅是期望管理!

A human talking to another human is going to expect the highest level of interaction, whereas a human talking to a bot is going to know that they can’t ask about anything and everything. However, don’t make it too robotic: give it a name, an image, and use smileys and tone of voice to make it memorable.

一個與另一個人聊天的人將期望最高水平的交互,而一個與機器人聊天的人將知道他們無法詢問任何事情。 但是,不要過于機器人化:給它起一個名字,一個圖像,并使用笑臉和語氣使之令人難忘。

What not to do when building a bot:

構建機器人時不該做什么:

13. Mis-identify the channel your audience is using

13.錯誤標識您的受眾所使用的頻道

14. Create conversations where the user has to answer 4+ questions to get a first answer

14.創建對話,用戶必須回答4個以上的問題才能獲得第一個答案

15. Send blocks of texts as replies (more than 60 characters is too much)

15.發送文本塊作為答復(超過60個字符太多)

16. Discard all UX elements (buttons, cards, lists, etc) just to focus on text

16.丟棄所有UX元素(按鈕,卡片,列表等),僅專注于文本

17. Pass your bot as a human person

17.通過機器人成為人類

18. Not giving your bot a personality that attracts your audience

18.不要給機器人一種吸引觀眾的個性

保養 (Maintenance)

Once your bot is in production, your job is not done! Maintaining your bot is an essential part of its long-lasting success. That mainly consists of fine-tuning your training and monitoring what your users are saying to adapt your flow or create new use cases.

一旦您的機器人投入生產,您的工作就不會完成! 維護您的機器人程序是其持久成功的重要組成部分。 這主要包括微調您的培訓和監視用戶在說什么,以適應您的流程或創建新的用例。

When training, proceed with caution. While it is important to add new user sentences via the log feed, you do not want to unbalance the training you’ve created that already works. Don’t swamp your intents by adding all the new expressions, only add what’s necessary. Keep in mind that all intents have to be trained the same amount! If one intent has 100 expressions and the other has 10, that’s no good. Therefore, check regularly when assigning new expressions. Our training analytics are your best friend when it comes to improving your training data!

培訓時,請謹慎操作。 通過日志供稿添加新的用戶句子很重要,但是您不希望失去已經創建的,已經有效的培訓的平衡。 不要通過添加所有新表達式來表達意圖,僅添加必要的內容。 請記住,必須對所有意圖進行相同數量的培訓! 如果一個意圖有100個表達式,而另一個意圖有10個表達式,那就不好了。 因此,分配新表達式時請定期檢查。 在改善培訓數據方面,我們的培訓分析是您最好的朋友!

Finally, your log feed is the place where you can see what users are talking about. Do you see a topic that your users are raising frequently that your bot doesn’t yet manage? Why not integrate it into your flow? That’s the best way to show your community that the bot they’re using is always striving to provide a great experience.

最后,您可以在日志供稿中查看用戶在說什么。 您是否看到您的用戶經常提出的主題,而您的漫游器尚未管理該主題? 為什么不將其集成到您的流程中? 這是向您的社區展示他們正在使用的機器人一直在努力提供出色體驗的最好方法。

What not to do when building a bot:

構建機器人時不該做什么:

19. Thinking that once the bot is in production, your job is done

19.認為一旦機器人開始生產,您的工作就完成了

20. Overflow intents with new user expression and mess up your existing training

20.新用戶表達的意圖溢出,使現有培訓混亂

21. Create inequalities in your intent size

21.意圖大小造成不平等

22. Not pay attention to how people are using your bot

22.不注意人們如何使用您的機器人

With all this in mind, you are fully on-board to build a first kick-ass bot! If you’re ready to go further, this step-by-step tutorial can guide you through the actual process to build an awesome joke-telling chatbot!

考慮到所有這些,您就可以全面構建第一個踢屁股機器人! 如果您準備好進一步,此循序漸進的教程可以指導您完成實際過程,以構建一個很棒的講笑話聊天機器人!

Happy building!

建設愉快!

Originally published on SAP Conversational AI Blog.

最初發布在SAP Conversational AI Blog上 。

翻譯自: https://www.freecodecamp.org/news/how-to-build-the-ultimate-ai-chatbot-by-following-these-steps-e0abe77a2b20/

msbuild構建步驟

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393098.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393098.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393098.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第一章:最小可行區塊鏈

概覽區塊數據結構區塊哈希創世塊創建區塊保存區塊鏈驗證區塊完整性選擇最長鏈節點間通信操作節點架構運行測試小結概覽 區塊鏈的基礎概念非常簡單, 說白了就是一個維護著一個持續增長的有序數據記錄列表的這么一個分布式數據庫。在此章節中我們將實現一個簡單的玩具版的區塊鏈。…

Oracle Controlfile控制文件中記錄的信息片段sections

初學Oracle的朋友肯定對Controlfile控制文件中到底記錄了何種的信息記錄而感到好奇,實際上我們可以通過一個視圖v$controlfile_record_section來了解控制文件的信息片段: SQL> select type, record_size, records_total from v$controlfile_record_s…

linux 怎么禁止遍歷目錄,linux下遍歷目錄功能實現

/*編譯:dir:dir.cgcc -o $ $<*/#include #include #include #include #include int do_search_dir(char *path);int do_check_dir(char *fullpath, char* truefullpath);void usage(char *apps);int count 0;intmain(int argc,char **argv){char fullpath[…

leetcode面試題 16.26. 計算器(棧)

給定一個包含正整數、加()、減(-)、乘(*)、除(/)的算數表達式(括號除外)&#xff0c;計算其結果。 表達式僅包含非負整數&#xff0c;&#xff0c; - &#xff0c;*&#xff0c;/ 四種運算符和空格 。 整數除法僅保留整數部分。 示例 1: 輸入: “32*2” 輸出: 7 代碼 clas…

團隊項目電梯會議視頻

http://v.youku.com/v_show/id_XMjcyMjI3Mjk2NA.html?spma2hzp.8244740.userfeed.5!2~5~5~5!3~5~A轉載于:https://www.cnblogs.com/jingxiaopu/p/6749776.html

arduino服務器_如何使用Arduino檢查Web服務器的響應狀態

arduino服務器by Harshita Arora通過Harshita Arora 如何使用Arduino檢查Web服務器的響應狀態 (How to use Arduino to check your web server’s response status) Last year, I created Crypto Price Tracker (an app which was acquired by Redwood City Ventures this yea…

leetcode486. 預測贏家(dp)

給定一個表示分數的非負整數數組。 玩家 1 從數組任意一端拿取一個分數&#xff0c;隨后玩家 2 繼續從剩余數組任意一端拿取分數&#xff0c;然后玩家 1 拿&#xff0c;…… 。每次一個玩家只能拿取一個分數&#xff0c;分數被拿取之后不再可取。直到沒有剩余分數可取時游戲結束…

linux怎么看文件狀態,linux查看文件類型-file、狀態-stat

linux查看文件類型-file、狀態-stat首頁 計算機相關 linux命令 linux查看文件類型-file、狀態-statfile 命令可以用來查看文件類型-i mime type-s 讀取字符或塊設備文件最好指定[root192 tmp]# file freeclsfreecls: UTF-8 Unicode text[root192 tmp]# file -i freeclsfreecls:…

Linux課程筆記 Crond介紹

1. 定時任務比較及cron語法 Linux的任務調度可以分為兩類&#xff1a; 系統自身執行的任務用戶執行的工作Linux系統下另外兩種定時任務軟件&#xff1a; at&#xff1a;適合僅執行一次的調度任務&#xff0c;需要啟動一個名為atd的服務 anacron&#xff1a;這個命令主要用于非…

Python 學習日記第二篇 -- 列表,元組

一、列表 列表是一個可以包含所以數據類型的對象的位置有序集合&#xff0c;它是可以改變的。 1、列表的序列操作&#xff08;Python3&#xff09; 123456789101112131415161718192021222324>>> one_list [1,2,3,4]>>> two_list ["jonny","…

【Gamma】PhyLab 測試報告

PhyLab Gamma測試報告 測試中發現的bug Gamma階段新Bug Bug可能原因部分錯誤碼設置與原先拋異常的邏輯沖突原先代碼中使用了一些特殊的辦法處理異常Beta未發現Bug Bug可能原因控制臺新建實驗編號不能以0開頭后端處理編號會將其前導0去除&#xff0c;以數字形式存儲&#xff0c;…

如何使用Node.js,Express和MongoDB設置GraphQL服務器

by Leonardo Maldonado萊昂納多馬爾多納多(Leonardo Maldonado) 如何使用Node.js&#xff0c;Express和MongoDB設置GraphQL服務器 (How to set up a GraphQL Server using Node.js, Express & MongoDB) 從GraphQL和MongoDB開始的最直接的方法。 (The most straightforward…

leetcode954. 二倍數對數組(treemap)

給定一個長度為偶數的整數數組 A&#xff0c;只有對 A 進行重組后可以滿足 “對于每個 0 < i < len(A) / 2&#xff0c;都有 A[2 * i 1] 2 * A[2 * i]” 時&#xff0c;返回 true&#xff1b;否則&#xff0c;返回 false。 示例 1&#xff1a; 輸入&#xff1a;[3,1,…

linux文件內容打印成二進制,如何在二進制文件中只打印可打印字符(相當于Linux下的字符串)?...

在Python3中&#xff0c;以二進制模式打開文件會得到bytes的結果。迭代一個bytes對象可以得到0到255(包括0到255)的整數&#xff0c;而不是字符。從^{} documentation&#xff1a;While bytes literals and representations are based on ASCII text, bytes objects actually b…

1098 均分紙牌

1098 均分紙牌 2002年NOIP全國聯賽提高組 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題目描述 Description有 N 堆紙牌&#xff0c;編號分別為 1&#xff0c;2&#xff0c;…, N。每堆上有若干張&#xff0c;但紙牌總數必為 N 的倍數。可以在任一堆上取若于張紙…

輕松學習分布式|系列3|分布式數據庫。

我們繼續來講分布式&#xff0c;回到我們的創業游戲。 我們的業務規模上來了&#xff0c;客戶也越來越忠誠了。很多客戶都通過我們的訂票服務&#xff0c;來方便自己的行程。 那對這些老客戶&#xff0c;我們的宗旨是&#xff1a;要不斷超越客戶的期待。 所以&#xff0c;我們要…

量子運算 簡單通俗例子_什么是量子計算機? 用一個簡單的例子解釋。

量子運算 簡單通俗例子by YK Sugi由YK Sugi 什么是量子計算機&#xff1f; 用一個簡單的例子解釋。 (What is a quantum computer? Explained with a simple example.) Hi everyone!嗨&#xff0c;大家好&#xff01; The other day, I visited D-Wave Systems in Vancouver…

linux增加端口失敗,端口沒被占用,怎么會bind失敗呢?

今天在一個服務器上部署一個webserver的時候&#xff0c;提示我bind端口失敗&#xff0c;我習慣性的用netstat看了下&#xff0c;沒有被占用啊&#xff01;把問題分享出來后&#xff0c;給力的同事們搜索到了ip_local_port_range這個東西這個東西對應的是/proc/sys/net/ipv4/ip…

leetcode面試題 17.15. 最長單詞

給定一組單詞words&#xff0c;編寫一個程序&#xff0c;找出其中的最長單詞&#xff0c;且該單詞由這組單詞中的其他單詞組合而成。若有多個長度相同的結果&#xff0c;返回其中字典序最小的一項&#xff0c;若沒有符合要求的單詞則返回空字符串。 示例&#xff1a; 輸入&am…

Restful API 設計

1. 簡介 目前 "互聯網軟件"從用客戶端/服務端模式&#xff0c;建立在分布式體系上&#xff0c;通過互聯網通訊&#xff0c;具有高延時、高開發等特點。但是軟件開發和網絡是兩個不同的領域&#xff0c;交集很少。要使得兩個融合&#xff0c;就要考慮如何在互聯網環境…