2009-04-23 2 views
0

Я пытаюсь создать поисковую систему, которая проходит через онлайн-объявления, такие как Oodle, eBay motors и craigslist. У меня также есть большая база данных стандартных названий транспортных средств и их спецификаций. Я хотел бы сделать это для каждой записи, которую я нахожу через классифицированный сайт, иметь возможность точно определить, какая модель автомобиля, стиль (из моей базы данных). Например, стандартное название для грузовика грузовика в моем дне: 2003 Ford F150.Каков наилучший метод интеллектуального анализа данных для поиска автомобиля?

Однако на сайтах, которые могут упоминаться люди, упоминается следующее: «2003 Ford F 150» или «2003 Ford f-150» или «03 Ford truck 150». Есть ли эффективный алгоритм интеллектуального анализа данных/текстовой классификации, чтобы иметь возможность нормализовать эти тексты до стандартного имени выше?

ответ

1

Вы можете использовать Levenshtein distance в соответствии с найденной строкой в ​​отношении записей в базе данных.

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

0

Если вы собираетесь разработать целую поисковую систему, предназначенную для масштабирования как в использовании, так и в размерах, вам понадобится что-то надежное для поддержки ваших запросов.

Если вы собираетесь использовать расстояние редактирования, Bed-trees - хорошая альтернатива для вашей структуры индекса. Другим хорошим подходом, в зависимости от размера вашего набора данных, является использование Levenshtein automata. Автоматы Levenshtein также отлично подходят для обеспечения автозаполнения функций, которые вам могут понадобиться с момента разработки поисковой системы.

Другой подход к редактированию расстояния - использовать n-граммы в сочетании с индексом Jaccard. Для этого подхода вы можете использовать Minhash + LSH. Кроме того, вы можете использовать Jaccard в качестве метрики расстояния (1 - индекс Jaccard), который учитывает неравенство треугольника, таким образом, можно использовать в метрическом дереве, таком как VP-tree.

Один из этих подходов, безусловно, поможет вам.

Смежные вопросы