2009-10-20 13 views
8

Quiero obtener un texto aleatorio generado.¿Dónde obtener una lista de casi todas las palabras en inglés?

intenté escribir un programa básico Java,

int nowords = r.nextInt(2000); 
     int i, j; 

     for (i = 0; i < nowords; i++) { 
      int lengthofword = r.nextInt(10) + 2; 
      for (j = 0; j < lengthofword; j++) { 
       int ch = r.nextInt(26); 
       System.out.print(alphabet[ch]); 
      } 
      System.out.print(" "); 
     } 

y el resultado es algo así como:

tafawc flnqhabhv mqceuoqy rttzckzqa bdyxzod zbxweclvia wegmxvuoqez ijwauhmzw joxm zvphbs ogpjyip qxoymxkxv yrfoifig fbhecph izxcyfma xarzse srwic jgi fkbcdcydpz qpdvsz rqhjieqno fmelfmtgqe qozen jlxtg vfxd lkmkrksgw ytuaduknsl dejar ao bm lsfjednsa qouinii yrwzerdck YB kszttly zmwflwevyix KDG qpnkzuijva SSAU YC wxews drqsdwbc glxb gokunixldec lznuwdvksx zkzhsirruxc sqplhv fzixywkaft fqdkumfgddn bcqp oiwwbo emhk kv QHM xkjp kacbmcd ojh wzvukx oztbexkf lylyv kdspqpa zbykj lnprtlxp af BNE ryamumcg oyhldwdlq bqyfxrszuf wyrijnr ysnefsz lhhazrdwsev TLL ikibsnpqwg ntzlgc aahfsdeups rushos ihqzyucd mjorscchszm tuppz HXI ssumrevg

Sería útil si el texto fuera al menos legible en lugar de esto.

Estoy pensando en usar palabras en inglés y elegir al azar entre ellas para hacer oraciones. ¿Dónde puedo obtener una gran lista de palabras en inglés?

+1

¿Has considerado Elven? – random

+0

¿Necesita inundar los filtros de spam o simplemente generar texto para llenar el espacio? –

Respuesta

6

El estándar de oro para el procesamiento de lenguaje natural es Wordnet en http://wordnet.princeton.edu/. Tiene un grupo de usuarios activo, semántica y sintaxis asociada a palabras e interfaces con otras herramientas de PNL. Si estás pensando en hacer cálculos con las palabras definitivamente deberías echarle un vistazo.

Sin embargo, seleccionar palabras al azar no genera una oración útil y sospecho que quedarán decepcionados con los resultados. Eche un vistazo a los kits de herramientas como OpenNLP, donde hay muchas herramientas que incluyen parte de la palabra (PDS) que seguramente necesitará.

Incluso cuando tenga oraciones que puedan tener una sintaxis válida, deberá leer el trabajo de Chomsky y otros. Sus "ideas verdes incoloras duermen furiosamente" http://en.wikipedia.org/wiki/Colorless_green_ideas_sleep_furiously ilustra el problema.

2

El Wordlist project tiene algunas listas. Creo que es difícil encontrar una lista completa, los lenguajes naturales no funcionan así.

1

CUVPlus es un buen diccionario legible por máquina (el enlace va directamente a la página de descarga). Esto es "solo para fines de investigación" (licencia no comercial). Incluye clasificación en sustantivos, verbos, etc., por lo que puede ser más útil para generar oraciones aleatorias que solo una lista de palabras.

0

Quiere buscar "Lorem Ipsum". Seguramente habrá algún tipo de biblioteca para generarlo en Java.

4

Sugeriría usar un generador lorem ipsum. Para Java hay this on. La versión en línea está disponible here.

0

Las listas de palabras de Scrabble merecen la pena. Hay dos variaciones: SOWPODS (en todas partes excepto EE. UU. Y Canadá) y TWL (para EE. UU. Y Canadá). Ambas listas de palabras se pueden descargar fácilmente desde varios sitios.

Sin embargo, para lo que necesita, es posible que desee considerar también el uso de Lorem Ipsum (también conocido como "lipsum"). Un popular generador de Lipsum is here, aunque hay muchos otros.

5

Comprobar si Lorem Ipsum en el sitio http://www.lipsum.com/ para la generación de "texto vacío"

Hay gran cantidad de generadores en la red http://loremipsum.sourceforge.net/

Texto de referencia: Lorem ipsum dolor sit amet, elit consectetur adipiscing. Sed consectetur viverra fringilla. Donec at lectus en turpis bibendum placerat. Vivamus non nibh mauris. Nulla metus metus, sollicitudin nec egestas id, fermentum at nisl. Pellentesque en nisl est. En nec sem tellus, ac imperdiet lectus. Pellentesque tortor turpis, sagittis vel facilisis tristique, cursus in tortor. Mauris non neque magna, vel dignissim sem. Suspendida interdum diam tempus dui mattis molestie. Donec en mauris urna, en vulputate ipsum. Sed sodales venenatis quam non tincidunt.

1

si usted está en un intento de linux pc/usr/share/dict

0

Cuando hice esto en el 12º grado, de nuevo en 1972, lo hizo una lista de todas las posibles segundas letras en inglés. En otras palabras, un vector de 26 cuerdas. La primera cuerda era todas las letras posibles que podían seguir a A, la segunda eran todas las letras posibles que podían seguir a B, y así sucesivamente.

Hice las listas simplemente tratando de pensar en una palabra con cada posible secuencia de dos letras, y si era demasiado difícil de pensar en una, no la incluí. Por lo tanto, terminé con todas las secuencias comunes de dos letras en inglés.

Recuerdo que el texto generado era pronunciable y que a menudo había palabras reales o palabras casi reales.

Estaba escrito en tarjetas de sentido de marca OCR en BASIC para el miniordenador HP 2100A con 8k de memoria central.

Desde entonces, he aprendido que generalmente se puede identificar un idioma al examinar la frecuencia de trillizos de letras, por lo que sospecho que si lo hace a un nivel más, terminará con muchas más palabras reales, y un mucho mayor similitud extraña con alguna forma de inglés.

Cuestiones relacionadas