Algorithm 从n-gram集合生成所有可能的序列
我知道如何生成n-gram的句子。 例如:使用数字序列的单字符和双字符Algorithm 从n-gram集合生成所有可能的序列,algorithm,combinatorics,n-gram,Algorithm,Combinatorics,N Gram,我知道如何生成n-gram的句子。 例如:使用数字序列的单字符和双字符 1 2 3 4 5 (original senctence) => 1,2,3,4,5 (unigram) 12,23,34,45 (bigram) 如何结合单字和双字或更大的n字,使所有可能的句子具有相同的原始长度 1,2,3,4,5 (unigram) 12,23,34,45 (bigram) => 1 2 3 4 5 1 2 3 45 1 2 34 5 1 23 4 5 1 23 45 12 3 4 5
1 2 3 4 5 (original senctence)
=>
1,2,3,4,5 (unigram)
12,23,34,45 (bigram)
如何结合单字和双字或更大的n字,使所有可能的句子具有相同的原始长度
1,2,3,4,5 (unigram)
12,23,34,45 (bigram)
=>
1 2 3 4 5
1 2 3 45
1 2 34 5
1 23 4 5
1 23 45
12 3 4 5
12 3 45
12 34 5
我想找到解决这个问题的算法。
谢谢大家! 以下是提示:
假设你有5个数字[1 2 3 4 5]
有4个位置可插入空格[1-2、2-3、3-4、4-5]
4位二进制数表示组合0-无空格,1-空格
例如:代码0110匹配[102131405]==[12345]
遍历所有n-1二进制代码。
以下是提示:
假设你有5个数字[1 2 3 4 5]
有4个位置可插入空格[1-2、2-3、3-4、4-5]
4位二进制数表示组合0-无空格,1-空格
例如:代码0110匹配[102131405]==[12345]
遍历所有n-1二进制代码。
递归-在每一步输出1或2个字,例如:1或12。完成后,回溯/记住旧状态。递归-在每一步输出1或2个单词,例如:1或12。完成后,回溯/记住旧状态。就是这样。0000如何将一个分区分为单图和双图?@user2566092 0000的意思是[12345]。该解决方案根据OP的要求迭代所有可能的NGRAM:如何组合unigram和bigram或更大的n-gram。如果您只需要两个或更多的双RAM,那么过滤代码在一行中包含两个或更多的零0000如何将分区分为单RAM和双RAM?@user2566092 0000表示[12345]。该解决方案根据OP的要求迭代所有可能的NGRAM:如何组合unigram和bigram或更大的n-gram。如果您只需要最多两位RAM,则过滤代码在一行中包含两个或更多的零