细胞是大脑的重要组成部分。当您训练一个大脑时,您实际上是与细胞工作。细胞可以包含以下字段:
- Input*
- Output*
- Context
- JS
- Tags
Input/Output
最简单,也是最常见的细胞包括一对 Input 和 Output,如下所示:
例 1. 单个细胞
- Input: Hello
- Output: Hi!
Input 字段表示用户可能输入的内容。Output 字段描述了大脑应该做出什么反应。两个字段一起定义了一个“行为”。对于上例中的细胞,它的行为是当用户说“Hello”时回答“Hi!”。
BrainXML
输入和输出字段需要一个 BrainXML 表达式。BrainXML 是类似 XML 的标记语言。一个 BrainXML 表达式包含以下一项或多项。
- 词语
- BrainXML 元素
输入字段的 BrainXML 元素举例:
*
<n>
<nerve>
<bot>
输出字段的 BrainXML 元素举例:
<s>
<rand>
<u>
<user>
每个元素执行一个特定功能。某些元素只能用于输入,或输出字段。一些元素则是两个字段都可以用,但它们的功能可能是不同的。要获得完整的 BrainXML 元素及其使用方法列表,请查看 BrainXML Reference
Context
从字面也可以看出,Context 字段提供了跟用户信息有关的附加信息,因此大脑能够根据不同的上下文对同一用户信息进行不同的响应。
Context 字段的必要性来自于一个事实,即上下文不同时,同一词语可能意味着完全不同的含义。很显然,当用户说“Hello!”时我们应该回答“Hi”。但是,我们应该怎样回答“Why”呢? 有了 Context 字段,下面的细胞就可以对“Why”进行适当的回答。
例 2. 带 Context 字段的细胞
- 1
- Input: Why
- Output: That's the way it is.
- 2
- Input: Why
- Context: I like pizza
- Output: Pizza is delicious.
- What is your favorite food?
- I like pizza.
- Why?
- Pizza is delicious.
正如上面的例子演示的那样,其中有多个细胞具有相同的输入,而系统将选择一个更加符合上下文的(细胞 2)。通过输入带恰当的上下文的细胞,您可以让大脑与用户进行深入的对话。
两个注释
- Context 字段要使用 BrainXML。它需要与 Input 字段相同的元素。
- 一般而言,除非已经有了一个具有相同输入的细胞,否则不必创建一个带上下文的细胞。