Tecnologia

Os chatbots mais populares são programados na Artificial Intelligence Markup Language, também conhecida como AIML. Essa linguagem foi desenvolvida por Richard Wallace e por uma comunidade mundial de voluntários a partir de 1995 como uma linguagem de marcação cujos elementos principais são as tags (marcações) category (categoria), pattern (padrão) e template (modelo). A categoria é um bloco de informações pré-programadas que constitui a unidade de conhecimento básica na AIML. Ela é composta de uma elocução que serve de padrão para detecção do insumo de entrada (<pattern></pattern>) e, pelo menos, um modelo de resposta (<template></ template>). O padrão é composto formalmente de texto (letras e números), espaços e dos curingas _ e *, que podem funcionar como texto. O modelo é simplesmente composto de texto sem formatação, podendo também conter códigos executáveis pelo programa processador da AIML.

O seguinte exemplo demonstra uma unidade de conhecimento programada nessa linguagem:

<aiml>
       <category>
             <pattern>OI *</pattern>
            <template>Oi. Tudo bom?</template>
       </category>
</aiml>

Essa unidade de conhecimento permitiria a produção dos seguintes diálogos hipotéticos:

Usuário: Oi!.
Chatbot: Oi. Tudo bom?
Usuário: Oi, Pedro.
Chatbot: Oi. Tudo bom?

A AIML, como é possível perceber pela análise do exemplo, se fundamenta numa arquitetura de estímulo-resposta, o que obriga o programador a prever as elocuções possíveis de serem digitadas pelos usuários (padrões) de modo a oferecer respostas (modelos) relevantes que permitam ao agente sustentar um diálogo coerente.

Infelizmente, a imprevisibilidade no uso da linguagem natural torna essa programação bem pouco precisa. Segundo Richard Wallace “a arte de programar em AIML está em compor respostas padronizadas que sejam breves, concisas, interessantes, gramaticalmente corretas e, por vezes, bem-humoradas, que funcionem com uma grande variedade de insumos. Dessa forma, ainda que não seja complexa, essa programação é extremamente trabalhosa.