Замена слов

Представьте себе, что вы редактируете документ в любимом текстовом редакторе. Для поиска и замены слова новым словом вы используете инструмент "найти и заменить". Это очень полезная опция редактора, но она работает только для одного документа. В PolyAnalyst мы работаем со структурированными данными, и таблица данных с одной текстовой колонкой может иметь сотни, если не миллионы, документов, если считать, что каждая строка текстовой колонки и есть отдельный документ. Для того, чтобы вручную открыть и отредактировать каждый документ, потребуется много времени. Даже если это возможно с технической точки зрения, эффективность такой работы будет очень низкой. Можно написать небольшую программу на PERL или любом другом языке, но это не самое изящное решение проблемы, оно по-прежнему требует временных затрат, и к тому же такая программа обычно не применима к другим документам, а пользовательские скрипты сложно настраивать. Для этих целей PolyAnalyst предлагает собственный инструмент поиска и замены слов в тексте.

Узел Замена терминов позволяет пользователям выполнять поиск и замену слов во всех строках текстовой колонки в ходе одной операции. Узел Замена терминов — полезный инструмент предварительной обработки текстовых данных на естественном языке, которые должны быть очищены для того, чтобы их дальнейший анализ и модель, созданная на их основе, были более точными. Часто исследователю приходится работать с текстами, в которых для обозначения одного и того же объекта используются разные слова (например, "машина" и "автомобиль"), либо слово сохраняется в документе некорректно (с неверной орфографией) или одно и то же слово встречается в разном написании (например, в случае орфографических ошибок). Узел Замена терминов позволяет пользователю обработать данные на естественном языке путем исправления орфографических ошибок и/или унификации терминов или целых конструкций.

Как правило, этот узел используется (размещается на скрипте) после загрузки данных и до индексирования и исследования текстовых колонок. Узел Замена терминов принимает на входе таблицу данных, пользователь выбирает текстовую колонку, которую нужно изменить, указывает имя новой колонки, уточняет, нужно ли сохранить исходную колонку в выходной таблице, а также задает набор правил для замены слов в документах. На выходе получаем новую колонку с заданными заменами.

Важно отметить, что выходные данные узла по-прежнему содержат "сырой" текст. Индексирование текста до того, как будет выполнена замена терминов, не представляется целесообразным, если только вы не планируете позже поработать с исходным текстом. Чаще всего индексировать нужно только выходные данные узла Замена терминов, т.е. "очищенный" текст, подготовленный для дальнейшего анализа.

Узел Замена терминов чаще всего используется для подготовки текстовой колонки до того, как эта колонка будет проанализирована узлом текстового анализа. Узел Замена терминов можно использовать для замены (унификации) синонимов: вы можете выбрать одно целевое слово для каждой группы синонимов и заменить все синонимичные слова этим словом. Узел Замена терминов также может удалять слова, находить текстовые шаблоны и заменять их пробелом. Узел Замена терминов может выполнять простую "очистку" различных текстов, например, путем удаления повторяющихся символов, исправляя орфографические ошибки, унифицируя написание даты согласно заданным стандартам, а также расшифровывая аббревиатуры.