Summly по-русски

Summly по-русски
Когда мы пишем про Summly, у наших читателей всегда возникает вопрос — когда же появится аналог, позволяющий подобным образом анализировать русскоязычные тексты? Отвечаем: намётки в этом направлении есть. Вот, например, сервис 2Long2Read помечает самые важные куски текста — либо при помощи веб-формы, либо на любом другом сайте при помощи расширения для браузера Chrome.

Мы задали ребятам пару вопросов, на что получили крайне исчерпывающие ответы.

Есть ли другие русскоязычные аналоги?


Ответ зависит от того, что называть русскоязычным, и что называть аналогом.

Если речь о некотором сервисе, позволяющем автоматически подсвечивать главное прямо на странице, то такого, насколько нам известно, нет. Если просто найти на странице текст и выделить в нём главное, то это позволяет плагин tldr. Он выводит во всплывающем окне сокращённый текст, оставив только наиболее важные предложения. Можно выбрать один из пяти вариантов длины текста. Очень хорошее решение, на наш взгляд, но есть несколько спорных моментов.

[caption id="" align="aligncenter" width="1374"] Работа с веб-формой[/caption]

Во-первых, 2long2read подкрашивает главное прямо в тексте, а tldr оставляет часть предложений. Пользователь лишается возможности обратиться к контексту, если ему это всё же понадобится. Мы пробовали оба варианта отображения результатов и пришли к выводу, что контекст неправильно прятать. Надо давать людям возможность осознанно делать выбор, читать «только желтое» или «желтые островки и вокруг них, когда нужно».

Кроме того, когда мы подсвечиваем главное прямо на странице, мы оставляем структуру страницы. Т.е. в статье на «Хабре» текст статьи останется текстом, а объемный комментарий — комментарием. В плагине tldr оба этих куска контента неразличимы при просмотре результатов.

Во-вторых, 2long2read даёт возможность регулировки количества главного в процентах плавной шкалой, а tldr даёт только пять дискретных уровней. Возможность плавной настройки количества выделяемых предложений и перевыделение их на лету перемещением ползунка позволяет лучше подбирать порог «важного/не важного» для текущего текста и для собственного стиля чтения. Я часто пользуюсь нашим плагином так: сначала выделяю совсем немного — 10-15%, затем, если мне захотелось прочесть больше, поднимаю порог до 30% и перехожу к следующему слою текста.

Команда tldr не из России, и работа с русским языком у них, насколько я понимаю, не тестируется. Просто работает что-то «из коробки» вместе с английским.



tldr — наиболее близкий аналог вообще в мире. Если же смотреть на то, что сделано у нас в стране, то уже давно существует десктопное решение Text Analyst от Megaputer Intelligence (такой швейцарский нож для анализа текстов) и некоторые библиотеки (например, было что-то для аннотирования от компании RCO). Первое — инструмент только для аналитиков (приложение, кстати, легендарное в среде тех, кто работает с текстами), а второе и вовсе смогут использовать только разработчики. И то, и другое не получится использовать бесплатно. Разве что скачать старую версию Text Analyst с сильным ограничением на длину текстов. О существовании простого и удобного «one button solution» (кроме нашего и tldr) нам неизвестно.

Сколько у вас человек в команде, кто они, как давно?


Команда состоит из восьми физтехов (студентов МФТИ). Все очень интересные ребята, ещё со школы — олимпиадники по информатике, один человек успешно выступал на международной олимпиаде по лингвистике. Я же полтора года преподаю машинное обучение на Физтехе (у большей части команды я вел семинары).

Первые наработки делались с конца февраля теперь уже прошлого года — тогда нас было ещё четверо. Где-то в марте был макет того, что хочется получить (еще с «рандомными» алгоритмами), а к лету — прототип вместе с алгоритмом. Но интенсивная разработка того решения, которое есть сейчас, велась в октябре и ноябре. Там  уже была работа сутками напролет, одержимость команды идеей и удачное завершение этого этапа разработки — начало открытого бета-теста. Поэтому, наверное, правильно считать, что проект разработан за эти два месяца, а до этого мы в свое удовольствие игрались с алгоритмами и без каких-то амбициозных планов смотрели, что получается.

