Tôi có 160 bit dữ liệu ngẫu nhiên.Soạn cụm từ tiếng Anh tổng hợp có chứa 160 bit thông tin có thể phục hồi
Chỉ để cho vui, tôi muốn tạo cụm từ giả tiếng Anh để "lưu trữ" thông tin này. Tôi muốn có thể khôi phục thông tin này từ cụm từ.
Lưu ý: Đây không phải là câu hỏi bảo mật, tôi không quan tâm liệu người khác có thể khôi phục thông tin hoặc thậm chí phát hiện thấy có hay không.
Tiêu chuẩn cho các cụm từ tốt hơn, từ quan trọng nhất đến ít nhất là:
- ngắn
- Unique
- Natural-looking
Cách tiếp cận hiện nay, đề nghị here:
Lấy ba danh sách 1024 danh từ, động từ a nd tính từ mỗi (chọn phổ biến nhất). Tạo cụm từ theo mẫu sau, đọc 20 bit cho mỗi từ:
Noun verb adjective verb, Noun verb adjective verb, Noun verb adjective verb, Noun verb adjective verb.
Bây giờ, đây có vẻ là một cách tiếp cận tốt, nhưng cụm từ này hơi quá dài và hơi quá ngu si đần độn.
Tôi đã tìm thấy một tập hợp các từ here (Một phần của Cơ sở dữ liệu lời nói).
Sau một số bộ lọc ad-hoc, tôi tính toán rằng corpus này chứa khoảng
- 50690 có thể sử dụng tính từ
- 123585 danh từ
- 15301 động từ
- 13010 trạng từ (không được đưa vào mô hình, nhưng được đề cập trong câu trả lời)
Điều này cho phép tôi sử dụng tối đa
- 16 bit cho mỗi tính từ (thực tế 16.9, nhưng tôi không thể tìm cách sử dụng bit phân đoạn)
- 15 bit cho mỗi danh từ
- 13 bit cho mỗi động từ
- 13 bit cho mỗi trạng từ
Đối với mẫu động từ danh từ, động từ này cung cấp cho 57 bit cho mỗi "câu" trong cụm từ. Điều này có nghĩa là, nếu tôi sử dụng tất cả các từ tôi có thể lấy từ kho văn bản này, tôi có thể tạo ra ba câu thay vì bốn câu (160/57 ≈ 2.8).
Noun verb adjective verb, Noun verb adjective verb, Noun verb adjective verb.
Vẫn còn hơi dài và xỉn.
Bất kỳ gợi ý nào tôi có thể cải thiện nó?
Những gì tôi thấy rằng tôi có thể thử:
Cố gắng nén dữ liệu của tôi bằng cách nào đó trước khi mã hóa. Nhưng vì dữ liệu là hoàn toàn ngẫu nhiên, chỉ một số cụm từ sẽ ngắn hơn (và, tôi đoán, không nhiều).
Cải thiện mẫu cụm từ, vì vậy nó sẽ trông đẹp hơn.
Sử dụng một số mẫu, sử dụng từ đầu tiên trong cụm từ để bằng cách nào đó cho biết cách giải mã trong tương lai mẫu nào được sử dụng. (Ví dụ, sử dụng chữ cái cuối cùng hoặc thậm chí độ dài của từ.) Chọn mẫu theo byte đầu tiên của dữ liệu.
... Tôi không giỏi tiếng Anh để đưa ra các mẫu cụm từ tốt hơn. Bất kỳ đề xuất?
- Sử dụng nhiều ngôn ngữ khác trong mẫu. Các tenses khác nhau, v.v.
... Tôi đoán, tôi sẽ cần nhiều từ ngữ tốt hơn so với hiện tại. Bất kỳ gợi ý nơi tôi có thể nhận được một phù hợp?
Cố gắng sử dụng thì sẽ dẫn đến các biến chứng vì không có hệ thống hình thái thông thường bằng tiếng Anh. Ví dụ, đối với người thứ ba chỉ số hoạt động số nhiều, chúng ta có sự phân biệt rõ rệt giữa "họ đã đi" và "họ đi", nhưng không có gì giữa "chúng vừa vặn (quá khứ)" và "chúng vừa khít (hiện tại)". Vì sự sẵn có của sự phân biệt căng thẳng thay đổi trên các dữ liệu khác, rất khó để kết hợp nó vào thuật toán lưu trữ của bạn một cách đơn giản. –
Tôi xin lỗi, nhưng tôi thấy mình buộc phải đề xuất điều này là có liên quan, có hay không nó thực sự trả lời câu hỏi của bạn hoàn toàn: http://tools.ietf.org/html/rfc1605 – Amber