Descrever a compreensão da linguagem coloquial
Para trabalhar com a compreensão da linguagem conversacional (CLU), você precisa levar em consideração três conceitos principais: declarações, entidades e intenções.
Declarações
Enunciado é um exemplo de algo que um usuário poderá dizer e que seu aplicativo deverá interpretar. Ao usar um sistema de automação residencial, um usuário poderá usar os seguintes enunciados:
"Ligar o ventilador."
"Ligar as luzes."
Entidades
Uma entidade é um item ao qual um enunciado se refere. Como ventilador e luz nos seguintes enunciados:
"Ligar o ventilador."
"Acender a luz."
É possível considerar as entidades ventilador e luz como instâncias específicas de uma entidade geral do dispositivo.
Intenções
Uma intenção representa a finalidade ou meta expressada no enunciado de um usuário. Por exemplo, para ambas as expressões consideradas anteriormente, a intenção é ligar um dispositivo; portanto, no seu aplicativo CLU, você pode definir uma intenção TurnOn relacionada a essas expressões.
Um aplicativo CLU define um modelo que consiste em intenções e entidades. Os enunciados são usados para treinar o modelo com o objetivo de identificar a intenção e as entidades mais prováveis, às quais ele deverá ser aplicado com base em uma determinada entrada. O aplicativo de assistente residencial que estamos considerando poderá incluir várias intenções, como os seguintes exemplos:
Intencional | Enunciados relacionados | Entidades |
---|---|---|
Saudação | "Olá" | |
"Oi" | ||
"Ei" | ||
"Bom dia" | ||
Ativação | "Ligar o ventilador" | ventilador (dispositivo) |
"Acender as luzes" | luz (dispositivo) | |
"Ligar as luzes" | luz (dispositivo) | |
Desativação | "Desligar o ventilador" | ventilador (dispositivo) |
"Apagar as luzes" | luz (dispositivo) | |
"Desligar as luzes" | luz (dispositivo) | |
CheckWeather | "Qual é a previsão do tempo para hoje?" | hoje (datetime) |
"Quero a previsão do tempo" | ||
"Qual é a previsão do tempo em Paris?" | Paris (localização) | |
"Como será a previsão do tempo em Seattle amanhã?" | Seattle (localização), amanhã (datetime) | |
Nenhum | "Qual é o significado da vida?" | |
"Isso está ligado?" |
Na tabela, há inúmeros enunciados usados para cada uma das intenções. A intenção deverá ser um modo conciso de agrupar as tarefas de enunciação. A intenção None tem uma importância exclusiva. Utilize sempre a intenção Nenhum para ajudar a lidar com enunciados que não mapeiam nenhum dos enunciados inseridos por você. A intenção None é considerada um fallback e, normalmente, é utilizada para fornecer uma resposta genérica aos usuários quando suas solicitações não correspondem a nenhuma outra intenção.
Depois de definir as entidades e intenções com exemplos de expressões no seu aplicativo CLU, você pode treinar um modelo de linguagem para prever intenções e entidades a partir da entrada do usuário, mesmo que elas não correspondam exatamente aos exemplos de expressões. Depois será possível usar o modelo de um aplicativo cliente para recuperar previsões e responder de modo adequado.