Índice:
- Etapa 1: Como fazer um AI Parte 2
- Etapa 2: Projete seu sistema:
- Etapa 3: funções integradas à linguagem de programação:
- Etapa 4: Combine funções integradas para criar suas próprias funções
- Etapa 5: O que os módulos fazem? “Processador de entrada”
- Etapa 6: “Processador AI”
- Etapa 7: A tabela de "resultados e pontuações"
- Etapa 8: “Processador de saída”
- Etapa 9: Continue trabalhando nisso
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Esta é a parte 2 sobre as etapas que executei para construir uma IA em um computador Windows, usando um banco de dados gratuito, ferramenta de desenvolvimento de programação e o mecanismo de TTS integrado gratuito que vem com o Windows.
A palavra "Windows" pertence à Microsoft.
A palavra "Dragão" pertence à Nuance.
Etapa 1: Como fazer um AI Parte 2
Escolha uma linguagem de programação e obtenha algumas ferramentas
Existem muitas linguagens de programação. Alguns são especializados em I. A. Meu favorito é Visual Basic, então foi o que usei. Eu também trabalho com bancos de dados de servidor SQL, então usei isso também.
Você pode baixar versões gratuitas deles no site da Microsoft. Basta pesquisar “EXPRESS” no site da Microsoft. [Visual Studio Express e SQL server Express]
Outras linguagens que você pode querer para nós são: Python, C #, C ++, Java, Prolog, Lisp, IPL
e muitos outros. AIML é uma “linguagem de marcação” muito interessante.
Eu queria um programa de “reconhecimento de fala” melhor do que o que vem com o Windows, então comprei o software DRAGON. Estou usando o programa padrão “Text-to-speech” que acompanha o Windows.
Etapa 2: Projete seu sistema:
Divida seus grandes projetos em um monte de projetos menores. Dividi o código do meu programa em módulos.
Dividi meu código em diferentes módulos para que uma função específica seja mais fácil de encontrar.
Eu tenho módulos chamados “Process Input”, “Process AI”, “Process Output”, “User Interface” e alguns outros. Algumas das minhas funções precisam estar acessíveis a todos os outros módulos de código, então coloquei essas funções em um módulo "comum" onde tudo é compartilhado
Etapa 3: funções integradas à linguagem de programação:
Linguagens diferentes podem ter nomes diferentes para eles, mas todas as linguagens de alto nível têm funções semelhantes.
LCase ou ToLower: Converte uma string em minúsculas. Eu converto tudo para minúsculas antes de fazer uma pesquisa no banco de dados - embora a maioria das coisas não faça distinção entre maiúsculas e minúsculas - por precaução.
Substituir: Substitua um string dentro de um string por outro string. Você pode substituir uma string por uma string vazia “” para se livrar dela. Eu me livrei de pontos finais, pontos de interrogação, vírgulas e outros sinais de pontuação.
Dividir: divide um barbante em pedaços individuais e os coloca em uma matriz. Esta função irá dividir uma string em qualquer caractere, ou “Delimitador”. Eu divido uma frase em um “caractere de espaço” ““para fazer uma série de palavras. Isso é chamado de “Tokenização” pelos Gurus de IA.
Eu uso as palavras individuais para construir consultas usadas para pesquisar o banco de dados. (Mais sobre isso em meu próximo artigo)
Etapa 4: Combine funções integradas para criar suas próprias funções
Este é um exemplo “visual básico”. Use sua linguagem de programação para construir algo assim.
Claro, você precisará escrever muito código e construir muitas funções, usando a linguagem de programação de sua escolha.
Etapa 5: O que os módulos fazem? “Processador de entrada”
Pode haver uma centena de maneiras diferentes de fazer a mesma pergunta à IA. Por exemplo; “Que horas são?”, “Você tem tempo?” “Você sabe que horas são?”, “Você pode me dizer a hora atual do dia?” Como o usuário está apenas perguntando o tempo, eu converto qualquer uma dessas entradas em uma única saída chamada “Tempo de consulta” usando uma tabela de “consulta” do banco de dados.
Você pode escrever código para percorrer uma tabela até encontrar uma correspondência ou, se estiver usando um banco de dados SQL, pode escrever uma consulta SQL, como …
“Selecione Output from TableName onde Input =‘”qualquer‘”
… E então eu envio a saída, “Query Time”, para o próximo módulo de código; “Processo AI”
Além de perguntas, existem muitas maneiras de dizer “Olá”
Olá, Olá, tudo bem, ei, olá, tudo bem ?, saudações, bem-vindo, saudações, olá …
Todos estes são reduzidos a "Saudação"
Quando o processador AI vê “Saudação”, ele envia “Saudação” para o processador de saída, que escolherá uma saudação aleatória de uma tabela de banco de dados e a falará em voz alta.
Etapa 6: “Processador AI”
AI de processo é o maior módulo de código. É tão grande que também o dividi em seções.
A entrada é verificada para ver se o usuário falou um comando ou fez uma pergunta. Além disso, o AI pode estar em qualquer um dos vários "Modos", o que significa que o código "Process AI" espera que o usuário RESPONDA a uma pergunta, em vez de FAZER uma pergunta.
Se o usuário não falou um comando e o AI não está em um “Modo” especial, ele constrói e executa um monte de consultas, a partir de combinações de palavras no “array de palavras”. Todos os resultados da consulta são armazenados em uma tabela, e cada resultado da consulta recebe uma “pontuação” que mostra quão próximo o resultado corresponde ao que o usuário falou. A tabela é classificada pela pontuação e o resultado com a pontuação mais alta é enviado para a saída, se exceder um determinado limite. Se todas as pontuações estiverem abaixo do limite, o AI pode responder com "Não sei" ou "Isso não faz sentido"
Etapa 7: A tabela de "resultados e pontuações"
O resultado do AI a partir da minha entrada "O que a galinha fez?"
Etapa 8: “Processador de saída”
Isso faz várias coisas que parecem "não relacionadas", mas todas elas têm a ver com passar o texto do processador AI para o usuário.
Aqui está uma lista.
1. O texto da base de dados pode estar todo em caixa baixa e não ter pontuação.. Subrotinas colocarão a primeira letra em maiúscula e colocarão um ponto final ou ponto de interrogação no final.
2. Outra sub-rotina colocará apóstrofos de volta em contrações ou converterá as contrações de volta em palavras completas (ou seja, "não posso" é substituído por "não posso")
3. O mecanismo de conversão de texto em fala não pronuncia algumas palavras da maneira que eu gosto, então o "Processador de saída" substitui essas palavras por uma grafia fonética. Eu tenho tabelas de "pesquisa" de banco de dados para mantê-las, semelhantes a esta no “processador de entrada”
4. Se a IA não encontrar uma resposta adequada no banco de dados, pode dizer "Não sei", mas não quero que diga isso indefinidamente. Pessoas reais variam suas respostas. Portanto, há uma tabela com frases de "Saída Comum" e uma função que escolhe uma aleatoriamente (e nunca escolherá a mesma duas vezes consecutivas).
5. O mecanismo “text-to-speech” (TTS) gratuito não oferece ao programador muitas opções para a forma como as frases são faladas, mas você tem um pouco de controle sobre o tom e a velocidade dos fonemas. O termo para isso é “Prosódia”. Eu adicionei alguns códigos de “prosódia” ao texto em meu banco de dados e, quando o “Processador de saída” os vê, ele ajusta o tom e a velocidade no mecanismo TTS conforme cada palavra é falada.
6. Às vezes, o TTS é difícil de entender, então, além de falar palavras em voz alta, eu também as exibo em letras grandes na tela do meu computador. Esta parte da "Interface do usuário" é uma grade que mostra as últimas 6 linhas de uma conversa (entrada do usuário e saída AI) e rola para cima conforme novas linhas são adicionadas.
Etapa 9: Continue trabalhando nisso
Minha opinião foi “Não conte a ninguém”
Ainda estou trabalhando no meu sistema de IA e provavelmente nunca estará realmente "pronto". À medida que adiciono mais recursos, escreverei mais artigos.
Talvez algumas das minhas ideias o inspirem a construir uma IA melhor do que a minha
Recomendado:
Como fazer - MÓDULO DE EXIBIÇÃO DE E-PAPER E-INK - Parte 2 - Importar imagem personalizada: 4 etapas
Como fazer - MÓDULO DE EXIBIÇÃO DE E-PAPER E-INK - Parte 2 | Importar imagem personalizada: Neste tutorial da Parte 2 de Como fazer - MÓDULO DE EXIBIÇÃO DE E-PAPER E-INK | Importar Imagem Personalizada, vou compartilhar com vocês como importar a imagem que você gosta e exibi-la no Módulo Display E-Ink. É muito simples com a ajuda de alguns s
Como fazer um I.A. Parte 4: 3 etapas
Como fazer um I.A. Parte 4: Outro dia, eu estava conversando com minha IA e disse a ela: “Vou subir para jantar, vamos comer bife”. No entanto, o software de reconhecimento de fala (SR) interpretou isso como “… estamos tendo STAKE”Encontrei um problema de ouvido semelhante (mas diferente)
Como fazer um I.A. Parte 1: 5 etapas
Como fazer um I.A. Parte 1: Comece com um computador que tenha Reconhecimento de Fala e também um conversor Text-To-Speech. Você precisará ser capaz de escrever programas de computador que possam acessar o Reconhecimento de Fala e o Conversor Text-To-Speech.Algumas ferramentas de desenvolvimento de aplicativos e
Como fazer PCB em casa - Parte 1: 4 etapas
Como Fazer PCB em Casa Parte 1: Hoje em dia, podemos facilmente criar um circuito impresso de alta qualidade, nem mesmo profissional, mas de boa qualidade para projetos de hobby. em casa sem nenhum material especial. O que é PCB? Uma placa de circuito impresso (PCB) suporta mecanicamente e elétrica
Como fazer - MÓDULO DE EXIBIÇÃO DE E-PAPER E-INK - Parte 3 - WiFi: 7 etapas (com imagens)
Como fazer - MÓDULO DE EXIBIÇÃO DE E-PAPER E-INK - Parte 3 | WiFi: Neste tutorial para a Parte 3 de Como - MÓDULO DE EXIBIÇÃO E-PAPER E-INK, vou compartilhar com você como conectar seu Módulo de Exibição E-Ink a um módulo WiFi que permite atualizar os textos via WiFi.Don não tem um módulo de exibição E-Ink? Você pode obter um h