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