Как удалить неанглийские слова с помощью RapidMiner

Я выполняю интеллектуальный анализ текста в RapidMiner. Я просматриваю веб-сайт и выполняю некоторые задачи предварительной обработки, такие как токенизация, перевод в нижний регистр и фильтрация английских стоп-слов; но все же я получаю некоторые бессмысленные слова, такие как «xckxzaz», «xkaffqoxzomd» или кодовые слова JavaScript, такие как «wpcf». У меня вопрос, есть ли способ в RapidMiner избавиться от этих слов? Мне сказали, что одним из решений является создание словаря стоп-слов, но это означает, что мне придется создать целый словарь английского языка, который выглядит не так оптимально. Любая подсказка будет высоко оценена!


person Ramiro    schedule 31.07.2014    source источник


Ответы (1)


Вы можете использовать оператор Filter Tokens для поиска определенных бессмысленных слов и установить флаг Invert Condition. Это может быть утомительно, если список длинный, поскольку вам понадобится сложное регулярное выражение или несколько операторов для «корпуса чепухи». Он также не был бы устойчив к новым бессмысленным словам.

Если вы заранее знаете, какие английские слова вам нужны, вы можете использовать ввод списка слов для оператора Process Documents. Это удалит все слова, которых нет в списке, но пропустит новые слова, которые никогда не встречались, но которые вы, возможно, захотите сохранить. Вы можете сгенерировать список слов, используя вывод оператора Process Documents.

Оператор Filter Stopwords (Dictionary) удалит стоп-слова, содержащиеся в файле, так что «все, что вам нужно сделать», — это создать бессмысленный корпус.

Это зависит от вашей проблемы, но я бы использовал исходный список слов, сохраненный в виде файла (используйте операторы WordList to Data и Write CSV), который я бы отредактировал вручную, чтобы составить список бессмысленных слов, которые я затем использовал бы в качестве словаря для фильтрация стоп-слов.

Это сложная проблема, потому что суть вопроса заключается в том, чтобы решить, является ли ранее невиданное произведение чепухой или это английский язык. Это LOL английский или бред например?

person Andrew Chisholm    schedule 31.07.2014