В этом примере показано, как создать функцию очистки и предварительной обработки текстовых данных для анализа.
Текстовые данные могут быть большими и содержать много шума, что негативно влияет на статистический анализ. Например, текстовые данные могут содержать следующее:
Вариации в случае, например «новый» и «новый»
Вариации в словоформах, например «ходить» и «ходить»
Слова, которые добавляют шум, например «стоп-слова», такие как «the» и «of»
Знаки препинания и специальные символы
Теги HTML и XML
Эти облака слов иллюстрируют анализ частоты слов, применяемый к некоторым необработанным текстовым данным из отчетов о погоде, и предварительно обработанную версию тех же текстовых данных.

Может быть полезно создать функцию предварительной обработки, чтобы можно было подготовить различные коллекции текстовых данных одним и тем же способом. Например, при обучении модели можно использовать функцию, позволяющую предварительно обрабатывать новые данные, используя те же шаги, что и данные обучения.
Функция preprocessTextData, перечисленное в конце примера, выполняет следующие шаги:
Маркировка текста с помощью tokenizedDocument.
Лемматизировать слова с помощью normalizeWords.
Стереть пунктуацию с помощью erasePunctuation.
Удалите список стоп-слов (например, «and», «of» и «the»), используя removeStopWords.
Удаление слов, содержащих не более 2 символов removeShortWords.
Удаление слов с 15 или более символами с помощью removeLongWords.
Для использования функции просто введите текстовые данные в preprocessTextData.
textData = [
"A large tree is downed and blocking traffic outside Apple Hill."
"There is lots of damage to many car windshields in the parking lot."];
documents = preprocessTextData(textData)documents =
2x1 tokenizedDocument:
8 tokens: large tree down block traffic outside apple hill
7 tokens: lot damage many car windshield parking lot
function documents = preprocessTextData(textData) % Tokenize the text. documents = tokenizedDocument(textData); % Lemmatize the words. To improve lemmatization, first use % addPartOfSpeechDetails. documents = addPartOfSpeechDetails(documents); documents = normalizeWords(documents,'Style','lemma'); % Erase punctuation. documents = erasePunctuation(documents); % Remove a list of stop words. documents = removeStopWords(documents); % Remove words with 2 or fewer characters, and words with 15 or more % characters. documents = removeShortWords(documents,2); documents = removeLongWords(documents,15); end
Пример более подробного рабочего процесса см. в разделе Подготовка текстовых данных к анализу.
Для выполнения следующих шагов в текстовой аналитике можно попробовать создать классификационную модель или проанализировать данные с помощью тематических моделей. Примеры см. в разделе Создание простой текстовой модели для классификации и анализа текстовых данных с использованием тематических моделей.
addPartOfSpeechDetails | erasePunctuation | normalizeWords | removeLongWords | removeShortWords | removeStopWords | tokenizedDocument