/* Compute the longest word in inserted text. */ func (ftr *LongestWord) Compute(dataset tabula.DatasetInterface) { adds := dataset.GetColumnByName("additions") addslen := adds.Len() for x, rec := range adds.Records { text := rec.String() textlen := len(text) if textlen == 0 { ftr.PushBack(tabula.NewRecordInt(int64(0))) continue } text = clean.WikiText(text) inWords := tekstus.StringSplitWords(text, true, true) slong, _ := tekstus.WordsFindLongest(inWords) if DEBUG >= 2 { fmt.Printf("[feature] %d/%d longest word: %q\n", x, addslen, slong) } slonglen := int64(len(slong)) ftr.PushBack(tabula.NewRecordInt(slonglen)) } }
func TestWordsFindLongest(t *testing.T) { for _, td := range dataWordsFindLongest { got, _ := tekstus.WordsFindLongest(td.words) assert(t, td.exp, got, true) } }