2009-11-03 11 views
5

Estoy buscando herramientas para generar texto aleatorio pero realista. Implementé un generador de texto de cadena de Markov y, aunque los resultados fueron prometedores, mis intentos de mejorarlos no han tenido grandes éxitos.Bibliotecas o herramientas para generar texto aleatorio pero realista

Estaría encantado con las herramientas que consumen un corpus o que funcionan basadas en una gramática sensible al contexto o sin contexto. Me gustaría que la herramienta sea adecuada para su inclusión en otro proyecto. La mayor parte de mi trabajo reciente ha sido en Java, por lo que se prefiere una herramienta en ese idioma, pero estaría bien con C#, C, C++ o incluso JavaScript.

Esto es similar a este question, pero de mayor envergadura.

+0

En relación a su comentario abajo - ¿cuáles son sus parámetros de similitud con el texto original? Longitud de la palabra? ¿Probabilidad del personaje? Longitud de la frase? En caracteres o palabras? Tal vez si obtiene más específico en sus requisitos, se puede encontrar algo. –

Respuesta

6

Extender su propio generador de cadena Markov es probablemente su mejor opción, si desea texto "aleatorio". Generar algo que tenga contexto es un problema abierto de investigación.

Try (no si tiene):

  • Tokenising puntuacion separado, o la inclusión de puntuacion en su cadena, si no está ya. Esto incluye marcas de párrafo.
  • Si está utilizando una cadena de Markov de 2 o 3 antecedentes, intente restablecerla con una de 1 historia cuando encuentre paradas completas o nuevas líneas.

Como alternativa, se puede usar WordNet en dos pasadas con su corpus:

  1. Analizar frases para determinar las secuencias comunes de tipos de palabras, es decir, nombres, verbos, adjetivos y adverbios. WordNet incluye estos. Todo lo demás (pronombres, conjunciones, lo que sea) está excluido, pero esencialmente podrías pasarlos directamente. Esto convertiría a "The quick brown fox salta sobre el perro perezoso" en "The [adjetivo] [adjetivo] [sustantivo] [verbo (s)] sobre el [adjetivo] [sustantivo]"
  2. Reproduce oraciones al azar una oración de plantilla y reemplazando [adjetivo], [sustantivos] y [verbos] con adjetivos reales, nombres y verbos.

También hay algunos problemas con este enfoque: por ejemplo, necesita contexto de las palabras de alrededor para saber qué homónimo elegir. Al buscar "rápido" en wordnet se obtiene lo rápido, pero también la uña.


Sé que esto no resuelve sus requisitos para una biblioteca o una herramienta, pero podría darle algunas ideas.

+0

descubrí wordnet recientemente mientras buscaba una solución similar a esta –

0

Algo así como this Lorem ipsum generator? También hay enlaces a varias API.

+0

Muy similar, pero estoy buscando uno que pueda consumir un corpus de texto y generar texto aleatorio pero similar. Me disculpo, debería haber sido más claro en la pregunta. –

Cuestiones relacionadas