Qual é uma boa maneira de implementar a "previsão da próxima palavra"? Por exemplo, o usuário digita "eu sou" e o sistema sugere "a" e "não" (ou possivelmente outros) como a próxima palavra. Estou ciente de um método que usa cadeias de Markov e algum texto de treinamento (obviamente) para conseguir mais ou menos isso. Mas li em algum lugar que esse método é muito restritivo e se aplica a casos muito simples.
Entendo o básico de redes neurais e algoritmos genéticos (embora nunca os tenha usado em um projeto sério) e talvez eles possam ser de alguma ajuda. Gostaria de saber se há algum algoritmo que, dado o texto de treinamento apropriado (por exemplo, artigos de jornal e a própria digitação do usuário) possa apresentar sugestões razoavelmente apropriadas para a próxima palavra. Caso contrário (links para) algoritmos, métodos gerais de alto nível para atacar esse problema são bem-vindos.
n
disso que produz bons resultados? Nem sempre tem que ser a terceira palavra que está previsto, você vên
gera uma lista mais longa, que fornecerá uma previsão mais precisa, mas também será mais cara de pesquisar. Portanto, é uma troca entre precisão e tempo de computação.Parece que o domínio do problema é um subconjunto da pesquisa de cadeias. Ao estender as palavras para incluir espaços em branco, a correspondência de seqüência difusa pode ser aplicada aqui.
Você pode considerar / permitir toda a entrada do usuário como uma palavra durante o treinamento, além do seu dicionário. Isso permite sugerir a próxima palavra, mas também sugere a conclusão automática de palavras ou frases.
Aqui está um link para uma compilação de algoritmos de pesquisa de string difusa
http://ntz-develop.blogspot.com/2011/03/fuzzy-string-search.html
fonte
Você está procurando um modelo de idioma (estatístico) .
fonte