Как стать автором
Обновить
30.03

Поисковые технологии *

От AltaVista до Яндекса

Сначала показывать
Порог рейтинга
Уровень сложности

Поиск по коду — это сложно

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.8K

Функциональность поиска на Val Town не очень впечатляет. Сейчас в её основе лежит механизм ILIKE Postgres, работающий на основе алгоритма поиска подстроки: если искомое выражение в коде есть, оно выводится в результатах. Этот процесс не включает никакого ранжирования, и очень слабо поддерживает запросы из нескольких слов. Более эффективный поиск является одной из самых желанных для нас возможностей.
Читать дальше →
Всего голосов 26: ↑31 и ↓-5+36
Комментарии3

Новости

Яндекс запустил Нейро. Рассказываем, как он работает

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров42K

Сегодня мы запустили новый сервис Нейро — новый способ поиска ответов на вопросы. Пользователь может задать Нейро любой вопрос, а тот сам подберёт подходящие материалы в Поиске, проанализирует их и соберёт найденную информацию в одном ответе, подкрепив его ссылками на источники. Нейро объединил опыт Яндекса в создании поисковых технологий и больших языковых моделей. 

Меня зовут Андрей Сюткин, и я отвечаю за ML-трек в Нейро. В этой статье покажу, как выглядит архитектура Нейро и как формируются ответы на технологическом уровне. Ну и, конечно же, поговорим о нейросетях, в том числе о YandexGPT 3, без обучения которых новый сервис просто не увидел бы свет.

Читать далее
Всего голосов 88: ↑87.5 и ↓0.5+87
Комментарии139

Как я чтение всего контента на RSS переводил

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров5.6K

TL;DR В статье рассказывается о том, как мне удалось перевести чтение лент в ВКонтакте**, Telegram, Facebook*, Instagram**, Reddit и почтовых рассылок в единый сервис InoReader. Причем почти без написания своих велосипедов.

Подписаться на RSS
Всего голосов 41: ↑40.5 и ↓0.5+40
Комментарии32

Поисковый движок в 80 строках Python

Время на прочтение11 мин
Количество просмотров11K

В сентябре я устроился на должность поискового дата-саентиста и с тех пор часть моих обязанностей заключается в работе с Solr — опенсорсным поисковым движком на основе Lucene. Я знал основы работы поискового движка, но мне хотелось понять его ещё лучше. Поэтому я закатал рукава и решил создать его с нуля.

Давайте поговорим о целях. Слышали когда-нибудь о «кризисе сложности обнаружения маленьких веб-сайтов»? Проблема в том. что маленькие веб-сайты наподобие моего невозможно найти при помощи Google или любого другого поискового движка. Какова же моя миссия? Сделать эти крошечные веб-сайты снова великими. Я верю в возвращение славы этих малышей вдали от SEO-безумия Google.

В этом посте я подробно расскажу о процессе создания поискового движка с нуля на Python. Как обычно, весь написанный мной код можно найти в моём GitHub (репозиторий microsearch). Эта реализация не будет притворяться готовым к продакшену поисковым движком, это лишь полезный пример, демонстрирующий внутреннюю работу поискового движка.

Кроме того, мне стоит признаться, что в заголовке поста я слегка преувеличил. Да, поисковый движок действительно реализован примерно в 80 строках Python, но я ещё и писал вспомогательный код (краулер данных, API, HTML-шаблоны и так далее), из-за которого весь проект становится немного больше. Однако я считаю, что интересная часть проекта находится в поисковом движке, который состоит из менее чем 80 строк.

P.S. Написав этот пост и microsearch, я осознал, что пару лет назад нечто похожее написал Барт де Гёде. Моя реализация очень похожа на работу Барта, но я считаю что кое-что улучшил, в частности: (1) мой краулер асинхронный, что сильно ускоряет работу, (2) я реализовал пользовательский интерфейс, позволяющий взаимодействовать с поисковым движком.

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии4

«Душа молчит, хоть слышит всё вокруг»: как мы отучаем генеративные модели галлюцинировать

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров8K

