how to find most common words in text by matlab

조회 수: 21 (최근 30일)
bita hallajian
bita hallajian 2017년 10월 28일
댓글: Charmaine Tan 2018년 11월 26일
how to tag POS on nouns and verbs in MATLAB, Is it related to regular expressions? I know that regular expressions find a pattern in a text, but I want to find the most common words in texts and tag POS on them( I mean the words are nouns or verbs) and then exchange that POS and make an unfamiliar pair of words. how can I find the most common words in texts by MATLAB?is there any solution for that or I should use another software?

채택된 답변

Christopher Creutzig
Christopher Creutzig 2017년 11월 2일
편집: Christopher Creutzig 2018년 11월 26일
Finding the most common words is easy with Text Analytics Toolbox:
>> sonnets = extractFileText("sonnets.txt");
>> sonnets = erasePunctuation(sonnets);
>> tokenizedSonnets = tokenizedDocument(lower(sonnets));
>> bag = bagOfWords(tokenizedSonnets);
>> topkwords(bag, 10)
ans =
10×2 table
Word Count
______ _____
"and" 490
"the" 436
"to" 409
"my" 371
"of" 370
"i" 344
"in" 321
"that" 320
"thy" 281
"thou" 234
You probably want to remove some words (check out removeWords and stopWords). POS tagging is supported in release R2018b and later, see addPartOfSpeechDetails.
  댓글 수: 2
bita hallajian
bita hallajian 2017년 12월 2일
편집: bita hallajian 2017년 12월 2일
With great thanks for your help I'll try the helpful points you directed me I created a text document with the name "sonnets.txt" and loaded it in command window but there is an error : "Number of columns on line 2 of ASCII file sonnets.txt must be the same as previous lines." Can you give me useful advice to eliminate this error?
Christopher Creutzig
Christopher Creutzig 2018년 5월 2일
What command(s) did you try to read that file? The error message looks like you tried to read it as a table; try using the commands listed above instead.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Sarah Palfreyman
Sarah Palfreyman 2018년 4월 30일
편집: Sarah Palfreyman 2018년 4월 30일
  댓글 수: 2
IORUNDU GABRIEL
IORUNDU GABRIEL 2018년 5월 16일
Which version of matlab is the least that supports the Text analytic toolbox?
Rik
Rik 2018년 5월 16일
R2017b

댓글을 달려면 로그인하십시오.


Charmaine Tan
Charmaine Tan 2018년 11월 26일
Hi, after finding my topkwords (most frequent words), how can I plot a histogram of these?
  댓글 수: 2
Christopher Creutzig
Christopher Creutzig 2018년 11월 26일
txt = extractFileText('sonnets.txt');
td = tokenizedDocument(lower(txt));
td = erasePunctuation(td);
bow = bagOfWords(td);
top = topkwords(bow,20);
bar(top.Count)
set(gca,'XTick',1:size(top,1),'XTickLabel',top.Word,'XTickLabelRotation',45)
Screen Shot 2018-11-26 at 09.23.48.png
(In general, it's a good idea not to ask a new question as an “answer,” but to open a new question instead. It helps other people searching MATLAB Answers in the future.)
Charmaine Tan
Charmaine Tan 2018년 11월 26일
Noted, I'll do that. Thanks a lot!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Language Support에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by