- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Написал я тут свой "гугл" :) и возникла проблема - самая долгая операция, это создание сниппета, тех 2-3 строчек которые показываются в описании ссылки. Вопрос - как их правильно делать, может есть готовые алгоритмы или толково описанный принцип их создания?
Написал я тут свой "гугл"
О! А есть где глянуть?
Пока не стоит, не отлаженная штука, сервер мне уроните. :) Лучше про сниппеты давайте. Как их правильно делать?
гугл берет description для этого дела
Вопросик как реализовывал TF*IDF?
Гугл берёт дескрипшин далеко не всегда. Даже довольно редко.
tf-idf у меня не используется, хотя реализовать без проблем можно. Вопрос остаётся открытым. :)
alexf2000, Сохраняйте контент :) в каком-нибудь сжатом виде, плюс координаты слов к нему...
Нужно разделить весь текст документа на блоки и хранить в индексе для каждого слова координаты всех блоков, где оно встречается. Для более точного поиска кроме номеров документа и блока можно хранить и позицию слова в блоке, как это делается во всех современных полнотекстовых поисковиках - это поможет и при организации поиска со строгим соответствием, и при поиске со смещением, когда нужно найти термы, отстоящие на несколько слов друг от друга.
Вопрос - как их правильно делать, может есть готовые алгоритмы или толково описанный принцип их создания
Здесь две задачи:
1. Выбрать отрывок/ки текста, которые выдавать в качестве сниппета.
2. Выдача этого отрывка.
Первая задача зависит от критерия определения этого куска. Пусть, к примеру, это будет наибольшая плотность/близость слов запроса. Тогда получить критериальные оценки и, следовательно, координаты нужного отрывка можно через координатный индекс. Т.е. текст для этого не нужен.
2. Здесь без текста не обойтись. Нужен конкретный отрывок с известными из (1) координатами. Можно, конечно, разобрать страницу на лету тем же разборщиком, что грузили, но это слишком накладно. Предлагаю хранить текст с проставленными при загрузке координатами (вектор координата-смещение) - это достаточно простое решение.
Или можно преобразовать текст в структуру с быстрым разбором, например, разметить текст. Тогда найти текст с нужными координатами будет несложно.
tf-idf у меня не используется, хотя реализовать без проблем можно. Вопрос остаётся открытым. :)
Как это?! А как же вычисляете вес?
Во, пошла конкретика. :) Как правильно разделять текст на блоки? На данный момент я делаю так - теги br, /p. /div считаются концами блоков, пробовал точку тоже считать концом блока, но тогда www. адреса режутся. Какие ещё способы есть? Как выбрать те 1-2 блока, которые будут показаны?
Во-первых, никаких "сниппетов" не существует :) Оригинальное название этого дела - "цитаты", или "цитаты релевантных фрагментов" :)
Впервые такое дело в промышленном масштабе было реализовано еще в советские годы, в ИнфорЭлектро, группой ныне здравствующего Владимира Пархоменко в рамках системы "Скобки" - так назывался небольшой поисковичок.
Первая "большая" поисковая система, которая это делала - это Апорт, запущенный в 1996 году вашим покорным слугой. И там это тоже называлось "цитатами", а никакими не "сниппетами". Фу, вульгарный жаргон!
Вопрос - как их правильно делать, может есть готовые алгоритмы или толково описанный принцип их создания?
Теперь по реализации.
Я обычно реализую это через т. н. "плоский индекс" - через образы документов, где каждое слово представлено 4-байтным идентификатором. При вычислении запроса с учетом координат слов запоминаю несколько самых релевантных фрагментов, строю битмапу для цитирования и, адресуя этот образ индексами слов, строю цитату. Вхождения, соответственно, все подсвечиваю.
Кстати, использование такого плоского индекса на небольших объемах - не более пары миллионов урлов - может, как ни странно, при переорганизации алгоритма сократить объем обратного индекса.