Вот так когда-то отвечала языковая модель, когда её просили привести пример стихотворения Бальмонта. Стихотворение с таким названием действительно есть, но начинается оно совсем не так. 

К сожалению, генеративные модели могут галлюцинировать и выдумывать ответ. С таким мы боремся с помощью внешней информации.

Мы, Александр Кайгородов и Светлана Маргасова, обучаем генеративные модели в Яндексе. В этой статье мы расскажем, как заставить генеративные модели перестать придумывать несуществующие факты и как научиться находить эти ошибки, если они всё же случаются. Вы узнаете о том, как использовать внешнюю информацию, опираясь на которую мы можем выполнять как обусловленную генерацию (Retrieval Augmented Generation), так и фактологическую оценку имеющихся генераций (Fact-Check). 

Читать далее
Всего голосов 28: ↑28 и ↓0+28
Комментарии33

Мой первый прототип поискового движка

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.1K

Я реализовал первый прототип собственного механизма поиска, который сокращённо назвал PSE (Personal Search Engine). Создал я его с помощью трёх скриптов Bash, возложив всю основную работу на sqlite3, wget и PageFind.

Браузер Firefox вместе с Newsboat сохраняют полезную информацию в базах данных SQLite. В moz_places.sqlite содержатся все посещённые URL-адреса и адреса закладок (то есть moz_bookmarks.sqlite базы данных SQLite). У меня получилось около 2000 закладок. Это меньше, чем я предполагал, так как многие оказались нерабочими из-за битых ссылок.

Нерабочие URL-адреса страниц сильно замедляют процесс сбора, так как wget приходится ожидать истечения различных таймаутов (например, DNS, ответа сервера, время скачивания). URL-адреса из «истории» составили бы интересную коллекцию для сбора, но тут не обойтись без списка исключений (например, нет смысла сохранять запросы к поисковым системам, веб-почте, онлайн-магазинам). Изучение этого вопроса я отложу до следующего прототипа.
Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии26

Производительность базового поиска в Ozon как культурный феномен

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров22K

В этой статье я расскажу вам о том, как мы в Ozon оптимизируем базовый поиск: как у нас выстроены процессы, как найти бутылочное горлышко, конкретные рекомендации по написанию горячего кода, реальные примеры значимых оптимизаций и что делать, когда все низко висящие фрукты уже сорваны, а хочется ещё.

Читать далее
Всего голосов 81: ↑76 и ↓5+71
Комментарии87

Вас забанила нейросеть: как новый алгоритм Яндекса постепенно выкидывает из поиска региональные СМИ

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров45K

Пару недель назад я совершенно случайно обнаружил в Яндекс Вебмастере плашку о фатальной ошибке. Там было написано, что мой сайт может угрожать безопасности пользователя, или на нём были обнаружены нарушения правил поисковой системы. Других ошибок не было: индекс качества даже немного подрос.

Удивительно было, что этот сайт — известное в регионе СМИ, и вопросов к нему со стороны Яндекса не было все восемь лет его существования. Потому что мы и на самом деле нарушениями правил поисковиков не занимаемся. Но сначала я, конечно, подумал, что проблема в нас самих — где‑то спрятался баг или, того хуже, взломали. Однако всё оказалось куда интереснее.

Дело оказалось в новом алгоритме Яндекса, который теперь буквально запрещает писать новости. В нашей области он уже забанил примерно треть независимых региональных СМИ. Причём под удар, на удивление, попали одни из самых качественных. Поэтому я считаю, что проблема здесь не столько в сайтах, сколько в самом алгоритме, создатели которого придумали хорошую идею по борьбе за уникальность контента, но не до конца её протестировали. Почему я пришёл к такому выводу и что конкретно с алгоритмом не так, я здесь и расскажу.

На КПДВ: «Региональный журналист пишет новость» глазами другой нейросети Яндекса — «Шедеврум».

Читать далее
Всего голосов 264: ↑258 и ↓6+252
Комментарии304

