Internet 机器人如何构建?

了解 Internet 机器人的基本组件。

学习目标

阅读本文后,您将能够:

  • 详细了解什么是机器人以及其工作方式
  • 了解聊天机器人工作方式的示例

复制文章链接

“机器人”是什么意思?

Internet 机器人是在网络上运行的计算机程序。通过编程,机器人可自动执行某些操作,例如抓取网页、与用户聊天或尝试侵入用户帐户。

与工厂中使用的制造机器人或机器人爱好者建造的“战斗机器人”不同,机器人实际上只是数据库的几行代码。另一种说法是,Internet 机器人程序是一组计算机指令,外加一系列信息。大多数机器人的设计都相当简单,但有些机器人则更为复杂,并使用人工智能技术(AI)来模仿人类行为。

对于大多数开发人员,甚至非开发人员来说,编写机器人程序都相当容易。正是因此,机器人程序在 Internet 上非常普遍。在某些情况下,甚至不必为了创建机器人而编写实际的代码行。例如,Twitter 提供可视化界面,供用户创建可在该社交网站上发表推文、转发、点赞并执行其他操作的机器人。

示例:聊天机器人如何工作?

聊天机器人直接与用户交互,因此它有聊天界面。换句话说,聊天机器人通常可以在聊天应用程序中运行。

以下是一个非常简单的聊天机器人的部分代码。(请注意,这并不是聊天机器人真正运行所需的全部代码。)

机器人代码样本

人工智能标记语言(AIML)是聊天机器人经常使用的语言。上面的代码片段中使用的就是 AIML。

我们简单解释一下这段 AIML 代码的含义。

  • "Category":每个类别包含聊天机器人能够响应的用户输入以及其响应方式。
  • "pattern":与用户输入的文本完全匹配。用户提出这个问题时,聊天机器人会知道如何响应。
  • "template":聊天机器人在收到与模式匹配的输入后将输出的响应。
  • “srai”:这意味着与该文本匹配的类别是等效的,聊天机器人应参照该类别进行响应。在这种情况下,系统会将用户输入“你是什么?”标记为与“你是谁”相同,响应方式也相同。

这个聊天机器人会做什么?当收到问题“你是谁?”或“你是什么?”时,系统会回答“我是聊天机器人”。

互联网机器人有哪些主要组成部分?

机器人的架构通常包括以下部分:

  • 应用程序逻辑
  • 数据库
  • API 集成

应用程序逻辑是机器人开发人员编写并由计算机执行的可执行的、机器可读的代码。上面的聊天机器人代码示例就属于此类。

数据库是机器人从中提取数据,以便得知需执行哪些操作的数据集合。机器人可以将其他信息保存到其数据库中,例如网络抓取机器人从网站下载内容时即会如此。

通过 API,机器人可以使用外部功能,开发人员无需编写功能代码。开发人员只需在代码中添加正确的命令,然后机器人即会根据需要调用 API。

(API 是一种整合其他人已经构建的复杂软件功能的方法。可以将 API 视为编写应用程序时避免“重起炉灶”的一种方法。例如,聊天机器人可以使用天气应用程序的 API 向用户提供有关天气的详细信息(如果用户需要的话)。这样,聊天机器人自身就无需追踪天气情况,只需调用外部天气应用的 API。)

与用户更习惯与之交互的应用程序不同,大多数机器人没有用户界面。这是因为 Internet 上的机器人通常与网页、应用程序和 API 交互,而不是与用户交互(尽管它们可以通过聊天社交媒体和其他渠道与用户交互)。

网站和应用程序如何应对过多的机器人流量?

由于机器人的创建相对简单,因此它们在 Internet 上极为常见。大约一半的 Internet 流量都来自机器人,其中既有良性机器人也有恶意机器人

一些机器人,例如爬虫程序机器人和聊天机器人,对于 Internet 正常运行以及用户查找所需信息至关重要。但是,过多的机器人流量可能导致 Web 资产的源站不堪重负,而恶意机器人可能实施各种网络攻击。为了防止这些情况发生,网站和 Web 应用程序可以策略性地使用 robots.txt 文件,实施速率限制并利用机器人管理解决方案。

想深入了解机器人开发吗?请参阅此有关如何编写无服务器聊天机器人的博客文章