Какие практические (и легкие) методы существуют для семантического сопоставления / сопоставления данных? - PullRequest
1 голос
/ 06 июля 2010

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

Мне нужно это для работы на мобильных устройствах (Android), поэтому я рад пожертвовать точностью сопоставления для эффективности и небольшойслед.Я знаю о s-match , но он опирается на вспомогательный словарь объемом 15 МБ, поэтому он не идеален.

Какие другие идеи / подходы / рамки могут помочь в этом?

1 Ответ

1 голос
/ 06 июля 2010

Ваш пример «велосипеды» и «езда на велосипеде» может быть рассмотрен с помощью алгоритма расстояния редактирования Левенштейна, так как эти два слова в некоторой степени связаны.Но ваш пример «мяса» и «еды» действительно потребует значительного вспомогательного словаря, если, конечно, набор понятий или целевая аудитория не ограничены, скажем, гурманами.

Рассматривали ли вы размещение словаря в качестве веб-службы и доступ к данным по мере необходимости?Недостатком, конечно, является то, что ваше приложение будет работать только в зоне покрытия сети.

...