Какие мощные инструменты для манипулирования текстом и предварительной обработки в R? - PullRequest
6 голосов
/ 14 ноября 2011

Я часто использую пакет Хэдли stringr для очистки грязных экологических данных (нормализация названий видов, плохо отформатированные этикетки и т. Д.).Недавно я начал изучать sed и awk и поражен тем, насколько мощными эти инструменты, особенно когда имеешь дело с многочисленными файлами данных.

Мои вопросы:

  1. Существуют ли другие мощные пакеты для обработки текста (кроме функций base и функций в stringr), которые были бы полезны для очистки данных?

  2. Можно ли запустить sed Команды / скрипты изнутри R?Если так, то как?Можете привести пример?

  3. Кто-нибудь пытался написать оболочку для sed в виде пакета R.Если нет, то стоит ли заниматься этим (сторонним проектом для себя или для более компетентных программистов)?

1 Ответ

5 голосов
/ 14 ноября 2011

Во-первых, что касается sed и awk, я вообще не нуждался в них, поскольку они особенно старой школы.Я часто пишу регулярные выражения на Perl и достигаю того же, с несколько более легкой читабельностью.Я не хочу обсуждать достоинства реализации, но когда я не пишу такие функции в Perl, я нахожу, что gsub, grep и связанные с ними инструменты регулярных выражений работают достаточно хорошо в R. Обратите внимание, что они могутпринять perl = TRUE в качестве аргумента;Я предпочитаю обработку регулярных выражений в Perl.

Что касается гораздо более серьезных пакетов, пакет tm особенно примечателен.Для получения дополнительной информации о ресурсах обработки естественного языка и интеллектуального анализа текста ознакомьтесь с представлением задач CRAN для NLP .

Кроме того, я думаю, что заголовок вашего вопроса объединяет две концепции.Такие инструменты, как sed & awk, регулярные выражения, токенизация и т. Д., Являются важными элементами в обработке и предварительной обработке текста.Анализ текста является более статистическим и зависит от эффективной предварительной обработки и количественного определения текстовых данных.Хотя это и не упомянуто, два последующих этапа анализа, поиск информации и обработка естественного языка, являются областями исследований и разработки, которые более конкретны в своих целях.Если вы в первую очередь интересуетесь манипулированием текстом, тогда должно хватить различных инструментов для применения регулярных выражений и предварительной обработки / нормализации.Если вы хотите заниматься анализом текста, вам нужно изучить больше статистических функций.Для НЛП тогда потребуются инструменты, которые делают более глубокий анализ.Все доступны изнутри R, но вопрос в том, как далеко вы хотите пройти по этой кроличьей норе?Хотите проглотить красную таблетку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...