3.66667

3.7 | 3 ratings Rate this file 26 Downloads (last 30 days) File Size: 3.89 KB File ID: #19505

wordcount

by Suri Like

 

08 Apr 2008 (Updated 09 Apr 2008)

This function reads from a text file and displays the most frequently used words

| Watch this File

File Information
Description

PURPOSE:
This function reads the alphanumeric words (e.g. 'Finance', 'recycle', 'M16') from a plain text document (.txt) and displays the most frequently used words in the document. For example, after processing a document containing pizza recipes, I got the following output from this function:

    'WORD' 'FREQ' 'REL. FREQ'
    'dough' [ 170] '1.1336%'
    'flour' [ 84] '0.5601%'
    'oven' [ 70] '0.4668%'
    'pizza' [ 49] '0.3268%'
    'sauce' [ 47] '0.3134%'
    'cheese' [ 39] '0.2601%'

The first column consists of the most frequently used words in this document. The second column consists of the frequency of the word (i.e. the number of times that the word appeared in the document). The last column contains the relative frequency of the word, which is simply the frequency of the word divided by the total number of words in the document. This function might be useful for statistical purposes such as analyzing the writing habits of a particular author. Please note that the words are case-sensitive, which means 'Great' and 'great' are treated as two different words.

INPUTS:
The first input, 'filename', is simply the name of the text file. The second input, 'num', is the number of words you want to have the function display. For example, if you only want to see the top 10 most frequenly used words, simply set 'num' to 10. However, please note that this function only displays the words which were used at least twice. Therefore, if the number of words used more than once is less than the value of 'num', only those words will be displayed and you will see fewer words in the output than you specified.

OUTPUT:
The output, 'results', simply shows a table that looks like the output in the pizza recipe example described above.

HOW TO USE:
Say you want to find out the most frequenly used words in a article you found on the web. Simply copy that article and paste it into Notepad. Save the text file with whatever name you want (e.g. 'article.txt'). Then navigate to the directory containing the text file in MATLAB and type:

results = wordcount('article.txt', 10)

to see the top 10 most frequently used words in article.txt.

MATLAB release MATLAB 7.5 (R2007b)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (5)
09 Apr 2008 nur w  
12 Mar 2009 Taha

Just what I was looking for. Code is easy to read and implement. Great work!

24 Jun 2010 Nawaf Ali

It's a great application, but I am trying to implement it on big text files and it runs for ever, the matlab keeps busy for a very long time, is that normal? or there is something need to update in the code?

19 Jan 2011 Andrey Kan

there is a bug.

if the input file contains
--------- start of file ----------
9
9
9
9
9
9
9997
9997
9997
9997
9997
9997
---------- end of file

then the output is

    'WORD' 'FREQ' 'REL. FREQ'
    '9' [ 6] '50.0000%'

the word '9997' is not reported.

05 May 2011 Jeff ahrens

Didn't work with my text file. It failed to list quite a few words.

Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
statistics Suri Like 22 Oct 2008 09:56:54
probability Suri Like 22 Oct 2008 09:56:54
text words count frequency statistics article document language Suri Like 22 Oct 2008 09:56:54
words count Andrey Kan 19 Jan 2011 12:16:42
words frequency Andrey Kan 19 Jan 2011 12:16:57

Contact us at files@mathworks.com