[caption id="" align="aligncenter" width="700"] Ох уж этот МФТИ[/caption]

При этом нам почти всем удалось запустить проект, продолжив учиться на Физтехе. Это, конечно, повлияло на то время, которое ребята могли уделить разработке сервиса. В какой-то момент встал вопрос: «А не уйти ли нам всем заниматься проектом»? Меня очень порадовала решимость ребят, и, в принципе, нас остановило только беспокойство близких. Представьте, как реагируют родители на новость, что их чадо бросает учебу ради какой-то невероятной идеи. Но у нас в команде все с четвертого или шестого курса, через полгода одни заканчивают бакалавриат, другие — магистратуру. Все настроены дальше заниматься проектом, поэтому впереди у нас период еще большей концентрации на задаче.

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


На основе статей мы реализовали четыре разных алгоритма аннотирования методами машинного обучения. Один из них — supervised алгоритм (требует обучающую выборку, которую мы постепенно будем расширять), все другие — unsupervised (в русской литературе говорят «обучение без учителя»). Причем supervised-решение позволит в будущем сделать персонализацию аннотаций. Т.е. вы размечаете десять текстов и аннотации подстраиваются под вас. Если не устраивает —размечаете больше. Это решит основную проблему сервисов по аннотированию — то, что разные люди считают главным в тексте, совершенно разное.

[caption id="" align="alignnone" width="1287"] Работа с расширением[/caption]

Из этих алгоритмов мы строили смесь — еще более сильный алгоритм. Получилось так, что в смеси преобладают алгоритмы на основе той же идеи, что и в Google Page Rank (алгоритм ранжирования поисковой выдачи), только ранжируем мы предложения по значимости. Здесь возникла интересная проблема: самый качественный алгоритм на текстах средней длины работал очень долго — около секунды. А нам никак не хотелось вызывать скоростью работы раздражение у пользователей. Тут сыграло роль наличие в команде программиста-олимпиадника с богатым опытом в ACM. Классический алгоритм, работающий за квадратичное время, он модифицировал так, что время получилось линейным и все начало «летать».

Причём любое машинное обучение это еще и доля шаманства — обязательно возникают эвристики вроде какого-то особого взвешивания каких-нибудь переменных в алгоритме. Так вот после перехода к быстрой реализации пришлось одну такую эвристику поменять. Качество работы из-за этого на несколько процентов понизилось, но огромный выигрыш в скорости это оправдывает. Мы были очень довольны, что смогли позаботиться о комфорте пользователей.

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



Здесь снова используется машинное обучение. Изначально мы реализовали решение, описанное Mail.Ru в их корпоративном блоге на Хабре, но потом снова уперлись во время работы и опять-таки пришлось оптимизировать. И уже только после разбиения на предложения начинает работать алгоритм аннотирования, и, наконец, предложения с оценкой их значимости отдаются обратно, а на их основе генерится страничка с подсветкой. Все это создавалось для того, чтобы в итоге пользователю было достаточно нажатия только лишь кнопки плагина.

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

Встроить «обкатанные» алгоритмы в какой-нибудь продукт (тот же Clearly) вполне можно. Сейчас это даже кажется наиболее естественным развитием для проекта. С технологией можно будет поступить как захочется — хоть делать новостной дайджест и другие проекты, как Yahoo на основе Summly. Но мы несколько больше, чем просто технология — мы облекли наши алгоритмы в столь простую в использовании форму, что теперь не нужно быть аналитиком или разработчиком, чтобы оценить потенциал того, что мы делаем. В итоге получился сервис, доступный для всех людей, желающих уже сейчас прикоснуться к будущему. Мы очень дорожим этим, хоть и не забываем про алгоритмы :)

