0
我有二元语法句子和relevantbigrams另一个原始列表的列表清单,我要检查,如果有任何的relevantbigrams的是存在于句子,然后我想返回这个句子。我正在考虑如下实现它:将列表中的每个bigrams映射到它们来自的句子,然后在键上搜索并返回值。斯卡拉地图项的值
例如:
relevantbigrams = (This is, is not, not what)
bigrams List(list(This of, of no, no the),list(not what, what is))
所以每个列表是单独的句子的两字。第二句话中的“不是什么”匹配,所以我想返回第二句话。我打算有一张地图(“这个” - >“这个没有”,“没有” - >“这个没有”,“不是什么” - >“不是什么”)。等,并返回匹配相关两字的句子,所以在这里我回来“也不是什么”
这是我的代码:
val bigram = usableTweets.map(x =>Tokenize(x).sliding(2).flatMap{case Vector(x,y) => List(x+" "+y)}.map(z => z, x))
for(i<- 0 to relevantbigram.length)
if(bigram.contains(relevantbigram(i)))) bigram.get(relevantbigram(i))
else useableTweets.head
所有集合类有'forall'和'exists' HOFs带一个谓词,将其应用于集合的元素,并且如果该谓词对集合中的所有元素('forall')或任何(存在')都是真的,则返回'true'。这听起来像可以帮助你。 – 2013-03-08 02:46:04