![]() |
1
1
一种方法是存储文本所有尾部的排序排列(从某个点到结尾的文本)。 然后为了找到一个子串,你用二进制方法在循环移位中搜索它。使用32位整数的内存为每个原始字符4字节。 我听说有一种方法可以通过存储 Burrows-Wheeler transform 文本(每一个原始的1个字母),但我似乎找不到任何参考。 |
![]() |
2
1
我实现了这样一个系统,对于其中一个网站上的建议下拉列表,使用n-gram索引,特别是3-gram。你把一个单词分成n个字母,比如“hel lo”,你会得到“hel”,“lo”。然后构建一个索引,用n个grams作为键,并用它们的单词作为值。(我用TIE速度,记忆力没那么重要)。接下来,对于一个给定的查询,您将它按照与索引期间相同的过程分解为n个gram,并对每个n个gram执行查找,以获得可能匹配的列表。从该列表中,您可以选择匹配n-grams数量最多的单词。你也可以使用各种启发式方法。一个是在单词开头的匹配通常更重要,所以你可以用一个$填充所有单词。 |
![]() |
3
0
你可能想看看露西。但我认为一般来说,它们会标记输入文本。可能不只是空白,而且在单词序列中使用较短的。我不认为一个字符标记是可行的。 对于东方语言(没有空格的地方),通常使用双字符序列。与英语的主要区别在于,两个字符通常已经是一个单词,而要从中提取的基字符集要大得多,因此在双字格中已经有了大量的信息,并且有了更多独特的双字格。 |
![]() |
tincho87 · 避免Javascript/Css缓存 7 年前 |
![]() |
Zac · 如何强制客户端重新下载我的网站? 7 年前 |
![]() |
Kumar · bitbake清理使用只读NFS SSTATE缓存失败 7 年前 |
![]() |
Chris Williams · 休眠/JPA缓存查找值 7 年前 |
![]() |
Nymeria · 仅绑定到当前事务的Spring缓存 7 年前 |