>В ближайшем будущем мы планируем добавить в beegoo.ru знания о детской одежде и обуви. После этого должен получиться интересный для родителей ресурс, который может занять место постоянного инструмента для поиска товаров для своего малыша.
Лучше в ближайшее время добавьте поиск по городам! А так выходит ресурс интересен будет только жителям Ё-бурга.
В статье, действительно, забыл об этом сказать. На первых порах мы сознательно заузили аудиторию географией. Это было сделано вот для чего:
— чтобы иметь возможность не очень болезненно для аудитории круто что-то менять. При больших аудиториях велик риск потерь части этой аудитории при таких изменениях
— Нам на первых этапах развития проекта нужно установить как можно более теплые отношения с интернете магазинами. Понять чем они дышат, каковы рекламные бюджеты и вообще что они думают про нашу идею, сервис, бизнес модель и т.д. Этот обмен информацией чаще всего происходит при личных встречах. Так как мы сами живем в Екатеринбурге, то на первых порах дешевле работать с местными магазинами.
Ну а расширение — это наши ближайшие планы. Параллельно с наращиванием товарных ниш проводить географическую экспансию.
я сделаю очевидным абсурность вашего высказывания:
— идея хорошая, осталось сделать полноценный искусственный интеллект
— идея хорошая, осталось до конца года построить электростанцию на холодном ядерном синтезе
— идея хорошая, осталось немножко повернуть магнитное поле земли
Отвечу здесь сразу на все комментарии, описывающие проблему неадекватности некоторой части результатов запросов.
Проблема есть. У нас разработан некоторый язык описания знаний предметной области и движок, интерпретирующий страницы и запросы в соответствии с этим описанием. Вопрос улучшения качества поиска напрямую связан с развитием самого языка и описания. Все найденные «выбросы» поиска мы обязательно анализируем после каждого сканирования магазинов и процесс постепенного улучшения описания и движка не останавливается. Правда, иногда не так быстро как хотелось бы в связи с тем, что мы находимся в условиях стартапа и сталкиваемся с постоянным дефицитом ресурсов.
> Допустим, что продавец интернет магазина на своем сайте написал “Машинка Lego Duplo”. Очевидно, что по запросам “Игрушка для мальчика”, “Конструктор” и т.д. я этот документ не найду в поисковиках, которые я упоминал выше.
Современные поисковики типа Google не имеют такой проблемы. По запросу «кипящая вода» Google найдет заодно «горячая вода» и пр. (http://habrahabr.ru/blogs/google/95833/)
Кстати, да) Первое что пришло в голову. Но различия есть.
Как я понимаю, в Директ каждый магазин подружает свой собственный xml-прайс (или в каком-то там другом формате), а Beego сканит магазины сам. То есть, он более универсальный в данном вопросе.
Отвечу на этот комментарий и заодно на еще один чуть выше от Alexx_ps
Отличие Beegoo.ru от Яндекс.Маркет не в умении систематизировать информацию и организовывать релевантный поиск (по этому критерию Яндекс имеет существенную фору перед нами). Основное отличие — это в подходе формирования информационной базы.
В Яндекс.Маркет попадают предложения только от тех интернет-магазинов, которые готовы платить за переходы. Если продавец не заплатил — в Яндекс.Маркет он не попал.
Beegoo.ru сканирует те магазины, которые интересны с точки зрения контента. То есть при наборе объема информационной базы нет такого входного порога — как согласие от продавца платить. Мы сами выбираем магазины и сканируем их «полки».
То есть мы претендуем на то, что у нас в итоге должна получиться более интересная для покупателя база.
Тут, наверное, уместен такой гипотетический пример. Представьте себе, если бы в Google попадали страницы только тех сайтов, которые бы платили Google. Какой бы поисковик мы с вами имели? И захотели бы мы пользоваться этим инструментом?
Магазин, который покупает рекламу, с точки зрения покупателя, вероятно, будет выглядеть более привлекательным, чем магазин, не тратящий (или не имеющий возможности тратить) денег на рекламу.
Может он уже вообще загнулся (этот второй магазин), а сайт все еще висит… а Вы его в поиск :)
я просто имел в виду, что обычно под семантическим поиском понимают выуживание информации, основанной на смысле из обычного текста. Данный же сайт использует наоборот предопределённые знания о предметной области для «обёртки» имеющейся информации.
Что у меня в голове отложилось, когда я изучал вопросы анализа связных текстов, так это то, что информацию из текста можно получить только тогда, когда ИИ обладает как раз предопределенной базой знаний о предметной области. Только так можно справиться с омонимией и получить действительно «смысл» текста, а не просто неоднозначное дерево разбора предложения.
Хотя я особо глубоко и не копался. Может ошибаюсь…
в общем-то вы правы, онтология без терминов на самом деле не может существовать. и действительно, сервис представляет из себя решение одной из задач СИИ — ситематизации. что действительно было бы интересно — это алгоритмы сборки данных (хотя вряд ли нам дадут даже их краткое описание ;) ), а то узость предметной области даёт предположить, что они могут быть либо ручными, либо очень примитивными :)
Я добавлю, что в 2000 году уже продавались специализированные семантические базы — что-то вроде дерева, где вверху понятие «бог», а внизу «квант». Области были коммерческие и англоязычные — торговля, строительство. Полагаю, сейчас уже такие технологии доступны.
NLP это всего лишь часть семантического веба (одна из самых сложных, кстати), которая вовсе не обязательно должна присутствовать, чтобы назвать что-то семантическим :)
А в каком виде все это хранится? Используете какие-нибудь triple-store? Или все в таблицах?
И как запросы к базам выполняются? SPARQL? SQL? Свой язык запросов?
Данные по предложениям товаров хранятся преимущественно в файлах. Для индексов и некоторых данных сайчас используется PostgreSQL. Есть планы миграции в БД типа «ключ-значение», вроде redis. Займемся переходом, когда нагрузка вырастет до «промышленных» значений. Пока что текущей архитектуры хватает.
Запросы пользователей сейчас в конечном счете преобразуются в SQL, который выполняется над PostgreSQL.
а почему решили именно так делать? все равное же по сути создаете объекты из индексированных постов.
ну и да, как показывает практика, такие переходы это ойойой как тяжело :)
Основной мотив — не тратить много времени на стадии прототипа. На этой стадии ведь главное идею проверить; подправить (возможно кардинально) реализацию, если что; инвестору показать «крутящиеся шестеренки», обеспечивающие прохождение всего сценария от начала до конца.
А вот когда случится переход от этой стадии к другой, тут мы сядем и, видимо, напишем заново эту часть с учетом полученного опыта. Ну и скорее всего это будет делаться уже на деньги найденного инвестора и под понятные коммерческие перспективы.
> Мы объединили возможности традиционного индексирования “по словам” со знаниями о той предметной области, к которой относится информация.
а можно подробнее? вручную обучали?
Да, вручную. Аналитик садится и фиксирует описание области на разработанном для Beegoo языке.
Затем интерпретатор использует это описание при индексировании товарных предложений и парсинге запроса пользователя.
Да, думали. Но скорее как дополнение к «ручному» описанию, нежели его полной замене.
Например, после обработки большого статистически значимого объема информации можно будет автоматом делать вывод о наличии определённых, но еще не прописанных в описании, связей между существующими понятиями предметной области.
Чтобы понять сложность задачи, нужно вспомнить, что товарные предложения в разных магазинах описываются очень по-разному — где полно, где-то одной фразой.
Любой из тех, которые WolframAlpha уже умеет обрабатывать?
Или из тех, который был приведен в Нигмовской (well, написанной в соучастии с кем-то из разработчиков Нигмы) книжке по кластеризации данных?
Вот вчера тоже подумал, почему более точный поисковик никто не придумает. И вот первые попытки.
Удачи!
p.s. Измените бегунок, который убирает ранее введенные критерии поиска, уж очень он похож, на «привет от paint».
Видела проект еще с полгода назад.
Идея понятная. Но частенько, если кликнуть по одному тегу из каждого набора поиск вернет ничего. То есть ничего не найдёт.
Ну и моему младенцу от 1 до 2 лет предлагают прорезыватели, мобиль и развивающий коврик. Нерелевантно, короче.
Beegoo.ru — новые подходы к поиску информации