2011-01-15 13 views
10

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?

+0

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. –

+0

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

Trả lời

3

Tôi sẽ xem xét thêm trạng từ vào danh sách của bạn. Đây là mẫu mà tôi đã đưa ra:

<Adverb>, the 
    <adverb> <adjective>, <adverb> <adjective> <noun> and the 
    <adverb> <adjective>, <adverb> <adjective> <noun> 
<verb> <adverb> over the <adverb> <adjective> <noun>. 

Điều này có thể mã hóa 181 bit dữ liệu. Tôi lấy con số này sử dụng danh sách tôi đã thực hiện một khi trở lại từ dữ liệu WordNet (có thể là một chút tắt vì tôi bao gồm từ ghép):

danh từ
  • 12650 có thể sử dụng (13,6 bit/danh từ, làm tròn xuống)
  • 5247 có thể sử dụng tính từ (12,3 bit/tính từ)
  • 5009 động từ có thể sử dụng (12,2 bit/động từ)
  • 1512 adverbs thể sử dụng được (10,5 bit/trạng từ)

Ví dụ câu: "Ngâm, thứ e thường xuyên ngốc nghếch, swatch đầu cơ xã hội và cataclysmic fearlessly, một nơi nào đó đối ứng macrocosm foreclose thiên về các comforter không thể tránh khỏi liên tục. "

+0

Rất cảm ơn. Ngoại trừ việc tôi sẽ tạo ra một cụm từ gồm hai hoặc ba câu thì cái này hơi quá tự nhiên. (Ngoài ra: Con số tính từ của bạn thấp hơn rất nhiều so với tôi - có lẽ tôi đã tính sai cái gì đó?) –

+1

Tôi muốn thêm vào: Sử dụng cách tiếp cận mã hóa tiếng Anh, nhưng hát nó trong một bài hát mà bạn yêu thích. Khi tôi làm điều này, tôi đã có thể ghi nhớ 70 trạm tàu ​​điện ngầm! – Nayuki

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