Как мы запустили автобиддер для управления рекламными кампаниями в Ozon?

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4.3K

Привет! Меня зовут Артём, я руковожу командой эффективности рекламы в Ozon. Наша задача состоит не только в том, чтобы реклама приносила деньги компании, заказы рекламодателям и была релевантной для пользователей, но и в том, чтобы сделать запуск рекламных кампаний удобным и эффективным для рекламодателей. 

В статье я расскажу о том:

как мы пришли к идее автоматического управления ставками в рекламных кампаниях на платформе;

какие алгоритмы оптимизации и машинного обучения нам помогли;

как построена архитектура автобиддера;

как выкатить новый продукт в прод и измерять эффективность.

Читать далее
Всего голосов 40: ↑38 и ↓2+36
Комментарии6

Неограниченный доступ к знаниям: библиотека Стандартных Шаблонных Конструкций

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров21K

Есть много причин почему доступ научным статьям и книгам должен быть свободным:

Во-первых, это прекрасно

Во-вторых...
Всего голосов 54: ↑54 и ↓0+54
Комментарии9

YandexGPT 2 — большое обновление языковой модели Яндекса

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров51K
Сегодня на конференции Practical ML Conf была представлена новая версия нашей большой языковой модели YandexGPT 2. Она уже работает в навыке Алисы «Давай придумаем», где помогает структурировать информацию, генерировать идеи, писать тексты и многое другое. Новая модель отвечает лучше старой в 67% случаев, а в некоторых сценариях побеждает с ещё бо́льшим перевесом. Этого результата мы добились благодаря улучшениям на каждом этапе обучения модели, но ключевое изменение — новый pretrain.

Коротко расскажу о том, что изменилось в процессе обучения модели, в каких сценариях это принесло наибольший эффект и чем мы планируем заниматься дальше.



Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Комментарии88

YandexGPT тоже провалил тест на ручник

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров41K

Поскольку ChatGPT последних версий недосягаем для честной российской белошвейки, все мы возлагаем огромные надежды на отечественного производителя.

[ Пятница ]
Всего голосов 127: ↑98 и ↓29+69
Комментарии77

Основы полнотекстового поиска в ElasticSearch. Часть вторая

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров12K

Это вторая статья из цикла. В первой части я рассказывал про самые базовые понятия Elasticsearch. В этом же посте разберем устройство анализа текста и немного пощупаем полнотекстовый поиск.

Несколько слов про анализ текста

Анализ текста — процесс преобразования оригинального текста в структурированный формат, оптимизированный под эффективное хранение и быстрый поиск.

Мы уже познакомились с некоторыми типами Elasticsearch, но в этом разделе будем рассматривать только два — keyword и text. Тип text анализируется для полнотекстового поиска. Тип keyword преимущественно остается без изменений для точного поиска, сортировки и агрегации.

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии0

Ближайшие события

Почему нельзя доверять Google

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров65K


В 2005 году компания Google решила вступить в конкуренцию с ICQ, MSN и Skype — и выпустила мессенджер Google Talk (Gchat) на открытом протоколе XMPP с распределённой архитектурой. Казалось бы, замечательно: Google продвигает открытый свободный протокол! Как бы не так.

Google не уважала спецификации, не поддерживала все функции XMPP. В итоге разработка открытого стандарта затормозилась, чтобы адаптироваться к действиям Google. Классные новые функции (например, аватарки) никто не использовал, потому что их не поддерживал Google Talk. Разработчики XMPP стали выполнять роль сисадминов для серверов Google.

Финал немного предсказуем: в 2013 году Google решила закрыть Gtalk/XMPP и забыть о нём, что практически остановило развитие XMPP на долгие годы. Сообщество до сих пор не восстановилось от того удара. Это пример вреда, который Google/Meta*/Microsoft наносят IT-индустрии. И так у них во всём… Главное — собственные интересы, на остальных наплевать.
Читать дальше →
Всего голосов 192: ↑167 и ↓25+142
Комментарии274

