2009-02-27 69 views
8

Cách tốt nhất để tìm một hàm trả về một từ tiếng Anh ngẫu nhiên (tốt nhất là danh từ), không lưu danh sách tất cả các từ có thể trong một tệp trước ?Cách chọn một từ tiếng Anh ngẫu nhiên từ danh sách

+0

Đây không phải là câu hỏi hợp lý. Bạn có thể cung cấp một số ngữ cảnh hoặc đầu mối bổ sung cho những gì bạn đang cố gắng làm không. Tạo các từ tiếng Anh mà không cần từ điển tiếng Anh là một mâu thuẫn hợp lý. Vui lòng làm rõ điều này. –

+0

tìm nạp một từ từ bất kỳ tài nguyên trực tuyến nào được thiết kế để cung cấp các từ ngẫu nhiên trông giống như một ý tưởng hay.:-) –

+0

@joshhunt: Điều gì cấu thành "đồ sộ"? Từ điển chính tả cho tiếng Anh là khoảng 400K. Xem http://aspell.net/ để có một câu trả lời hay. –

Trả lời

20

Danh sách từ không cần chiếm nhiều không gian đó.

Đây là JSON wordlist with over 5000 words, all nouns. Nó đồng hồ ở dưới 50K, kích thước của hình ảnh jpeg cỡ trung bình.

Tôi sẽ chọn một cách ngẫu nhiên làm bài tập cho người đọc.

+3

Đây thực sự là lựa chọn tốt nhất. Bạn có thể dễ dàng giữ toàn bộ danh sách trong bộ nhớ và bạn sẽ có toàn quyền kiểm soát nguồn - không có thay đổi bất ngờ, không có vấn đề kết nối, không có vấn đề bảo mật và tổng thể sẽ dễ thực hiện hơn nhiều. – Whatsit

+0

Và bạn thậm chí không cần phải giữ tất cả trong bộ nhớ. – Triptych

0

Vâng, bạn có ba lựa chọn:

  • Mã hóa cố định danh sách các từ và khởi tạo một mảng với nó.
  • Tìm nạp danh sách từ vị trí internet thay vì tệp.
  • Lưu danh sách các từ có thể có trong tệp.

Cách duy nhất để tránh những điều trên là nếu bạn không quan tâm liệu từ đó có thật không: bạn chỉ có thể tạo các chuỗi ký tự có độ dài ngẫu nhiên. (Không có cách nào để tạo các từ mà không cần danh sách từ điển theo chương trình.)

10

Bạn không thể. Không có thuật toán để tạo ra các từ có ý nghĩa. Bạn chỉ có thể tạo các từ có âm thanh như tiếng Anh, nhưng chúng sẽ không có ý nghĩa gì cả.

+6

Trong khi hobarattically trice, bạn vẫn có thể grat một thứ chín. – dkamins

3

Một cách tiếp cận lý thuyết: bạn có thể cạo trang random wikipedia article và trở về từ N-thứ của bài báo.

+0

Đó là một ý tưởng hay, nhưng bạn có thể cần phải lọc ngày và số và các từ không phải Engilsh. – Ben

+0

Các kết quả sẽ không được rất ngẫu nhiên - bạn có xu hướng nhận được cùng một vài từ rất nhiều, và tất cả các loại vấn đề khác. – Whatsit

+1

@Whatsit Tôi đoán bạn nói đúng. Mặt khác: những gì des ngẫu nhiên từ tiếng Anh thực sự có nghĩa là gì? Nếu bạn hỏi ai đó cho một từ ngẫu nhiên, nó sẽ là một phân phối thống kê tương tự – splattne

1

Có một trình tạo từ ngẫu nhiên here - không phải tiếng Anh mà là tiếng Anh-ish, tức là các từ tương tự với ngôn ngữ mà người dùng có thể đọc và lưu trữ chúng trong bộ nhớ ngắn hạn.

Mã nguồn nằm trong C# và có một chút kludged, nhưng bạn có thể sử dụng cách tiếp cận tương tự trong Python để tạo nhiều từ mà không phải lưu trữ một danh sách khổng lồ.

Hoặc, bạn có thể gọi dịch vụ web trực tiếp trên trang demo - nó được lưu trữ trên GoDaddy, vì vậy không đảm bảo nó sẽ hoạt động trong quá trình sản xuất!

1

Bạn có thể tải xuống danh sách "các từ phổ biến cho SOWPODS và TWL" từ http://www.math.toronto.edu/jjchew/scrabble/lists/. Tôi đặt tất cả các từ trong những tập tin đó lại với nhau và danh sách nặng khoảng 642k. Không lớn bằng bất kỳ tiêu chuẩn nào. Các danh sách này có chứa rất nhiều từ mơ hồ, vì chúng có nghĩa là để sử dụng giải đấu Scrabble. Điều tốt là các danh sách tạo thành một tập hợp con đáng kể của ngôn ngữ tiếng Anh.

2

Chỉ cần sử dụng api từ ngẫu nhiên của setgetgo. Nó miễn phí, thật dễ dàng, và nó đá.

http://randomword.setgetgo.com/

+0

Phản hồi trả lại các từ thực, nhưng trả lại các từ không có thật –

Các vấn đề liên quan