Анализатор прайса?

seva2

Партнер PHPClub.ru
Анализатор прайса?

Есть задача анализировать прайс, но есть проблемы:
Модели могут писатся:
Sagem my-x7
sagem myx-7

Если например у меня в базе my-x7 то запись myx-7 пометится как отсутствующая в базе....

Как быть? Если ли системы анализа записей?
 

Parsek

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

Long

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

Bitterman

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

Alexandre

PHPПенсионер
полагаться на машину в таких задачах нельзя - слишком много есть подводных камней
+1
в одной конторе, (аналог Яндекс-Маркета) сидит взвод контент-менеджеров, которые делают анализ позиций прайса, на основе корреляционного анализа ( функция похожести)

Программа выводит "похожие" позиции, основываясь на функции "похожести" (Sagem my-x7 <--> sagem myx-7) переставленны два знака k= 93%.

Далее уже решает человек, к какой позиции соотнести "сомнительные пункты прайса"
 

seva2

Партнер PHPClub.ru
Alexandre значит уже лучше раз и там не все автоматом делается....

Функция похожести самому писать, или есть готовые в пхп?

Кстати если я ищу из прайса записи то fulltext в данном случае не поможет?
 

Alexandre

PHPПенсионер
Функция похожести самому писать, или есть готовые в пхп?
писать самому, и не в пхп а в Мускуле (или др БД)
Есть несколько алгоритмов вычисления похожести...
Юзал функцию похожести metaphone
metaphone реализована в мускуле...
 

Андрейка

Senior pomidor developer
PHP:
var_dump(metaphone('Sagem my-x7'));
var_dump(metaphone('sagem myx-7'));
var_dump(metaphone('sagem myx-8'));
string(6) "SJMMKS"
string(6) "SJMMKS"
string(6) "SJMMKS"

хотя по сути верно - все телефоны этой компашки одинаковое... )
 

gray07

Новичок
после того, как выбрал результат из бд, можно еще пройтись по нему функцией levenshtein, но от того, что привел в пример Андрейка, она не спасет :)
 
Сверху