Маленький поисковик, который не смог

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров28K
Пара бывших сотрудников Google решила создать поисковый движок будущего. Они собрали нечто более быстрое, простое и без рекламы. Почему же так вышло, что большинство людей ничего не слышало о Neeva?


Сридхар Рамасвами ушёл из Google не для того, чтобы создать другой поисковый движок. По крайней мере, изначально. В завершение своей 15-летней карьеры в Google Рамасвами управлял целым рекламным отделом компании, руководя более чем десятью тысячами людей, и лучше других знал, какой объём работы необходим, чтобы реализовать поиск правильно.

Нельзя переоценить степень доминирования Google в мире поиска. По данным большинства исследований, Google владеет примерно девяноста процентами мирового рынка поисковиков, и это число стабильно росло в течение двадцати лет. Google — поисковый движок, используемый по умолчанию почти в каждом браузере, почти на каждом устройстве. Мы не выполняем поиск в Интернете, мы гуглим. Вторым и третьим в списке идут Bing и Yahoo, но когда вы в последний раз искали что-нибудь в Bing или Yahoo? Для поддержания своего доминирования Google тратит огромные политические, инженерные и финансовые капиталы.

Но больше остальных Рамасвами знал и то, что Google не может или не хочет сделать со своим движком. Имея миллиарды пользователей и сотни миллиардов долларов, Google не будет рисковать, исследуя существенные изменения в своей странице результатов, новые бизнес-модели или любые продукты, которые заставят пользователей меньше заниматься поиском (Рамасвами тестировал функцию Google Contributor, позволявшую людям платить за отсутствие рекламы на некоторых сайтах, но система не взлетела). Возникла возможность, которой Google просто не могла и не хотела бы пользоваться. Поэтому когда Рамасвами ушёл из компании в 2018 году, они с Вивеком Рагхунатаном (давним руководителем высшего звена Google и YouTube) основали компанию Neeva для создания поискового движка будущего.
Читать дальше →
Всего голосов 77: ↑71 и ↓6+65
Комментарии68

Зализняк: основа русской прикладной лингвистики

Время на прочтение8 мин
Количество просмотров8.7K

При построении прикладных систем, работающих с текстами, первая же задача — это отождествление слов друг с другом. Для большинства языков индо-европейской группы её решение не представляет большой сложности. И решений этих существуют сотни, а самые простые из них, как правило, дают вполне пригодные (в рамках решаемой задачи) результаты.

Английский, с его весьма условным делением на части речи и практически отсутствующим склонением/спряжением, вполне прилично описывается простыми моделями выделения неизменяемой основы слова (стеммерами) с небольшим словариком исключений буквально на сотню слов. Слова немецкого прекрасно бьются на части по формальным признакам, словарю корней и принципу «максимума суммы квадратов длин». Системы окончаний других европейских языков также достаточно просты.

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

Для решения задачи отождествления разных форм существует некоторое количество реализаций морфологических анализаторов русского. Но почти все они — во всяком случае, заслуживающие внимания — растут из одного корня...

(По материалам внутреннего семинара компании МойОфис)

Читать далее
Всего голосов 105: ↑102 и ↓3+99
Комментарии43

YandexGPT в Алисе: как мы создаём языковую модель нового поколения

Время на прочтение7 мин
Количество просмотров42K
Обучение больших языковых моделей — это одно из самых актуальных направлений в машинном обучении. Крупнейшие IT-компании бьются над созданием всё более совершенных моделей. В том числе и Яндекс: мы создаём и применяем в наших сервисах нейросети YaLM уже больше двух лет.

В этом году улучшение моделей стало приоритетным на уровне всей компании. Внутри эта работа известна как проект «Генезис» или YaLM 2.0. Её результатом стал большой скачок в качестве наших моделей.

Новая модель получила название YandexGPT (YaGPT), вы могли впервые попробовать её в Алисе по запросу «Давай придумаем» чуть больше двух недель назад. Сегодня мы обновили YaGPT: Алиса научилась писать ответы с учётом истории предыдущих сообщений. В честь этого хотим рассказать Хабру историю всего проекта. Уже в ближайшее время новая модель станет частью и других сервисов Яндекса.



