nlp - 撰写包含 160 位可恢复信息的合成英语短语

标签 nlp steganography

我有 160 位随机数据​​。

只是为了好玩,我想生成伪英语短语来“存储”这些信息。我希望能够从短语中恢复这些信息。

注:这不是一个安全问题,我不在乎其他人是否能够恢复信息,甚至检测它是否存在。

更好短语的标准,从最重要到最不重要:

  • 独一无二
  • 自然

  • 目前的做法,建议here :

    取三份 1024 个名词、动词和形容词的 list (选择最受欢迎的)。通过以下模式生成一个短语,每个单词读取 20 位:

    名词动词形容词动词,
    名词动词形容词动词,
    名词动词形容词动词,
    名词动词形容词动词。

    现在,这似乎是一个不错的方法,但是这句话有点太长,有点太乏味了。

    我找到了一个词库here (语音数据库的一部分)。

    经过一些特别的过滤,我计算出这个语料库大约包含
  • 50690 可用形容词
  • 123585 名词
  • 15301动词
  • 13010 副词(不包含在模式中,但在答案中提到)

  • 这使我最多可以使用
  • 每个形容词 16 位(实际上是 16.9,但我不知道如何使用小数位)
  • 每个名词 15 位
  • 每个动词 13 位
  • 每个副词 13 位

  • 对于名词-动词-形容词-动词模式,这在短语中为每个“句子”提供了 57 位。这意味着,如果我使用从这个语料库中得到的所有单词,我可以生成三个句子而不是四个句子 (160/57 ≈ 2.8)。

    名词动词形容词动词,
    名词动词形容词动词,
    名词动词形容词动词。

    还是有点太冗长乏味了。

    任何提示我如何改进它?

    我所看到的我可以尝试:
  • 在编码之前尝试以某种方式压缩我的数据。但由于数据是完全随机的,只有一些短语会更短(而且,我想,不会太多)。
  • 改进短语模式,使其看起来更好。
  • 使用多个模式,使用短语中的第一个单词以某种方式指示将来使用哪个模式进行解码。 (例如,使用最后一个字母甚至单词的长度。)根据数据的第一个字节选择模式。

  • ...我不太擅长英语,无法想出更好的短语模式。有什么建议?
  • 在模式中使用更多的语言学。不同时态等

  • ...我想,为此我需要比现在更好的词库。任何提示我在哪里可以获得合适的?

    最佳答案

    我会考虑在您的列表中添加副词。这是我想出的一个模式:

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

    这可以编码 181 位数据。我使用我从 WordNet 数据中制作的列表得出了这个数字(可能有点偏离,因为我包含了复合词):
  • 12650 个可用名词(13.6 位/名词,四舍五入)
  • 5247 个可用形容词(12.3 位/形容词)
  • 5009 个可用动词(12.2 位/动词)
  • 1512 个可用的副词(10.5 位/副词)

  • 例句: “浸泡,习惯性的愚蠢,社会投机的样本和无所畏惧的灾难性的,在某处互惠的宏观世界,天使般地排除在不可避免的间歇性被子上。”

    关于nlp - 撰写包含 160 位可恢复信息的合成英语短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4698229/

    相关文章:

    nlp - 使用 scikit-learn 为 NER 训练 NLP 对数线性模型

    .net - 制作在图像中隐藏图像的 .NET 程序

    watermark - 很好的数字水印库

    使用 PIL(LSB) 进行 Python 图像处理

    python - 迭代数据帧时出现未知值

    python - tokenizer.texts_to_sequences Keras Tokenizer 给出几乎全零

    python - 删除文本中除 "\n"和 "/"之外的所有特殊字符

    java - 我正在阅读图像并对其进行更改。但是没有保存更改

    c# - 从 Google 选择并下载随机图片

    tensorflow - 如何微调通用句子编码器 3 嵌入到自己的语料库