我试图从多行的语料库中生成双字母组。 Bigrams是在换行符中创建的,这是一个问题,因为每一行代表它自己的上下文,并且与后续行无关。这会导致语法不正确的双字母。
语料库
Reeves Acrylfarbe 75Ml Ultramarin
Acrylfarbe Deep Peach
Reeves Acrylfarbe 75Ml Grasgrün
Acrylfarbe Antique Go
有问题的双字母组的示例
'Ultramarin Acrylfarbe','GrasgrünAcrylfarbe'
这是我正在使用的代码:
finder = BigramCollocationFinder.from_words(word_tokenize(corpus))
bigrams = finder.nbest(bigram_measures.likelihood_ratio, 100)
如何省略跨越两行的双字母组合?
答案 0 :(得分:1)
我相信这样的事情应该有效:
finder = nltk.BigramCollocationFinder.from_documents([
nltk.word_tokenize(x) for x in corpus.split('\n')])
bigrams = finder.nbest(bigram_measures.likelihood_ratio, 100)
答案 1 :(得分:0)
我会在' \ n'上使用split
得到一个行列表然后分别处理每一行并组合双字母列表