【发布时间】:2012-01-04 00:02:18
【问题描述】:
我只是想通过使用递归 2-Gram 存储将一大组文本分解为一个整数,直到只剩下一个值。
table pair
{
id
first_parent_id (points to -> this.id)
second_parent_id (points to -> this.id)
}
例如,在下面的代码中,我有一个 11 个单词的句子(12 个带有句点)。我可以将每个单词对存储在数据库中(“this”+“is”= ID #1),然后将每组两个单词对存储在数据库中(1 + 2 = ID #7),然后重复直到我开始只剩下一个单词——ID 12。
This is my group of words which I plan to compress.
---1---|--2-----|--3-----|-----4-|----5--|-------6-
-------7--------|--------8-------|-------9---------
----------------10---------------11----------------
------------------------12-------------------------
然后使用数字“12”我们可以向后工作(如果我们有相同的数据集)
------------------------12-------------------------
----------------10---------------11----------------
-------7--------|--------8-------|-------9---------
---1---|--2-----|--3-----|-----4-|----5--|-------6-
This is my group of words which I plan to compress.
虽然压缩/解压缩每个字符串需要大量工作 - 似乎它可能在需要存储内容的某种归档工作中使用 - 但除非在极少数情况下,否则永远不会读取解压过程没有问题。
我是否正确地考虑了这一点?可能的单词序列数量是否太大而无法像这样存储? (想象一个 500 字的文档)。
【问题讨论】:
标签: text compression storage n-gram