在大型文本语料库中查找常见单词序列的技术?

时间:2019-06-05 19:09:05

标签: algorithm nlp

有没有一种算法可以有效地找到大型文本语料库中n个最常见的k词序列?

例如,如果n = 1k = 5,而我的语料库是:

a b a b a c d e f a b a b a c c b c b a b c

输出为a b a b a

1 个答案:

答案 0 :(得分:1)

这是一个简单的算法。在每个单词处,逐行将单词序列按k个单词的顺序拆分。对于您的示例,我们有:

a b a b a
b a b a c
a b a c d
b a c d e
a c d e f
c d e f a
d e f a b
e f a b a
f a b a b
a b a b a
b a b a c
a b a c c
b a c c b
a c c b c
c c b c b
c b c b a
b c b a b
c b a b c
c b a b c

对它们进行排序:

a b a b a
a b a b a
a b a c c
a b a c d
a c c b c
a c d e f
b a b a c
b a b a c
b a c c b
b a c d e
b c b a b
c b a b c
c b a b c
c b c b a
c c b c b
c d e f a
d e f a b
e f a b a
f a b a b

现在很容易找到最常见的k序列。如果文件很大,则可能需要将其拆分,分类,然后合并。