Effacer les filtres
Effacer les filtres

Remove stop words from a cell array

3 vues (au cours des 30 derniers jours)
Sergiu Panainte
Sergiu Panainte le 24 Juil 2020
Commenté : Cris LaPierre le 25 Juil 2020
I am trying to remove german stop-words from a cell array. Below is the respective code:
if removeStopWords == 1
stop_words = cellstr(stopWords('Language','de'));
split1 = regexp(chatM, '\s','Split');
split1 = cellfun(@(x)strjoin(x), split1, 'Uni', 0);
split1 = cellfun(@(x)convertStringsToChars(x), split1, 'Uni', 0);
chatM = strjoin(split1(~ismember(split1, stop_words)), ' ');
end
I applied a solution from a simillar question on the forum, but it did not work for me properly and I do not understand why.
The problem is, that it removes patterns and not words: imagine you want to remove "Ok" from "Ok Okay OOk". The result will be "ay O", but I want to get "Okay OOk".
By the way, I also tried removeStopWords(str), but the result was the same. In the end I want to count the occurrence of "relevant" words, so I need to remove stop words at first.

Réponse acceptée

Cris LaPierre
Cris LaPierre le 24 Juil 2020
Do you have the text analytics toolbox? You must because you are using stopWords. Try using the removeStopWords function.
  6 commentaires
Sergiu Panainte
Sergiu Panainte le 25 Juil 2020
Thanks, generally it solved my problem. But recently I found out that matlab supports parallel computing.
Is there a way to apply it for your sollution? That would be really great, because my original table has like 90k lines..
Cris LaPierre
Cris LaPierre le 25 Juil 2020
I'm not familiar with the requirements of parallel computing. Generally, if the process can be split into pieces without affecting the results (results of each piece are independent of the results of the other pieces), then it technically should be able to be parallelized. If you look at the product requirements for text analytics, you can see that the Parallel Computing Toolbox is recommended, suggesting that it is supported.
Do you have access to the Parallel Computing toolbox? Simplest would be to test. Note that there is an initial load time as the parallel workers start up (~30 seconds?). Test with and without parallelization. You may find it quicker to process the text without it..

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Toolbox Distribution dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by