Sistema de Inteligencia Artificial Spinkers (O que acham?)

[color=darkblue]O que acham desse projeto?[/color]

Veja o video Preview[color=red] #1[/color] http://spinkers-programmer.blogspot.com.br/2013/06/sias-sistema-de-inteligencia-artificial.html
(Mostra como funciona)

Veja o video Preview [color=red] #2[/color] http://spinkers-programmer.blogspot.com.br/2013/06/sistema-de-inteligencia-artificial.html
(Mostra sistema de voz)


NOTA: é como se o programa tivesse uma personalidade, “Cria ideias e pensamentos” etc

Sei lá, nao sou tao forever alone assim, e tambem existe o robo ED pra conversar ‘-’ bem mais inteligente
http://www.ed.conpet.gov.br/br/converse.php

Não conheço esses projetos mencionados acima, mas falando em inteligência artificial não posso deixar de mencionar o Projeto A.L.I.C.E. do Pandorabox que é muito interessante, um chatbot bem inteligente e desenvolvido em Java! Vale a pena conferir:

http://www.pandorabots.com/pandora/talk?botid=f5d922d97e345aa1

Cara,não é querendo te desmerecer não, parece que tem pouco tempo que vc programa, mas ao meu ver isso que vc fez é apenas um switch ou um if/else para cada frase , e o video com sistema de voz parece apenas um áudio editado do seu video com frases que inseriu no google translator.

também não sou tão forever alone kkkk, como assim bem mais inteligente? você ainda não testou o meu… :slight_smile:

Eu conheço ALICE, bem bacana! :smiley:

Se você acha isso, espere até a versão Alpha do meu programa sair :slight_smile:

[i]Acho que pode ser chamado de IA, mas parece ser uma IA muito limitada,
Começando pelo simples fato de não reconhecer oi, por exemplo.

O que acontece se eu perguntar algo q vc não tenha pensado?
[/i]

[quote=RodrigoKaos]
O que acontece se eu perguntar algo q vc não tenha pensado?
[/quote]
Pow, ai ele diz que não sabe o que significa isso, e da opção de cadastrar no banco de dados.

Cara, muito legal sua iniciativa.
fiquei curioso em saber como fez: verbos, tempo verbal, sujeito ativo, passivo, predicado…
Ele consegue diferenciar em quem realizou ou quem sofreu uma ação?
Tem que saber pacas de português pra isso.

Esse negócio das letras maiúsculas no inicio e acentuação, talvez seja pq vc não tenha colocado no seu banco a colation correta.

ALTER DATABASE `sua_base` CHARSET = Latin1 COLLATE = latin1_swedish_ci;

Sucesso no seu projeto.

[quote=Luiz Augusto Prado]Cara, muito legal sua iniciativa.
fiquei curioso em saber como fez: verbos, tempo verbal, sujeito ativo, passivo, predicado…
Ele consegue diferenciar em quem realizou ou quem sofreu uma ação?
Tem que saber pacas de português pra isso.

Esse negócio das letras maiúsculas no inicio e acentuação, talvez seja pq vc não tenha colocado no seu banco a colation correta.

ALTER DATABASE `sua_base` CHARSET = Latin1 COLLATE = latin1_swedish_ci;

Sucesso no seu projeto.
[/quote]

[color=red]Realmente, a principio comecei fazer o programa em inglês, mas como meu inglês ainda não é tão fluente, e eu teria que fazer as regras, resolvi ensinar português mesmo!
[/color]
Edit: na verdade, essa parte de comunicação, ainda esta em teste, estou tendo alguns problemas com isso, ja que sou iniciante JAVA!

Acho que isso está determinístico demais e muito pouco tolerante a falhas pra ser IA.

[quote=Spinkers]
[color=red]Realmente, a principio comecei fazer o programa em inglês, mas como meu inglês ainda não é tão fluente, e eu teria que fazer as regras, resolvi ensinar português mesmo!
[/color]
Edit: na verdade, essa parte de comunicação, ainda esta em teste, estou tendo alguns problemas com isso, ja que sou iniciante JAVA![/quote]

Entendo. Eu também cheguei pensar em alguns projetos sobre IA, mas eu vi que iria apanhar muito por causa da linguagem que eu fosse escolher. Todas as linguagens humanas são “naturais”. Não são controladas nem seguem um padrão. Isso matou a minha idéia. Ai pra tentar contornar isso, comecei a pensar em linguagem artificial. Algo mais simplista. Dá uma olhada nisso:

