2009-10-20 13 views
8

Chcę uzyskać wygenerowany losowy tekst.Gdzie można uzyskać listę prawie wszystkich słów w języku angielskim?

Próbowałem pisząc program podstawowy 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(" "); 
     } 

a wynik jest coś takiego:

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 niech 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

Byłoby pomocne, gdyby tekst był przynajmniej czytelny zamiast tego.

Mam na myśli użycie angielskich słów i losowy wybór spośród nich do tworzenia zdań. Gdzie mogę uzyskać dużą listę słów w języku angielskim?

+1

Czy brałeś pod uwagę Elven? – random

+0

Czy chcesz zalać filtry spamu lub po prostu wygenerować tekst do wypełnienia przestrzeni? –

Odpowiedz

6

Złotym standardem przetwarzania języka naturalnego jest Wordnet pod numerem http://wordnet.princeton.edu/. Ma aktywną grupę użytkowników, ma semantykę i składnię powiązaną ze słowami oraz interfejsy z innymi narzędziami NLP. Jeśli myślisz o wykonywaniu obliczeń za pomocą słów, które zdecydowanie powinieneś przejrzeć.

Jednak wybieranie słów losowo nie generuje użytecznych zdań i podejrzewam, że będziesz rozczarowany wynikami. Zajrzyj do zestawów narzędzi, takich jak OpenNLP, gdzie jest wiele narzędzi, w tym część mowy (POS), której będziesz potrzebować.

Nawet jeśli masz zdania, które mogą mieć prawidłową składnię, będziesz musiał przeczytać dzieło Chomsky'ego i innych. Jego "Bezbarwne zielone pomysły śpią wściekle" http://en.wikipedia.org/wiki/Colorless_green_ideas_sleep_furiously ilustruje problem.

2

The Wordlist project ma kilka list. Myślę, że ciężko jest znaleźć pełną listę, języki naturalne nie działają w ten sposób.

1

CUVPlus to dobry słownik do odczytu maszynowego (link prowadzi bezpośrednio do strony pobierania). Jest to "wyłącznie do celów badawczych" (licencja niekomercyjna). Zawiera klasyfikację na rzeczowniki, czasowniki itd., Więc może być bardziej przydatna do generowania losowych zdań niż tylko listy słów.

0

Chcesz sprawdzić "Lorem Ipsum". Z pewnością jest jakaś biblioteka do generowania jej w Javie.

4

Proponuję użyć generatora lorem ipsum. W przypadku Javy jest this on. Wersja online jest dostępna pod numerem here.

0

Lista Scrabble może być warta obejrzenia. Dostępne są dwie odmiany: SOWPODS (wszędzie z wyjątkiem USA i Kanada) oraz TWL (dla USA i Kanady). Obie listy słów można łatwo pobrać z różnych stron.

Jednak do tego, czego potrzebujesz, możesz rozważyć użycie Lorem Ipsum (inaczej "wargi"). Jeden popularny generator Lipsum is here, chociaż jest wiele innych.

5

Sprawdź Lorem Ipsum na miejscu http://www.lipsum.com/ do generowania "tekst Void"

Istnieje wiele generatorów na http://loremipsum.sourceforge.net/

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

1

jeśli jesteś na Linux PC try/usr/share/dict

0

Kiedy zrobiłem to w 12. klasie, z powrotem w 1972 roku, zrobiłem lista wszystkich możliwych drugich liter w języku angielskim. Innymi słowy, wektor z 26 ciągów. Pierwszy ciąg znaków to wszystkie możliwe litery, które mogą nadążyć za A, drugi to wszystkie możliwe litery, które mogą nadążyć za B, i tak dalej.

Zrobiłem listę tylko próbując wymyślić słowo z każdą możliwą sekwencją dwóch liter, a jeśli było zbyt trudno wymyślić jedną, nie uwzględniłem jej. Dlatego skończyłem z wszystkimi typowymi dwuliterowymi sekwencjami w języku angielskim.

Pamiętam, że wygenerowany tekst był do wymówienia, i że często były to prawdziwe słowa lub prawie prawdziwe słowa.

Zostałem napisany na kartach sensownych OCR w języku BASIC dla minikomputera HP 2100A z 8k pamięci rdzeniowej.

Od tamtej pory nauczyłem się, że zazwyczaj można zidentyfikować język, badając częstotliwość tripletów listowych, więc podejrzewam, że jeśli zrobisz to na jeszcze jeden poziom, otrzymasz znacznie więcej prawdziwych słów, a znacznie większe podobieństwo do jakiejś formy angielskiego.

Powiązane problemy