Комментарии 18
Так автоматические выжимки человеком модерируются или нет?
А то про ваши выжимки из отзывов на товары анекдоты ходят... С новостями, вероятно, ситуация получше, но какой-то процент бреда неизбежен, как его отсеять?
Выжимки модерировались примерно в течение месяца после запуска в прод, сейчас уже нет.
Во-первых это дорого. Новости обновляются примерно раз в 3-4 минуты, выжимки перестраиваются примерно с такой же частотой. Каждый раз их переотправлять в Толоку или Янг - это огромный объём разметки, даже если кэшировать вердикты по отдельным предложениям. Плюс real-time разметка всегда сложна: толокерам нужно успевать за условные 1-2 минуты разметить несколько выжимок.
Во-вторых это всё-таки экстрактивная суммаризация из профессиональных источников, в отличие от UGC отзывов, которые могут писать любые люди. Поэтому бреда в наших выжимках на порядки меньше. В статье есть график "плохих" выжимок, так даже среди них явного бреда практически нет.
Погодите. Каким образом тот факт, что отзывы могут писать любые люди, а не профи, делает их разбор сложнее?
Впрочем, я уже осознал реальную разницу: выжимка делается из одной статьи, а не из массы совершенно разных, порой даже противоположных, отзывов, так что для бреда по образу выжимки из отзывов надо, чтобы в статье фигурировало несколько противоположных утверждений (например, цитаты из мнений разных сторон конфликта), алгоритм выхватил именно их и склеил. Понятно, что тут это будет случаться не так часто.
Так что два других вопроса:
А в каких-то источниках есть семантическая разметка, позволяющая не играть в ИИ, а взять выделенный автором фрагмент текста? Если да – это используется?
Есть кнопка, позволяющая быстро указать, что алгоритм ошибся? Или это не имеет смысла, пока человек обработает такой отзыв – новость уйдёт из выдачи?
Погодите. Каким образом тот факт, что отзывы могут писать любые люди, а не профи, делает их разбор сложнее?
Опечатки, оборванные фразы, другая лексика. Появляются проблемы уже на уровне разбиения на предложения.
выжимка делается из одной статьи
Не совсем так, выжимка делается из нескольких статей, но про одно событие.
надо, чтобы в статье фигурировало несколько противоположных утверждений (например, цитаты из мнений разных сторон конфликта), алгоритм выхватил именно их и склеил. Понятно, что тут это будет случаться не так часто.
Всё верно, и такое случалось на моей памяти. Если кластеризация ошиблась, то статьи могут быть про разные события, и в этом случае выжимка может быть не самосогласована. Но это всё ещё редкое явление, много факторов должно сойтись.
А в каких-то источниках есть семантическая разметка, позволяющая не играть в ИИ, а взять выделенный автором фрагмент текста? Если да – это используется?
У некоторых источников есть "description" HTML-тег, в которым лежит аннотация. Но их не очень много, и не все они хорошего качества, поэтому мы их не используем.
Есть кнопка, позволяющая быстро указать, что алгоритм ошибся? Или это не имеет смысла, пока человек обработает такой отзыв – новость уйдёт из выдачи?
Отдельной кнопки нет, и скорее всего не будет. У нас был долгий заход с опросами по качеству разных компонент сервиса, но люди часто тыкают в кнопки, если им не нравится сама новость, и получается очень шумно. Как и с любыми другими ошибками можно написать в поддержку, и это обычно работает.
(к последнему абзацу) Я не имел в виду отправку разработчикам – скорее ручную проверку/правку, если многие помечают резюме как бредовое. Грубо говоря, очередь с приоритетами, нажатие кнопки "резюме не соответствует статье" повышает приоритет, топ 50 из очереди каждый день проверяет модератор.
Концепт красивый, но в варианте быстрой постмодерации действительно есть вот эта проблема:
пока человек обработает такой отзыв – новость уйдёт из выдачи
Плюс не только новость уйдёт, но и сама выжимка может за это время исправиться/испортиться. Короче сложно с модерацией.
Остаются системные изменения алгоритма. Условно, взяли пачку жалоб за месяц; подкрутили гиперпараметры; посмотрели, сколько жалоб исправлено и не сломалось ли в остальных местах. Вот так это сейчас и работает.
Вот мне интересно, каким образом выбирается базовая направленность новостей.
Поясню:
Алиса на вопрос "Расскажи новости ИТ области", считает своим долгам рассказать кто какие игры выпустил или готовит. Остальных новостей заметно меньше. Меня пугает такой расклад в вашей целевой аудитории )))
На самом деле это зависит от того, где читать/слушать новости.
В рубрике "Технологии" на самом сервисе первые 5 новостей являются общими для всех, и среди них не очень много новостей про игры (обычно 1-2 из 5). Выбираются эти 5 новостей на основе кучи факторов, например по количеству документов в сюжете, по количеству просмотров этих документов, по авторитетности источников, и так далее.
А вот ниже уже персональные новости, и то, что показывается там, зависит от истории читателя. В Алисе скорее всего тот же принцип.
1-2 из 5 - это уже 20-40%
Какой из новостных ИТ-ресурсов может "похвастаться" таким перекосом в игры?
Неужели Яндекс?! Проверил: так и есть и даже больше (смайлик ладонь-лицо, ужас и кошмар; я познал реальность)).
А вот с Алисой все вообще непонятно: какая обратная связь от автомобиля? (У меня Алиса прикована к мотору, да))
Видимо и Алиса считает что "новости ИТ-индустрии" - это про игры (а точнее по умолчанию зачитывает первые несколько со страницы яндекса). И побороть это мне пока не удалось.
Фильтруем в кластерах предложения с местоимениями,
А почему бы не прикрутить анафору. На таких объемах тормозить не должно, а выглядеть будет куда читабельнее.
Тут несколько причин.
Основная проблема в том, что фрагменты дайджеста из разных документов. Разрешение анафоры в пределах одного документа скорее всего действительно работало бы неплохо, но как легко связать местоимения из одного документа с сущностями в другом документе с ходу не очень понятно.
Существующие системы для разрешения анафоры работают далеко не идеально (опираюсь на статью DP).
В итоге быстрое и недорогое решение — просто удалить все предложения с анафорическими местоимениями, пусть и чуть-чуть пожертвовав читаемостью.
В 2008 работал в Яндексе. Не мог понять логики поиска на примере слова БЕТХОВЕН: в первой десятке была сплошная реклама корма собак. GOOGLE напротив выдавал про композитора. Прошло время и что я вижу: движки поиска практически выдают в унисон, но корм на первом месте. Money talks?
А есть ли у вас публикации, как вы определяете сюжеты и выделяете группы новостей для суммаризации?
Можно скинуть пару ссылок?
Кое-что есть: https://habr.com/ru/company/yandex/blog/503492/
Про обучение эмбеддингов можно в этой диалоговской дорожке посмотреть: https://arxiv.org/abs/2105.00981
Извлекаем суть новости. Опыт Яндекса