Рассказывал Виктор Кантор.

Страх и ненависть сайтов с отзывами

Страх и ненависть сайтов с отзывами
Нам пишет Таисия Кудашкина, основатель сайта отзывов Tulp.ru, о котором мы как-то уже публиковали материал. Она предлагает нам обсудить страх и ненависть таких сайтов, а точнее — отношения между пользователем, сайтом и компанией, о которой оставляют отзыв. Вот фабула:
Есть представитель бизнеса, который жаждет, чтобы мы удалили отзыв на его компанию с нашего сайта. Мы валидировали отзыв, общались с пользователем, который его написал — она готова все подтвердить, где угодно, в том числе и в суде. Компания сама по себе очень грязная, с постоянной сменой имен, киданием клиентов и т. п.

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

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



Здесь речь идёт о строительной компании «Еврострой-М». Суть отзыва (появившегося 17 октября 2013 года) в том, что эта компания плохо сделала ремонт (это подтверждено судебной экспертизой). На следующий день администратор сайта получил письмо от генерального директора этой компании с требованием удалить отзыв, как клеветнический и ничем не подтвержденный.

Администратор сайта ссылается на федеральный закон, Конституцию РФ и пользовательское соглашение, согласно которым, сайт — лишь площадка для выражения свободного мнения людей. Если отзыв не нарушает никаких законов, то останется там, где он есть.

Соответственно, раз уж отзыв подкреплён документально — плохое качество услуг подтверждается экспертизой — то предпринимателю остаётся сжать зубы и отступить.

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

Автор отзыва, в свою очередь, не только подтверждает свои слова, но и добавляет, что уже обращалась в суд, получив удовлетворение своего иска.
Я сожалею, что доставила вам неприятности, разместив отзыв об этой конторе. Если ваш опыт и знания помогут мне предостеречь других людей, я буду вам очень благодарна. Что я могу предоставить: договор, чеки, свой иск, их иск, переписки, фото, судебную экспертизу, решение Петроградского суда.

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

Вот как пишет офис-менеджер этой компании:
Долго ждать приходится вас. Фамилии с сайта убрать!

«А вот явно кто-то из руководства»:



Ответ на просьбу составить официальную претензию, чтобы перейти наконец от бокса по переписке к настоящему разбирательству:
Слишком долго перепиской заниматься. Каких юристов вы подключили? Не смешите. Убрать фамилии с сайта! Не порочьте имен и не придется изображать оскорбленное достоинство.

Не все угрозы бывают пустыми и бессмысленными, кинутыми в порыве гнева и ради понтов — здесь, похоже, дело дойдёт до суда. Ведь дальше ещё забавнее — представители строительной компании решили всё же вручить претензию, но не по почте, а лично в руки, для этого выехав по юридическому адресу ООО «Тюльп.ру» (очевидно, с битами и коктейлями Молотова). К сожалению, настоящий офис находится в другом месте, поэтому эпохальная встреча сорвалась, а строительная компания озлилась окончательно. Таисия получила очередное письмо:
ООО «Тюльп.ру» в СПб не зарегистрировано. Таким образом, мы считаем, что вы умышленно солгали нам с целью продолжения распространения недостоверных и порочащих нашу организацию сведений. В связи с этим, считаем, что досудебное урегулирование спора невозможно. Вы заняли неправильную позицию. По получении решения суда мы направим его в хостинговую компанию, которая выключит ваш домен целиком до выполнения решения суда в полном объеме.

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

Сейчас Таисия и её коллеги готовят ответный документ на официальную претензию и ждут подачи иска в арбитражный суд.

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

Мы в ответ вспоминаем недавнюю историю с «ВКонтакте», которая была оштрафована за действия тамошних юзеров, так что для Таисии у нас не очень хорошие новости.

Знаю, что среди читателей «Цукерберг Позвонит» есть много опытных профессионалов — подскажете, кто прав, а кто виноват?