Читать дальше →
Всего голосов 67: ↑64 и ↓3+61
Комментарии82

Neeva, «платный» конкурент Google, закрывает свой поисковик. Почему?

Время на прочтение6 мин
Количество просмотров13K


Два года назад я писал о потенциальном новом поисковике, дерзнувшем бросить вызов гигантам — Google и Bing. С упором на приватность данных и (шок!) платным поиском. Который жил бы не за счет продажи данных пользователей рекламодателям. Со слоганом «Вы — не продукт». Так вот, вчера он объявил о своем закрытии. По крайней мере, в качестве поисковой системы. Ставка на то, что некоторые пользователи готовы платить за безопасность своих данных, не оправдалась. Людей, не пожелавших быть продуктами, оказалось немного.

Читать дальше →
Всего голосов 43: ↑42 и ↓1+41
Комментарии66

Бесплатные фронтенды к ChatGPT

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров43K


Специалист без доступа к ChatGPT сегодня сродни бухгалтеру XX века без компьютера. Конечно, он может работать, но не так эффективно.

Ещё немного, и владение ChatGPT станет почти обязательным требованием квалифицированного сотрудника по многим специальностям. Поэтому печально, что разработчики OpenAI ограничили тестирование инструмента только пользователями с зарубежными SIM-картами. В этой ситуации у нас три выхода:

  1. Съездить в соседнюю страну и приобрести SIM-карту (например, в Польше она стоит 5 злотых у оператора Play24, без абонентской платы, и многократно пригодится в будущем, так что это полезная инвестиция).
  2. Купить «одноразовую» виртуальную симку на одном из полулегальных сервисов, чтобы получить SMS (без гарантии, потому что эту симку тысячи раз перепродают).
  3. Воспользоваться сторонним фронтендом, который даёт доступ к ChatGPT из России без VPN и СМС.

На третьем пункте и остановимся. Любопытно, что созданием таких фронтендов занялись в основном русскоязычные разработчики, потому что на западе у всех есть доступ к оригиналу, а вот в РФ это проблема. Статья о регистрации ChatGPT на левую симку стала самой популярной на Хабре за последние несколько лет, если не подводит память (1,2 млн просмотров).
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии46

Конец эры поисковиков? ChatGPT заменит Google?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.6K

Google и любой другой поисковик — это инструмент, благодаря которому вы наткнулись на эту статью. Возможно, вы искали информацию по ключевым словам «ChatGPT» или «OpenAI». Возможно, статья появилась в рекомендованных, потому что вы в последнее время много искали про ИИ и нейросети. Как бы то ни было, теперь вы здесь, и это благодаря поисковику.

За более чем два десятилетия Google стал королём поисковиков. Google коренным образом изменил Интернет и способ доступа к информации. Сегодня на его долю приходится 9 из 10 поисковых запросов в Интернете, и он используется по умолчанию практически на любом устройстве с доступом в Интернет в большинстве стран мира. Исключение разве что Baidu — самая популярная поисковая система в Китае, где Google запрещён.

Нужно перевести текст с английского? Словарь не требуется; Гугл в помощь! Хотите узнать, с кем встречается Киану Ривз? Спросите у Гугла! Где лучшие рестораны поблизости? В Гугле найдёте инфу. Ищете новые наушники? Просто “погуглите”. Превосходство Гугл привело к тому, что он превратился из простого поискового робота в глагол; всезнающая сущность сама по себе.

Прогнозы о его свержении и скорой смерти делались регулярно, а Google лишь становился сильнее. Но когда с ноября 2022 года начали постоянно появляться новости про ChatGPT от OpenAI, что-то изменилось. Эксперты снова начали задаваться вопросом: «это конец Google?»
Читать дальше →
Всего голосов 50: ↑44 и ↓6+38
Комментарии39
1
23 ...

Вклад авторов