Ecco la situazione:
Ho un Document(d)
e un set di keywords (Set<String> keywords)
. Mi piace controllare la densità di ogni parola da set keywords
con d
.
Ho poche soluzioni ma non molto bene. per esempio:
(NOTA l'implementazione è in java.)
Map<String,Integer> map
for each word in keywords do :
d1 = d;
int count=0;
while(d1!=null) do:
int next=firstOccurrenceOF word;
if(next==-1){
d1=null;
continue;
}
d1=substring(firstOccurentOf word + word.length, d1.length())
count++;
od
map.put(word,count);
od;
Questa soluzione funziona ma è molto lenta se il documento è grande e sono necessarie molte parole chiave da controllare.
NOTA: le parole chiave impostate possono contenere parole chiave con più parole
Questo è più un problema algoritmico piuttosto che una programmazione.