Para a máquina conseguir entender o que queremos dizer, precisaríamos simplificar e manter um padrão na linguagem.
Conjugação verbal, por exemplo, não teriam flexões verbais conforme as pessoas pq os pronomes (pessoas) já indicariam quem realiza a ação. Esse é só um pedacinho do que eu consegui definir. As outras classes gramaticais ainda tenho muito o que planejar. Parece um trabalho impossível de terminar de tanta coisa pra fazer. Cheguei a modelar alguns pensamentos em forma de classes, mas quando notei que teria que ir muito profundamente e que isso levaria muito tempo deixei meio de lado. É um trabalho pra vida toda.

[quote=Luiz Augusto Prado][quote=Spinkers]
[color=red]Realmente, a principio comecei fazer o programa em inglês, mas como meu inglês ainda não é tão fluente, e eu teria que fazer as regras, resolvi ensinar português mesmo!
[/color]
Edit: na verdade, essa parte de comunicação, ainda esta em teste, estou tendo alguns problemas com isso, ja que sou iniciante JAVA![/quote]

Entendo. Eu também cheguei pensar em alguns projetos sobre IA, mas eu vi que iria apanhar muito por causa da linguagem que eu fosse escolher. Todas as linguagens humanas são “naturais”. Não são controladas nem seguem um padrão. Isso matou a minha idéia. Ai pra tentar contornar isso, comecei a pensar em linguagem artificial. Algo mais simplista. Dá uma olhada nisso:

Para a máquina conseguir entender o que queremos dizer, precisaríamos simplificar e manter um padrão na linguagem.
Conjugação verbal, por exemplo, não teriam flexões verbais conforme as pessoas pq os pronomes (pessoas) já indicariam quem realiza a ação. Esse é só um pedacinho do que eu consegui definir. As outras classes gramaticais ainda tenho muito o que planejar. Parece um trabalho impossível de terminar de tanta coisa pra fazer. Cheguei a modelar alguns pensamentos em forma de classes, mas quando notei que teria que ir muito profundamente e que isso levaria muito tempo deixei meio de lado. É um trabalho pra vida toda.

[/quote]

Não sei se já conhece, mas se quiser se aprofundar nisso, pesquise sobre “Processamento de Linguagem Natural”.

Não sei vocês, mas o Spinkers tem um comportamento muito controverso. Ora ele aparece com algo complexo (o tal Sistema de Inteligência Artificial Spinkers, por exemplo) e, quando a gente questiona se realmente é complexo assim (esse aí, por exemplo, não tem nada de IA… eu chutaria que está relacionado a este tópico) ele se defende dizendo que é iniciante.

Eu acho muito difícil alguém iniciante e que programe como você programa (já dei uma olhada nos fontes que escreveu) criar algo dessa natureza. Não estou te desmerecendo, mas como você vendeu a imagem de um projeto com IA, eu o analisei como um projeto de IA.

Acho muito legal você ter iniciativas de fazer projetos assim, mas não os venda dessa forma pois você pode criar uma imagem muito negativa de si mesmo. (O “Sistema de Segurança Sprinkers” é outro exemplo do que quero dizer.)

[i]Cara, lembrei agora de um programa, muito legal, por sinal.
Acho q o nome era “O computator inteligente”.
Basicamente o programa começava com uma tela perguntando o nome do usuario, dps dava as boas vindas, e pedia pro usuario escolher um tema [Futebol, quimica, historia, novela, SEXO] detalhe q a palavra sexo era destacada em vermelho alem de maiuscula (a unica palavra destacada do programa, acho q era um arquivo em lote para dos). Não lembro os temas verdadeiros.
O usuario escolhia um tema, e o programa fazia perguntas para a pessoa, e de acordo com a resposta da pessoa as perguntas/respostas mudavam (Ou n eu era bem mlk quando usei esse programa, n tenho certeza)
Quando o usuario escolhia sexo, a tela ficava vermelha, e o programa chamava o usuario de tarado, na epoca era muito engraçado

[/i]

