“機(jī)器人”是什么意思?
Internet 機(jī)器人是在網(wǎng)絡(luò)上運(yùn)行的計(jì)算機(jī)程序。通過編程,機(jī)器人可自動(dòng)執(zhí)行某些操作,例如抓取網(wǎng)頁(yè)、與用戶聊天或嘗試侵入用戶帳戶。
與工廠中使用的制造機(jī)器人或機(jī)器人愛好者建造的“戰(zhàn)斗機(jī)器人”不同,機(jī)器人實(shí)際上只是數(shù)據(jù)庫(kù)的幾行代碼。另一種說法是,Internet 機(jī)器人程序是一組計(jì)算機(jī)指令,外加一系列信息。大多數(shù)機(jī)器人的設(shè)計(jì)都相當(dāng)簡(jiǎn)單,但有些機(jī)器人則更為復(fù)雜,并使用人工智能技術(shù)(AI)來模仿人類行為。
對(duì)于大多數(shù)開發(fā)人員,甚至非開發(fā)人員來說,編寫機(jī)器人程序都相當(dāng)容易。正是因此,機(jī)器人程序在 Internet 上非常普遍。在某些情況下,甚至不必為了創(chuàng)建機(jī)器人而編寫實(shí)際的代碼行。例如,Twitter 提供可視化界面,供用戶創(chuàng)建可在該社交網(wǎng)站上發(fā)表推文、轉(zhuǎn)發(fā)、點(diǎn)贊并執(zhí)行其他操作的機(jī)器人。
示例:聊天機(jī)器人如何工作?
聊天機(jī)器人直接與用戶交互,因此它有聊天界面。換句話說,聊天機(jī)器人通常可以在聊天應(yīng)用程序中運(yùn)行。
以下是一個(gè)非常簡(jiǎn)單的聊天機(jī)器人的部分代碼。(請(qǐng)注意,這并不是聊天機(jī)器人真正運(yùn)行所需的全部代碼。)
人工智能標(biāo)記語(yǔ)言(AIML)是聊天機(jī)器人經(jīng)常使用的語(yǔ)言。上面的代碼片段中使用的就是 AIML。
我們簡(jiǎn)單解釋一下這段 AIML 代碼的含義。
"Category":每個(gè)類別包含聊天機(jī)器人能夠響應(yīng)的用戶輸入以及其響應(yīng)方式。
"pattern":與用戶輸入的文本完全匹配。用戶提出這個(gè)問題時(shí),聊天機(jī)器人會(huì)知道如何響應(yīng)。
"template":聊天機(jī)器人在收到與模式匹配的輸入后將輸出的響應(yīng)。
“srai”:這意味著與該文本匹配的類別是等效的,聊天機(jī)器人應(yīng)參照該類別進(jìn)行響應(yīng)。在這種情況下,系統(tǒng)會(huì)將用戶輸入“你是什么?”標(biāo)記為與“你是誰(shuí)”相同,響應(yīng)方式也相同。
這個(gè)聊天機(jī)器人會(huì)做什么?當(dāng)收到問題“你是誰(shuí)?”或“你是什么?”時(shí),系統(tǒng)會(huì)回答“我是聊天機(jī)器人”。
互聯(lián)網(wǎng)機(jī)器人有哪些主要組成部分?
機(jī)器人的架構(gòu)通常包括以下部分:
應(yīng)用程序邏輯
數(shù)據(jù)庫(kù)
API 集成
應(yīng)用程序邏輯是機(jī)器人開發(fā)人員編寫并由計(jì)算機(jī)執(zhí)行的可執(zhí)行的、機(jī)器可讀的代碼。上面的聊天機(jī)器人代碼示例就屬于此類。
數(shù)據(jù)庫(kù)是機(jī)器人從中提取數(shù)據(jù),以便得知需執(zhí)行哪些操作的數(shù)據(jù)集合。機(jī)器人可以將其他信息保存到其數(shù)據(jù)庫(kù)中,例如網(wǎng)絡(luò)抓取機(jī)器人從網(wǎng)站下載內(nèi)容時(shí)即會(huì)如此。
通過 API,機(jī)器人可以使用外部功能,開發(fā)人員無(wú)需編寫功能代碼。開發(fā)人員只需在代碼中添加正確的命令,然后機(jī)器人即會(huì)根據(jù)需要調(diào)用 API。
(API 是一種整合其他人已經(jīng)構(gòu)建的復(fù)雜軟件功能的方法??梢詫?API 視為編寫應(yīng)用程序時(shí)避免“重起爐灶”的一種方法。例如,聊天機(jī)器人可以使用天氣應(yīng)用程序的 API 向用戶提供有關(guān)天氣的詳細(xì)信息(如果用戶需要的話)。這樣,聊天機(jī)器人自身就無(wú)需追蹤天氣情況,只需調(diào)用外部天氣應(yīng)用的 API。)
與用戶更習(xí)慣與之交互的應(yīng)用程序不同,大多數(shù)機(jī)器人沒有用戶界面。這是因?yàn)?Internet 上的機(jī)器人通常與網(wǎng)頁(yè)、應(yīng)用程序和 API 交互,而不是與用戶交互(盡管它們可以通過聊天、社交媒體和其他渠道與用戶交互)。
網(wǎng)站和應(yīng)用程序如何應(yīng)對(duì)過多的機(jī)器人流量?
由于機(jī)器人的創(chuàng)建相對(duì)簡(jiǎn)單,因此它們?cè)?Internet 上極為常見。大約一半的 Internet 流量都來自機(jī)器人,其中既有良性機(jī)器人也有惡意機(jī)器人。
一些機(jī)器人,例如爬蟲程序機(jī)器人和聊天機(jī)器人,對(duì)于 Internet 正常運(yùn)行以及用戶查找所需信息至關(guān)重要。但是,過多的機(jī)器人流量可能導(dǎo)致 Web 資產(chǎn)的源站不堪重負(fù),而惡意機(jī)器人可能實(shí)施各種網(wǎng)絡(luò)攻擊。為了防止這些情況發(fā)生,網(wǎng)站和 Web 應(yīng)用程序可以策略性地使用 robots.txt 文件,實(shí)施速率限制并利用機(jī)器人管理解決方案。