Сопряжение предметов из разных списков - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь соединить объекты с двух разных сайтов. Они не используют универсальные идентификаторы, поэтому мне нужно сделать все вручную.

У одного из них также есть странный способ внутренней идентификации предметов. Я не знаю, как соединить их вместе. Прямо сейчас я попытался использовать то, что кажется, как они оба делят предметы: - Категория (Для использования внутри помещений, Для наружных работ, Бумага, Металл, Ручки, Пищевые продукты ..) - Продукт («Microsoft Widget A», «MS Widget B») - Предмет (10см красного цвета, 200м синего цвета из бумаги ..)

Элементом, например, может быть другой размер одного и того же продукта (1,5 см, 10 см, 100 см) на одном сайте (сайт А), тогда как на другом сайте «разделить» по-другому. Продукт можно разделить на количество / цвет / размер, которые являются элементами. Это значит, что я могу иметь Сайт А: Виджет товара А, красный Элементы: 10 см, 20 см, 100 см Сайт б: Виджет продукта А, Элементы: красный 10см, красный 20см, красный 100см, синий 10см, синий 100см

Еще одна плохая вещь заключается в том, что категории не определяются одинаково, сайт А может сказать «Открытый виджет для воды», в то время как другой имеет «Outoor» и «Widget for water» в подкатегории. Или, что еще хуже, используют разные формулировки.

Прямо сейчас, чтобы попытаться найти решение этой проблемы, я попытался связать основные категории сайта A с сайтом B вручную и рассматривать все элементы подкатегорий как элементы родительской. Это неоптимально, поскольку некоторые категории на сайте B могут быть упорядочены по-разному (например, есть такие подкатегории, как «связанные», которые в основном связаны с другими основными категориями. ) Что касается продуктов, я просто сравниваю все названия элементов с помощью алгоритма Левенштейна и комбинирую продукты с более высоким соотношением. Я использую сайт A, чтобы определить, как группировать товары, но при этом получаю плохой результат: я не группирую все "Widget A" вместе, но вместо этого у меня есть пары для "Widget A, red", "Widget A, blue" и т. Д. .

Кто-нибудь знает, как это улучшить? Прямо сейчас единственные идеи, которые у меня есть:

  • для создания большой строки с названием продукта и основными функциями и снова используйте Левенштейна.
  • используйте сайт B в качестве основного сайта для сравнения.

Я не эксперт по ИИ, но я видел алгоритм, который помогает вам определять объекты, но не тот, который их объединяет. Мне, вероятно, нужно написать что-то, что классифицирует, что является особенностью предмета (красный, 10см). Может быть, использовать название категории, а также (например, сайт A: «Открытый виджет для воды» и сайт B: Категория: «Открытый», продукт: «Виджет для воды»).

1 Ответ

0 голосов
/ 15 января 2019

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

посмотрите, например, на это: Используйте sklearn, чтобы найти строковое сходство между двумя текстами с большой группойдокументы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...