Eu preciso implementar alguma PNL em meu módulo atual. Estou procurando alguma boa biblioteca que possa me ajudar aqui. Eu me deparei com o 'LingPipe', mas não consegui acompanhar completamente como usá-lo.
Basicamente, precisamos implementar um recurso onde o aplicativo possa decifrar as instruções do cliente (instruções de entrega) digitadas em inglês simples. Por exemplo:
- Pegarei amanhã às 12:00
- Solicitar entrega após 10 de junho
- Por favor não envie antes de quarta-feira
- Adicione mais 10 unidades de XYZ ao pedido
Respostas:
LingPipe é muito bom e bem documentado. Você também pode dar uma olhada em:
O último especificamente pode ser do seu interesse, embora eu não saiba se existem implementações Java prontamente disponíveis (e talvez isso seja muito difícil para o seu problema de qualquer maneira :-)
A ideia de Paul de usar uma DSL é provavelmente mais fácil e rápida de implementar e mais confiável de usar para seus clientes. Eu também recomendaria examinar isso primeiro.
fonte
Acho que a escolha de usar ou não a PNL pode depender dos requisitos específicos do seu sistema. É um requisito que o inglês de formato livre seja aceito ou apenas um determinado conjunto de instruções será aceito? Pode ser mais fácil construir uma linguagem de domínio específico que suporte o que seus usuários precisam transmitir do que fazer uma análise semântica completa de texto de formato livre.
No espaço Java, Groovy tem algum suporte para construir DSLs .
fonte
Para outras linguagens JVM veja
fonte