Вызов стеммера Snowball/Porter2 из T-SQL

Я пытаюсь придумать простой способ для аналитиков в моем офисе вызывать стеммер из MSSQL. Он будет использоваться для создания полей примечаний к основам для двух целей:

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

  2. для создания производных версий полей примечаний, на которых можно запускать модели классификации.

Я думаю, что всем было бы легко, если бы я мог создать функцию SQL, которая называется, может быть, StemText, которая брала бы текстовое поле и возвращала его версию. Затем я мог бы создать еще одну функцию, которая вызывала бы указанное имя модели классификации в R (в данном случае в поле заметок на основе).

В настоящее время у нас есть множество данных обучающих наборов (и успешных систем классификации), построенных на основе стеммера Snowball/Porter2. Я видел, что был порт T-SQL стеммера Porter1, но не Porter2. В любом случае, я вижу, что существует ряд пакетов, включающих алгоритм Snowball, таких как SOLR/Lucene и т. д., но я не вижу много информации о том, как вызывать их из T-SQL. Я также вижу, что к пакету R добавлен снежный ком, и есть гораздо больше информации о взаимодействии с R из MSSQL.

У кого-нибудь есть мысли или советы по этому подходу?


person user2027080    schedule 05.12.2014    source источник


Ответы (1)


В итоге я создал функцию CLR, используя SQL-проект Visual Studio, который обернул и дополнил один из официальных портов CSharp стеммера Porter2. Я бегал довольно быстро и был довольно прост в настройке.

person user2027080    schedule 06.12.2014