word frequency

hi!how can i find the most frequent word in string in matlab?

 Accepted Answer

Walter Roberson
Walter Roberson on 29 May 2012

1 vote

The first thing you need to do is to figure out what is or is not a "word" for your purposes. Contractions, possessives, hyphenation, abbreviations, acronyms, numbers.... ?
Is a capitalized word to be considered the same as a lower-case word? For example, "How" compared to "how" ?
Is a word in all-capitals to be considered the same as a lower-case word? For example, if you have an article about taking your house-hold "pet" to a "PET" scan, then are "pet" and "PET" the same word or different words?

1 Comment

reyhane
reyhane on 29 May 2012
yes they r same word,but actually i can be happy,if the programme can say frequent word even all wordswere writter as a lower-case word

Sign in to comment.

More Answers (1)

Sean de Wolski
Sean de Wolski on 29 May 2012
Something like:
str = 'See Spot run, see Spot jump, see Spot eat';
C = regexp(lower(str),' ','split')';
[val,idxC, idxV] = unique(C);
n = accumarray(idxV,1);
[n idxC] %n occurences for word C(idxC)
obviously this needs to be augmented to take into account punctuation, whether you want to account for caps etc.

1 Comment

reyhane
reyhane on 29 May 2012
thank u so much :) I have to check it out

Sign in to comment.

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!