Пропускать определенные слова при чтении текста из файла с помощью Matlab

Я создал программу Matlab для поиска биграмм слов и их частот в текстовом файле. Для этой цели я создал массив ячеек строк, используя функцию textread:

unigrams = textread('file.txt','%s');

Но я также хочу опустить кучу слов, таких как «к», «тот», «есть», «или» и т. д., а также специальные символы «#», «$», «&» и «%» из моего массива ячеек . Есть ли способ исключить эти слова при чтении слов из необработанного файла.

Спасибо.


person AbbyJ    schedule 29.12.2011    source источник
comment
Есть ли конкретная причина, по которой вы хотели бы сделать это во время чтения слов из файла, а не после? Если нет, см. мой ответ ниже.   -  person Kavka    schedule 29.12.2011
comment
Я рекомендую использовать для этого Python, в частности NLTK.   -  person cyborg    schedule 30.12.2011
comment
@cyborg Я согласен ... Python отлично подходит для обработки строк.   -  person John Colby    schedule 30.12.2011


Ответы (1)


Вы можете использовать setdiff после чтения текста, чтобы удалить ненужные слова:

unigrams = {'I' 'like' 'this' 'or' 'that' 'Here' 'are' 'some' 'symbols' '#' '$' '&'}
setdiff(unigrams, {'the', 'is' 'or' '#' '$' '&'}, 'stable')

unigrams = 
  Columns 1 through 8
    'I'   'like'   'this'   'or'   'that'   'Here'   'are'   'some'
  Columns 9 through 12
    'symbols'   '#'   '$'   '&'
ans = 
    'I'   'like'   'this'   'that'   'Here'   'are'   'some'   'symbols'
person Kavka    schedule 29.12.2011
comment
Я согласен, что есть несколько простых способов сделать это после прочтения. ОП хочет сделать это во время чтения, хотя не уверен, почему... - person John Colby; 29.12.2011
comment
Я верю, что производительность возрастет, если операция будет выполняться после чтения. Это может быть не так, как просил плакат, но будет достигнут тот же эффект, если предположить, что весь файл будет помещаться в память, то есть. - person Zéychin; 30.12.2011
comment
Я уже читаю тысячи файлов, чтобы найти биграммы, что занимает много времени. Поэтому мне просто нужен лучший метод, чтобы исключить эти слова. Способ, предложенный Кавкой, работает отлично. Если есть другой более эффективный метод исключения слов во время, до или после чтения файлов, сообщите мне. @ cyborg Я никогда не использовал Python, если есть лучшие способы сделать эти коды в python, не могли бы вы предложить, с чего мне начать. @все Спасибо за помощь. - person AbbyJ; 30.12.2011