Существуют ли уже готовые и достаточно быстрые реализации сравнения слов в VBA?
Суть задачи:
Есть огромные тексты по несколько тысяч слов, необходимо найти тавтологии и как-то выделить их. Сравнение одинаковых слов частично решает задачу, но помимо того нужно найти однокоренные слова. При том, реализуется все на чрезвычайно тормозном VBA, соответственно сравнение должно быть быстрым.
Также слышал, что к офису можно прикрутить программы, написанные в Visual studio, возможно на одном из поддерживаемых им языков есть что-то готовое.
В русском языке есть слова с 2-мя: приставками, корнями, суффиксами и даже окончаниями. Без словаря не обойтись. Чтобы не углубляться в нетривиальную задачу я реализовал алгоритм Стеммер Портера для выделения основы слов.
ЗЫ: По вопросу реализации не тормозного VBA - советы есть у меня в профиле.
Дѣаволъ: спасибо, советы и вправду дельные. Некоторые я уже использовал давно (выгрузка данных в массивы и работа с ними), а о некоторых и не подозревал (не подумал бы, что select тормозит работу скрипта). Стемминг текста - отличная мысль, однако готовых реализаций для русского языка на vba я так и не нашел, а задачу в целом отложил, ибо не срочная она. По этой причине, скорее всего буду пользоваться методом al_gon, ибо если открывать VS, его метод все-таки универсальнее.
al_gon, Дѣаволъ
В общем попробовал Стеммер Портера, показал он себя слабо, ибо не всегда хорошо извлекал корень.
Хорошо себя показало сравнение по расстоянию Левенштейна. Работает достаточно быстро, что бы оставить все на VBA. При этом композиция обоих методов может дать еще лучшие результаты, если кому потребуется. Спасибо за ответы.