equal
deleted
inserted
replaced
32 def prod(lst1: List[String], lst2: List[String]) : Int = { |
32 def prod(lst1: List[String], lst2: List[String]) : Int = { |
33 val words = (lst1 ::: lst2).distinct |
33 val words = (lst1 ::: lst2).distinct |
34 val occs1 = occurrences(lst1) |
34 val occs1 = occurrences(lst1) |
35 val occs2 = occurrences(lst2) |
35 val occs2 = occurrences(lst2) |
36 words.map{ w => occs1.getOrElse(w, 0) * occs2.getOrElse(w, 0) }.sum |
36 words.map{ w => occs1.getOrElse(w, 0) * occs2.getOrElse(w, 0) }.sum |
37 } |
37 } |
38 |
38 |
39 //(4) Complete the functions overlap and similarity. The overlap of |
39 //(4) Complete the functions overlap and similarity. The overlap of |
40 // two documents is calculated by the formula given in the assignment |
40 // two documents is calculated by the formula given in the assignment |
41 // description. The similarity of two strings is given by the overlap |
41 // description. The similarity of two strings is given by the overlap |
42 // of the cleaned (see (1)) strings. |
42 // of the cleaned (see (1)) strings. |