[quote=RodrigoKaos][i]Cara, lembrei agora de um programa, muito legal, por sinal.
Acho q o nome era “O computator inteligente”.
Basicamente o programa começava com uma tela perguntando o nome do usuario, dps dava as boas vindas, e pedia pro usuario escolher um tema [Futebol, quimica, historia, novela, SEXO] detalhe q a palavra sexo era destacada em vermelho alem de maiuscula (a unica palavra destacada do programa, acho q era um arquivo em lote para dos). Não lembro os temas verdadeiros.
O usuario escolhia um tema, e o programa fazia perguntas para a pessoa, e de acordo com a resposta da pessoa as perguntas/respostas mudavam (Ou n eu era bem mlk quando usei esse programa, n tenho certeza)
Quando o usuario escolhia sexo, a tela ficava vermelha, e o programa chamava o usuario de tarado, na epoca era muito engraçado

[/i][/quote]

Desenterrou esse!! O nome era “chato” (pelo menos o que eu tinha)…me lembro que eu até fiz um parecido na aula de programação na faculdade. Na verdade ele não usava as respostas, você podia escrever qualquer coisa que o resultado era o mesmo (claro, tinham alguns pontos aleatórios, mas nenhum deles era baseado nas respostas).

vamos por partes…

1- isso ai não é nem nunca vai ser inteligencia artificial.

se trata apenas de um sistema de cadastro de perguntas alternativas.

um sistema real de inteligencia artificial analisa sozinho os dados por quaisquer que sejam e depois variante a frase pode responder com através de uma busca ou analise de dados…

2 - qual a sua real intenção no desenvolvimento desse projeto?

ate agora não vi nenhum diferencial, caso seja para testar suas habilidades e aumentar seu conhecimento na programação, blz.

mas não acredito que seja possivel mais que isso.

3 - procure um objetivo para sua inteligencia artificial.

os principios basicos de uma inteligencia artiificial são:

analizar dados, buscar a melhor resposta ou informações sobre o assunto e aprender.

ai entra na velha analise de que você esta falando com uma maquina e não com uma inteligencia.

Ex:


“oi” -pessoa 1
“ola” -pessoa 2
“oi” -pessoa 1
“vc ja disse isso” -pessoa 2
“oi” -pessoa 1
“não sabe falar mais nada?” -pessoa 2


“oi” -pessoa 1
“ola” -maquina
“oi” -pessoa 1
“ola” -maquina
“oi” -pessoa 1
“ola” -maquina
.

diferente de uma inteligencia seu “sistema” tem um ciclo que limita as possibilidades de respostas.

Qualquer coisa que ligue IA e Java, por natureza já não me passa credibilidade.

Em meu trabalho de conclusao da faculdade tambem me baseei em técnicas de processamento de linguagem natural para estabelecer comunicação entre homem e máquina.

Uma parte crucial do projeto foi a base de conhecimentos da aplicação, baseada em ontologias (que é uma forma de armazenamento hierárquico de informações).

Aí para demonstração fiz um treinamento para a aplicação ser capaz de auxiliar os vestibulandos no dia do vestibular, mas o processo foi semelhante ao alfabetizar crianças. Foi necessário um dicionário na lingua portuguesa, de onde eram tirados os termos para armazenar nessas ontologias.

Obviamente por falta de tempo, a aplicação está longe de assemelhar-se a seres humanos, mas isso resolveria-se com treinamentos da aplicação.

Já sobre a linguagem, acho que não seria o maior problema. O maior problema é o projeto dos algoritmos para procurarem informaçoes nas bases de conhecimento.

Mas tanto no seu caso, como no caso sugerido pelo Spinkers estes são sistemas especialistas, não IA.
Em ambos os casos Java não seria o recomendado, pois não teria um motor de inferência otimizado para tal função, existem outras linguagens para isso, como Prolog ou Lisp.

[quote=alcionj][quote]

Já sobre a linguagem, acho que não seria o maior problema. O maior problema é o projeto dos algoritmos para procurarem informaçoes nas bases de conhecimento.

[/quote]

Mas tanto no seu caso, como no caso sugerido pelo Spinkers estes são sistemas especialistas, não IA.
Em ambos os casos Java não seria o recomendado, pois não teria um motor de inferência otimizado para tal função, existem outras linguagens para isso, como Prolog ou Lisp.

[/quote]

Sim claro, esse meu caso é um sistema especialista para PLN, que utiliza conceitos da IA, dentre os principais, o “crescimento autonomo” da base de conhecimentos.

O Prolog, por ser uma linguagem que trabalha apenas com lógica, acredito que não atenda as necessidades de uma aplicação assim, visto que a comunicação em linguagem natural nao seja baseada em cálculos matemáticos e testes lógicos.