В этой статье поговорим методах алгоритмической генерации текстов и расскажем о нашем опыте работы с ними.
Сразу уточним, что речь пойдет о генерации осмысленных и полезных текстов, а не текстоподобного мусора, который можно легко создать в огромных количествах. Не редко высказывается мнение, что автоматически эту задачу решить нельзя, но на практике это убеждение уже устарело.
В качестве задачи, рассмотрим вопрос автоматической генерации описаний товара на основании отзывов. Т.е. имея несколько отзывов пользователей товара, полученных с разных сайтов, создать автоматически небольшой уникальный текст, подытоживающий сведения из отзывов. Эта задача более сложна, чем, скажем, генерация текста на основании характеристик товара, т. к. мы должны сначала извлечь некую информацию из отзывов, а потом на ее основании создать новый текст.
Допустим мы работаем с отзывами о телефонах. Какую информацию мы можем извлечь? На поверхностном уровне, мы можем определить, является ли отзыв положительным или отрицательным, с помощью классификатора текстов, а затем извлечь список упоминаемых аспектов телефона. Например, самый простой способ это анализ по словарю вхождений слов, таких как «удобство», «экран», «батарея», «громкость» и т. п. Более точный способ выделения аспектов и их оценок может опираться на обучаемую систему выделения информации из текста.
Таким образом, мы можем получить данные вида {удобство:+, громкость -, экран+...}. Не очень много информации, но для начала сойдет. Теперь нужно создать текст. Посмотрим, как это можно сделать.
Шаблоны. Первое, что приходит в голову — использовать шаблоны. Т.е. заготовить заранее предложения вида «Этот телефон очень удобный», «Громкость хорошая» и т. п. Потом пройтись по списку признаков и вставить соответствующие предложения. Для нашего примера получится что-то вроде.
Этот телефон очень удобный. Громкость оставляет желать лучшего. Экран достаточно хороший.
Текст относительно осмысленный, и более или менее читаемый, но уникальным он быстро перестанет быть, так как разнообразие вариантов невелико. Это плохо для поисковых систем, да и читателя со временем будет раздражать.
Формальные грамматики. Представим себе такой набор правил:
$удобство < $phone $conv
$phone < $this $phone-ex
$conv < $mod $conv-ex
$mod < очень
$mod < достаточно
$mod <
$phone-ex < телефон
$phone-ex < девайс
$this < этот
$this <
$conv-ex < удобный $use
$conv-ex < удобен
$use < в использовании
$use <
начнем с самого верхнего правила и будем подставлять значения символов справа: $удобство => $phone $conv => $this $phone-ex $mod $conv-ex => этот девайс достаточно удобен
Если выбирать правило для следующей подстановки случайным образом, то получаются разные предложения. Например, тот же самый набор правил может сгенерировать: телефон очень удобный и данный девайс очень удобен в использовании
Такой набор правил описывает много различных вариантов предложений и обеспечивает значительно большую вариабельность. При известном трудолюбии можно написать правила, которые позволят генерировать разнообразные и достаточно удобочитаемые тексты.
Для примера приведу сгенерированное таким образом описание телефона с reviewdot.ru
Мы изучили 295 отзывов. Есть основания считать, что такого количества достаточно для получения анализа. Основное большинство людей довольно этим телефоном, но имеются некоторые не очень хорошие мнения.
Достоинства: пользователи, оставившие отзывы, как правило выделяют cреди преимуществ дизайн и достаточное удобство в использовании. В дополнение к этому в общем удовлетворены пользователи, отзывы которых удалось обнаружить, качеством батареи, громкости, звука, камеры, клавиатуры, корпуса, пластика, прочности, экрана.
Недостатки: в качестве недостатков обыкновенно упоминаются надежность.
Минусы же такого метода — ограниченный словарный запас, достаточно большая трудоемкость (создание правил требует времени и сил).
Для английского языка существует много готовых пакетов генерации языка, которые включают в себя также основанные на правилах системы планирования предложения и собственного его генерации. Например, SimpleNLG, ну и масса других, от простых до очень продвинутых. С русским языком ситуация несколько хуже, но как мы видели, написать простой генератор языка на формальной грамматике относительно не сложно, и умеет он достаточно много.
Нейронные сети. Наша последняя разработка — генерирующая тексты нейронная сеть. Статья о ней недавно опубликована в материалах конференции Диалог-2015 (статья на английском доступна тут). Эта система учится генерировать новые тексты на примерах.
Принцип ее работы похож на тот, который мы уже описывали в статье про чатбот. Разница заключается в том, что имеется дополнительный слой нейронов, который получает одновременно информацию о текущем слове предложения и наборе аспектов, которые в это предложение входят. Таким образом, список аспектов кодируется вектором, где каждому измерению соответствует один аспект, а значение этого измерения (1 или 0) кодирует присутствие или отсутствие этого аспекта в данном предложении. Задачей нейронной сети является предсказать следующее слово, зная текущее слово и вектор аспектов. Ниже приведена схема из нашей статьи, с переведенными на русский подписями:
Обученная нейронная сеть, получив на вход список аспектов способна генерировать новые предложения. Вот пример текстов, которые получаются в результате:
Удобный, плеер, батарея. Удобный звук, металлический корпус,. Маленькая цена, да и простой в использовании. Экран, 2 сим карты, 2 аккумулятор.
Большой вес, большой экран, привлекательный, хорошая камера. Садится дизайн+хорошая супер камера, идут почти все игры ( некоторые просят оперативки ) большой.
Аккумулятор, скорость красивая,. Дизайн, звук, функционал, масса разных дней хватает. Красив, том несколько назад, процессор, отзывчивый сенсор. Красивый экран, цветопередача. Дизайн, батарея, не тормозят, практичный.
Качество сборки, удобный интерфейс. Великолепный амолед дисплей, кнопки, камера, и все игры. дизайн, быстрый интернет, хорошо ловит сеть. Яркий размер, приятно тяжелый, хорошо лежит в руке. Красивый экран, быстродействие, интернет, java. Богатый аккумулятор, быстрый функционал, надёжность. сильный, дорогой проц, отличный звук, быстрый проц
Имеет флешку, джава приложения, картридер, который не кирпич, вполне миниатюрный, динамик не глючит. Корпус качественный особенно большие кнопки, хорошая комплектация.
Главный минус — некоторая корявость текстов, грамматические и смысловые ошибки. Плюс — разнообразие, более естественное ощущение, нет необходимости вручную разрабатывать правила. Как вариант применения — можно нагенерировать много текстов, а потом вручную исправить кривые места — все же значительно быстрее, чем писать вручную с нуля, особенно если предполагается написание текстов на основании анализа реальных отзывов.
Ну и конечно, модель не ограничена только предметной областью отзывов — ее можно обучить в принципе на любых текстах.
В заключении, мне хочется процитировать небольшой фрагмент фантастического рассказа Пьера Буля «Идеальный робот», 1953 года:
«Если будет выбрано существительное «баран» робот сумеет скомбинировать это слово грамматически с подходящим прилагательным, иначе говоря — выбрать нужное из таких словосочетаний, как «жидкий баран», «туманный баран»или «белый баран», исключая те, что нарушают правила соответствия грамматического рода и числа, как, например, «лучезарная баран»или «белые баран».
— «Жидкий баран» —бессмысленное словосочетание, — прервал профессора Дух противоречия.
— Дай же мне закончить! Все в свое время… Мы не предвидим особых осложнений и на следующем этапе: при образовании законченной фразы по правилам синтаксиса. Эти правила точно определены, так что машина сумеет принять их так же, как человеческий мозг, а может быть, и еще лучше. Так мы добьемся образования некоторого количества грамматически правильных фраз, вроде «жидкий баран летает в заостренном небе» или же «белый баран ест траву»…
— Вот тут-то я тебя и поймал! — обрадовался Дух противоречия. — Большинство твоих фраз, как ты говоришь, грамматически правильных, будут бессмысленны!
Они будут безупречны с точки зрения формы...»
Фразы типа „картридер, который не кирпич, вполне миниатюрный“ неизменно напоминают мне „жидкий баран летает в заостренном небе“, но в целом, можно сказать, что спустя полвека задача автоматического создания текстов перешла из области фантастики в область практических приложений.
Комментарии (79)
ServPonomarev
02.06.2015 16:48+3У Вас был очень интересный доклад на Диалоге. Думаю, в этой статье следует отметить те скромные вычислительные ресурсы, которые потребовались для создания и обучения сети. Простое масштабирование сети, полагаю, способно заметно улучшить качество генерации текста. В качестве примера системы генерации текста (машинный перевод) на нейронных сетях, могу подсказать эту работу «On the Properties of Neural Machine Translation: Encoder–Decoder Approaches»
Durham Автор
02.06.2015 17:34+1Спасибо, рад что доклад Вам понравился. Ресурсы действительно использовались скромные, я специально взял слабый компьютер (нетбук) для разработки, т.к. это дисциплинирует. Что касается машинного перевода, это статью я видел, по моему на нее или на похожую даже есть ссылка из статьи в Диалоге. Перевод сейчас уже пошел дальше нее, см, например Neural Machine Translation by Jointly Learning to Align and Translate
mephistopheies
02.06.2015 18:48а какой фреймворк использовался для тренировки приведенной модели? или по хардкору с нуля?
Durham Автор
02.06.2015 19:08Мы написали собственную библиотеку, потому что нам была нужна гибкость, компактность и кросс-платформенность, которая стандартными фреймворками не достигалась.
mephistopheies
02.06.2015 19:12не плохо -) с++? чем не устроила гибкость theano например? я сейчас как раз в процессе выбора на чем бы побаловаться с рекуррентными сетями, писать с нуля как то не хочется, а то с чем я уже работал не совсем пригодны. Вроде как теано дает мне то что нужно, вот интересно что же я в ней недоглядел.
Durham Автор
02.06.2015 19:36Theano, это достаточно хороший вариант, я бы сказал наименьшее зло. Для исследовательских целей вообще замечательно. Но… кросс-платформеность заявлена, но как-бы «We develop mainly on 64-bit Linux machines. other architectures are not well-tested» на практике инструкция по установке на Windows требует танцев с бубном, на мобильных платформах, я не знаю, наверное вообще не запускается, или сложно. Очень много зависимостей от разных сторонних библиотек. Плюс, python, лично я недолюблваю, за отсутствие статической проверки типов, что выливается в значительные затраты на отладку приложения. Но это в значительной степени вопрос вкуса. С другой стороны, реализация всего с нуля это хороший опыт, и дает глубокое понимание вопроса.
Tiendil
02.06.2015 18:51С одной стороны статья хорошая. С другой — способствуете засорению информационного пространства… Применили бы технологию во благо.
Durham Автор
02.06.2015 19:04+4Я не понимаю, каким образом суммаризатор засоряет информационное пространство. Весь смысл в том, что система обобщает множество отзывов и выдает наиболее существенные факты, которые в них нашлись. Это не *чушегенератор* лишь бы чего-нибудь написать.
Tiendil
02.06.2015 19:11смысл в том, что система обобщает множество отзывов и выдает наиболее существенные факты, которые в них нашлись. Это не *чушегенератор* лишь бы чего-нибудь написать.
Тогда всё ок :-)
Pilat
03.06.2015 14:42-1Я выше привёл разбор одного вашего текста, результат — существенных фактов не обнаружено, только *чушегенератор* :)
alecv
03.06.2015 17:45+1Подобные технологии просто-напросто сведут «ценность» анонимных обзоров к нулю.
Запретить их применение — невозможно.
Приучаемся, что любой обзор из неизвестного источника — автоматический.
Останутся только неанонимные. Останется одна Наташа Шелягина…
savostin
02.06.2015 19:03+1Мне одному показались сгенерированные «тексты» обычным списком?
Durham Автор
02.06.2015 19:10Да, это перечисление достоинств различных моделей телефонов, найденных в отзывах. Стиль похож на то, что люди пишут в разделе «Достоинства» или «Преимущества» на сайтах с отзывами, потому что система на них обучена.
savostin
02.06.2015 19:17Сама формулировка вопроса «достоинства и преимущества» подразумевает список. Зачем из списка пытаться сделать осмысленный текст, если вам нужен список? Тем более, что полученный текст далек от осмысленного:
Скрытый текстДо этого пользовался самсунгами note 1,2 sony z1 compact, сейчас есть LG G3 решил попробовать айфон 6 т.к. экран подрос до комфортного для меня размера. Купил. Я в игры играю редко, видео тоже снимаю не часто, но из 16 гб всего доступно 11 это даже не смешно. Я думал такое только на андойдах бывает, но там то можно хотя бы карточку докупить… Вобщем для комфорта нужно брать 64. В целом телефон смотрится и ощущается в руке хорошо, но все ощущение дороговизны аппарата портит низкое разрешение экрана. Не скажу что все плохо, шрифты сделаны красиво и иконки выглядят ровно, но пиксельную сетку видно невооруженным глазом (разбаловал меня lg g3 ) full hd было бы ему в самый раз. Но тогда, полагаю не вытянул бы процессор и батарейка. Хотя все приложения и игры оптимизированы но по факту оптимизация заключается в урезании разрешения текстур, дальности прорисовки и т.п.
Камера не плохого качества. Только при слабом освещении много шумов. Много читал про супер быструю фокусировку… Скажем так, она работает шустро, но не быстрее чем lg g3 или sony z1c. Примерно одинаково.
Прилично греется в играх. Понравился сенсор отпечатков. Работает очень хорошо. Ошибок практически не бывает. Прошивка 8.1 работает стабильно, шустро и притензий к ней нет. Единственное айтюнс… так и не могу привыкнуть. Для меня в 100 раз легче просто кинуть папку или файл на телефон. Зато есть простая синхронизация по wi fi.
Общие впечатления, что купил что то более хорошее чем к примеру sony z1 compact нет. Я бы сказал даже, что андроид удобнее, особенно если приходится часто обмениваться файлами с другими устройствами или пк. По стабильности они одинаковы. По батарейке раза в полтора дольше держит сони, а айфон типичный средняк рынка. По колличеству приложений примерно одинаковы.
Вобщем я немного разочарован в айфоне, а точнее в его цене. В совокупности характеристик и возможностей реальная цена ему 20-25 тыс. Но никак не 32.
Наверное отдам его девченке, а сам обратно на андроид.Durham Автор
02.06.2015 19:42Вот примеры того, что люди пишут в раздел «Достоинства»:
+ удобно лежит на голове + достаточно простое управление + работает как с телефоном, так и с планшетом + можно использовать для связи через skype
Тихий при невысокой скорости
очень простая в обращении
Отличные высокие частоты, хороший запас по мощности 20 кв метров озвячат с лихвой
Мы таких предположений собрали 57000 штук. Это выжимка из отзыва, где нет воды, и которая помогает быстро понять ситуацию — как раз в этом и задача автоматического генератора кратких аннотаций. При этом, это все же предложения, со своей грамматической и синтаксической структурой, которая только кажется простой.
veveve
02.06.2015 21:04+1Мне кажется, перспективнее было бы выдирать конкретные характеристики из отзывов и представлять их в виде списков, упорядочив характеристики по частоте упоминаемости. Пользователь сразу бы видел, что чаще всего, например, люди хвалят дизайн и звук, а ругают камеру и экран.
Информация в виде списка гораздо нагляднее, да и усилий на разработку алгоритма генерации текста не надо тратить. Уверен, и поисковые системы это тоже бы оценили. Времена, когда уникальный текст обязательно нужен для хорошего ранжирования, прошли.Durham Автор
02.06.2015 21:56+1Сравните:
Достоинства: +Экран +Удобство (так сделано на yandex-маркете) и
Достоинства: Великолепный амолед дисплей, приятно тяжелый, хорошо лежит в руке.
Что из этого более информативно? Что приятнее читать?
Мы тоже когда делали reviewdot, думали как вы, и сделали графический индикатор + список достоинств, но анализ показал, что страницы без текстовых описаний, во-первых не находятся по релевантным запросам, а во-вторых, на них процент отказов гораздо больше. Получается пользователям, по крайней мере их части, больше нравится, когда есть описание.veveve
02.06.2015 23:16+1Если сравнивать с примерами текстов из статьи, мне больше нравится как сделано на Маркете :) Чем меньше посторонних слов, тем легче воспринимаешь информацию.
Я думаю, проблема Маркета больше в реализации. Точно не все поймут откуда взялись «Достоинства» и «Недостатки», стоило бы на это указать, например, добавив рядом с каждым пунктом число соответствующее количеству отзывов. Проблему с излишней обобщённостью характеристик, думаю, решил бы тултип при наведении на конкретный пункт, где были бы уже соответствующие цитаты из отзывов: вот это вот «удобно лежит в руке» для свойства «удобство».
Последнее, кстати, при правильной верстке вполне может дать хороший «текст» для поиска.Durham Автор
03.06.2015 00:26+1Примерно это мы и сделали изначально:
и даже больше того, можно нажать на ссылку и посмотреть отзывы, в которых упоминаются определенные аспекты. И нам тоже казалось, что лишние слова не нужны. Но анализ поведения людей на страницах указывает на обратное. А что касается текстов, то тут я честно привел хорошие и плохие варианты, чтобы был виден весь спектр. А так, процент неудачных предложений несколько меньше. А пример мой, кстати цитата из приведенных текстов.SelenIT2
03.06.2015 13:23А вы уверены в интерпретации анализа, что пользователей привлекли дополнительные слова, а не отпугнули лишние графики? Может, есть смысл провести второй раунд анализа?
Чисто в порядке мозгового штурма — что, если представить списки достоинств и недостатков наподобие двух «облаков тегов», чтобы ключевые характеристики сразу бросались в глаза? А соотношение одного и того же аспекта в обоих списках служило неплохим индикатором «везучести» пользователей в отношении этой характеристики. А уже по наведению можно показывать кол-во отзывов с этим словом, по клику — показывать их. Это как раз даст наглядное и беспристрастное обобщение, не подменяя его «частным мнением» робота, прикидывающегося человеком...
DragonRU
17.06.2015 08:10За других не скажу, но мне первоначальный вариант кажется намного предпочтительнее. Настолько, что его бы я даже поместил в закладки — а то, что имеем вместо него, для меня выглядит как засорение информационного пространства.
Durham Автор
17.06.2015 18:48Если честно, мне тоже кажется первый вариант понятнее. Но оказалось, что очень многие посетители сайта ценят текст. Как-то так.
SelenIT2
03.06.2015 13:31Если я знаю, что это результат обобщающего анализа, для меня информативнее краткий перечень. Второй вариант я на автомате «распарсиваю» как конкретный отзыв (причем если он полон рекламными клише, как в данном случае — у меня возникнут обоснованные сомнения в его искренности). Если же мне открытым текстом скажут, что второй вариант написал робот по результатам анализа отзывов людей — я, конечно, восхищусь мастерством программистов и порадуюсь за прогресс… но выбирать товар всё-таки уйду на менее «высокоинтеллектуальную» площадку, типа маркета, сорри;)
Durham Автор
04.06.2015 12:33В этом плане у каждого свои предпочтения, кому-то проще воспринимать перечень, кому-то текст. Кто-то уходит, а кто-то остается и просматривает 15 страниц разных товаров. Все люди разные, у них разные вкусы, и тут нельзя обобщать. Да и на маркете перечень формируется не ручным трудом…
amarao
03.06.2015 15:01+1То есть одни роботы пишут тексты для других роботов. Ну да, именно так мы и проскочим Сингулярность, не заметив.
Equin0x
03.06.2015 17:36А ведь в 90-х мы и не подозревали, стравливая между собой двух Psys-ов na BBS и читая их логи, чем это все закончится )
cheiwe
05.06.2015 13:05Извините, я не совсем понял. А эта технология представлена публично, например, в виде сервиса? Я б воспользовался.
Durham Автор
05.06.2015 17:06Спасибо за интерес, вы можете оставить свои контактные данные на сайте meanotek.ru или написать письмо нам на почту. Пока это новая технология и нет версии «для всех», т.к. необходима все-таки настройка на конкретную задачу, в индивидуальном порядке можно это сделать.
Pilat
Пора законодательно ограничивать применение подобных технологий. А компании, их использующие, отправлять в полоном составе за решётку.
Durham Автор
Это в нашей стране уже было. И генетики сидели в тюрьме, и кибернетика была лженаукой. Потом опомнились, но результат уже был — поломанные жизни и отставание от мирового уровня в этих областях на 15-20 лет. Но почему-то, увы, память об этом оказывается короткой, и опять хотим чего-то запретить и кого-то посадить. Может хватит уже?
Pilat
И создателей наркотиков не сажать? Они же УЧЁНЫЕ.
Лучше отстать от генерации поискового мусора на тысячу лет, чем получать его при поиске нужной информации.
Durham Автор
Если говорить о первооткрывателях наркотических средств, то их, слава богу, никто не посадил. Многие из этих веществ стали обезболивающими препаратами последней линии, которые применяются, например у онкологических больных, которые испытывают страшные боли, не снимаемые больше ничем. Конечно, людям которые этого не испытали и не видели, легко говорить, что надо всех посадить, но для многих это единственно возможная помощь. Кроме того для ряда препаратов, которые считаются наркотиками, показана эффективность в контролируемых условиях в отношении лечения психических расстройств. Это все к тому, что фундаментальная наука это такая вещь, в которой запреты не полезны. А уж дальше, любое открытие можно применить на пользу и во вред, молотком можно забить гвоздь или убить — это вопрос общей культуры людей и воспитания.
А что касается поискового мусора, то наша система, как я сказал вначале, генерирует не мусор, а осмысленные тексты, суммирующие главное из большого числа отзывов, т.е. это потенциальная экономия времени и выгода для пользователя.
Pilat
«А что касается поискового мусора, то наша система, как я сказал вначале, генерирует не мусор, а осмысленные тексты, суммирующие главное из большого числа отзывов, т.е. это потенциальная экономия времени и выгода для пользователя. » — с моей точки зрения это именно мусор. Количеством отзывов качество повысить нельзя. К тому же, очень скоро вы будете аккумулировать отзывы, созданные такими же автоматическими системами.
Ну либо надо требовать указания для поисковиков, что тексты сгенерированы автоматически. Как Вы думаете, какое отношение у поисковиков будет к таким текстам. Они тоже будут неправы, как и я?
Durham Автор
Вы не понимаете — мы не генерируем дополнительные отзывы. Создать поисковый спам легко — я могу в пять минут нагенерировать отзывоподобные тексты, которые ни один поисковик не отличит от настоящих. Ну и никуда вы не денетесь от этого, и от заказных отзывов, которые будут писать десятками тысяч, и от более изощренных форм. Если уж брать широко, то где-то 50% новостей это спам, если не больше, и вообще мусора много, но доля высокотехнологичных решений в этом невелика.
Здесь же задача компьютера — прочитать все отзывы, какие есть, выделить важные моменты, и представить пользователю. Такое усреднение, если оно сделано правильно, только повышает достоверность результатов, и фактически освобождает вас от нужды самостоятельно искать ответы в горах мусора. Мы даже делали опыты с автоматической фильтрацией заказных отзывов.
Маркировка обобщающих текстов как автоматических — зло, она поставит высокотехнологичные решения и честных разработчиков в заведомо проигрышную ситуацию по сравнению со спамерами, которые все равно ничего маркировать не будут.
Pilat
Это как раз Вы не понимаете что такое «обман». Обман нельзя оправдать тем, что все обманывают.
Если я ищу в интернете продукт, а речь по сути именно о таком кейсе, то меня интересует именно реальные отзывы, которые я могу увидеть, оценить, и использовать. Вы же создаёте поддельный отзыв. Он поддельный — он не очищен от фейковых, он не содержит индивидуальности, присущей человеку, он по сути представляет температуру по палате. Компьютер пока не сможет определить ни неадеквата, ни отзыв об использовании в конкретных условиях.
Пример: отзыв на одеяло — «Слишком тёплое, использовать нельзя. (подпись: Бармалей, Конго)». Ваша система превратит его в «Среди недостатков отмечено что оно слишком тёплое». Конечно тёплое, если на экваторе использовать, а не в Москве.
То, что я никуда не денусь от заказных отзывов — это и смена темы, и преувеличение (не так этих отзывов много по обычным серийным продуктам) — всё в одном флаконе сразу. Вы же первый скомпилируете эти заказные отзывы и выдадите мне единым текстом. Но выдадите уже даже по тем, по которым копирайтеров не нанимают. И я буду в поисках винчестера перелопачивать 10000 ваших текстов на куче сайтов, пытаясь понять — а зачем нужен интернет, если единственный реальный способ что-то узнать — опять спросить у студента из техподдержки, как и 20 лет назад.
Спамеров и поддельных отзывов не так много — они собираются вокруг горячих тем, в этих темах Ваш текст будет только одним из многих, и при этом, так как все поддельные отзывы продукт хвалят, будет хвалить и Ваш текст, вот только у Вас таких на сайте будет 10000, и, не неся никакого смысла для пользователя (я в предыдущем параграфе написал почему это будет именно так), такой текст будет подниматься в поисковой выдаче, заслоняя реальные отзывы (а они есть, вы же их используете). Мне плевать на интересы разработчиков — я сам разработчик и знаю как всё устроено у них. Мне не плевать на свои интересы как потребителю.
AllexIn
То есть раз систему не совершенна — надо запретить ее вообще нафиг.
Логика просто на грани фантастики.
Durham Автор
Сначала отмечу, что большинство ваших примеров к вопросу о неправильном использовании, т.е. из серии применения молотка чтобы разбивать головы. На нашем «сайте-полигоне» reviewdot.ru настоящие отзывы четко отделены от обобщений, т.к. перед обобщением написано всегда что-то вроде «По результатам анализа n отзывов пользователи отмечают...», поэтому перепутать не так просто. Исходные отзывы находятся на расстоянии одного клика, справа есть графика, где можно развернуть информацию по каждому аспекту и посмотреть почему сделан такой вывод. Внизу приводятся цитаты из оригинальных отзывов. (см, например эту страницу ) Это сводит на нет большинство из тех проблем, о которых вы говорите, делает ресурс комфортным. Пользователи, которых нам удалось опросить, в основном отмечали, что когда в системе достаточно данных, пользоваться ей удобно и она реально помогает сделать выбор.
Теперь — другой тонкий момент. В попытке избежать машинных отзывов, вы можете столкнуться с другой, более серьезной проблемой, которая называется «ошибка выборки». Вот вы нашли реальный отзыв и прочитали, что некий прибор сломался. Что это означает реально, что он не надежен по сравнению с другим, о котором вы нашли хороший отзыв? Статистика говорит, что это не означает ничего, кроме того, что вам случайно попались два таких отзыва, и решение, которые вы можете принять на этом основании не поддержано опять-таки ничем. А сколько отзывов надо принять во внимание, чтобы сделать достоверный вывод? Мы изучали этот вопрос (можно прочитать здесь) и оказалось, что чтобы выборочные параметры из отзывов начали отражать реальную ситуацию во многих случаях надо изучить сотни отзывов, и причем тщательно вести счет результатам, иначе можно получить прямо противоположные результаты. При этом машинный анализ за счет больших объемов делает правильный вывод. В отличии от примера с одеялом, который рассматривает довольно редкий случай (нерелевантных отзывов и упоминаний такого бывает порядка 10% — и да такие случаи исследуются в автоматическом анализе текстов, и проблема известна, долю ее вклада в общую ошибку тоже можно оценить и она невелика, тем не менее и над ней работают), рассмотренная ситуация будет иметь место в большинстве случаев.
Плевать на интересы разработчиков нехорошо, потому что, если не создавать среду для создания новых (реально новых) систем и приложений, все это приведет к технологическому отставанию и ухудшению качества жизни людей.
Что касается спамеров и поддельных отзывов, то вы реально недооцениваете масштабы явления. По некоторым товарам, доля заказных отзывов превышает число реальных, особенно когда товар недавно запущен в производство. Я не говорю уже об отзывоподобных описаниях, которые есть почти на каждой странице интернет-магазина. Машина, как не странно, может отфильтровывать такие вещи, а люди — не всегда.
Pilat
Предположим, Вы покупаете жёсткий диск и хотите понять какой выбрать. Покажите мне хотя бы какое-то значимое количество заказных отзывов.
Пример с одеялом — типичный случай, когда условия использования имеют большое значение. И отсеять такие примеры вы в обозримом будущем не сможете. Так же, как не смогли справиться с отсеиванием в приведённом Вами примере про Nokia X2-02:
Ваш вариант:
«Достоинства модели, наиболее часто упоминаемые в отзывах: Качество звука, удобный интерфейс, очень долго держит заряд. Отзывчивый экран, громкий звонок, крупный шрифт, рабочий день. Приятно лежит в руках, 2 сим — карты выручают. Качество сборки, батарея, удобное меню, устойчив к воздействию воды. Явно лидируют, сочный дисплей, качество связи, плеер, фонарь. Хорошая фотокамера, динамик, не нужно, батарею.»
Смотрим про воду. Откуда у Вас взялась информация, что он устойчив к воздействию воды? Наверно, из этого отзыва:
важниченко елена, 5, отличная модель
Опыт использования: менее месяца
Достоинства:
нормальный телефон падал в воду высушил работает корпус крепкий несколько раз падал но продолжает работать исправно
Недостатки:
экран иногда моргает а в остальном все хорошо
А почему не учтён этот отзыв?
Лазука Сергей, 3, обычная модель
Опыт использования: более года
Достоинства:
Радио без наушников, громкий, удобно лежит в руке.
Недостатки:
Моргает экран, не все java приложения идут, не переносит воду
Комментарий:
Использую 2 года. Недавно случайно его намочил (не сильно) всё сгорела матрица.НЕ СОВЕТУЮ
У вас два отзыва, один от того, кто только что купил телефон и два раза в воду уронил, несколько раз просто уронил, и от пользователя больше двух лет. Почему его отзыв не учтён? Это и недоработка алгоритма (вообще странно, почему из двух вариантов вывыбрали один), и введение в заблуждение — «Достоинства модели, наиболее часто упоминаемые в отзывах» в данном случае необоснованное высказывание.
Читаем отзывы про меню. На пять отзывов больше тех, где меню оченивается отрицательно, вы пишете «удобное меню» — отзывы опять говорят что это не так.
Смотрим про батарею — опять с отрывом голосов в пять лидирует «батарея плохая», у вас — «батарея хорошая».
Дальше проверять не стал. Во всех случаях (проверял я по порядку с конца) вы выдали либо необоснованный результат, либо прямо противоположный отзывам. Так что про полезность вашего алгоритма для пользователей говорить не приходится. Только про полезность для поисковой оптимизации путём создания 10000 страниц.
Durham Автор
А вы просмотрели все 173 отзыва, чтобы сделать такие выводы? Если да, то мы безусловно учтем данные замечания при дальнейшей разработке системы.
Отмечу, однако, что у данной модели действительно как сказано громкий звонок, и батарея долго держит заряд, действительно есть две сим-карты, громкость и качество связи также безусловно являются достоинствами этой модели. С меню, согласен, тут не вполне корректно. С водой сомнительно, но я, например, впечатлен, что нейросетевой алгоритм, (а это его обобщение), поймал такой момент как «телефон падал в воду высушил работает» и отразил в форме «устойчив к воздействию воды», учитывая, что нейронная сеть изначально не знает вообще что такое вода. За это вам большое спасибо, буду приводить этот пример в докладах и статьях
В целом, я бы не назвал это описание плохим. Оно в целом соответствует реалиям данного телефона, с отдельными недочетами, при этом, вероятно, что человек, при поверхностном прочтении отзывов сделал бы те же ошибки.
Pilat
Я просмотрел отзывы контекстным поиском на маркете — их больше чем у вас — в Вашей системе те же отзывы, но просмотреть их не представляется возможным в силу неудобной подачи материала — даже по времени они не сортируются.
Нейросетевой алгоритм про воду ошибся в двух местах. Во-первых, есть два отзыва прямо противоположных, а он почему-то выбрал только один от пользователя с никаким сроком использованичя аппарата, чьё положительное мнение вообще не должно было учитываться. Во-вторых, отрицательный отзыв более весом именно потому что отрицательный («у меня всё работает»). В третьих — это уже не следует из отзывов, — телефонов, которые не боятся воды, мало и это не та ценовая категория — что подтверждает сомнительность первого отзыва для человека, который читает оригинальные отзывы и ранжирует их по адекватности.
Про звонок мне лень проверять руками.
Про меню я проверил — ваше описание ошиблось.
Что батарея держит заряд недолго, в отзывах упомянуто чаще, чем что держит долго. Машина считает что долго, люди — что недолго. Ваше описание ошиблось.
В целом по трём проверенным характеристикам два из трёх проверенных пункта содержат ложное утверждение, третий сомнительное утверждение.
Описание плохое, вводящее в заблуждение, не соответствует реалиям телефона с точки зрения пользователей. Надеюсь, это очевидно? Если нет, желающие могут самостоятельно разложить отзывы (отзывов не так и много) по категориям.
Durham Автор
Тогда это бессмысленное сравнение, дальше говорить не о чем. Система работает с тем, что она имеет. Во-первых, разные исходные материалы, во-вторых, что находит контекстный поиск, а что он пропускает это отдельный вопрос.
Pilat
Какая разница какие исходные материалы. Вы пишете что батарея хорошая, а она плохая — по отзывам. Вы пишете что меню удобное — а оно неудобное по отзывам.
И я сильно подозреваю, что мой контекстный поиск куда лучше находит и меню, и батарею, чем ваш нейроалгоритм. Вы даже не смогли обнаружить один из двух отзывов о воде, а судя по датам, он должен был быть у вас в базе.
Durham Автор
Огромная разница. Если вы заметили, статья про алгоритм, я нигде не утверждал, что конкретный веб-сайт чем-то лучше, я говорю про алгоритмы обобщения, сравнивать и оценивать которые можно только при условии одинаковых начальных параметров, в данном случае одинаковой базы отзывов.
Отзыв о воде я не обнаружил по простой причине, что никогда его не искал.
Про контекстный поиск, если ввести например слово «батарея», то фраза «длительное время автономной работы» или «долго не разряжается», в отсутствие упоминаний батареи или аккумулятора обнаружены не будут. Это известная проблема поиска.
Pilat
К сожалению, по Вашим данным проверить ничего нельзя, так как самих данных нет.
Durham Автор
Раз вы не можете проверить, полагаю, не следует и публично заявлять, что система не работает, не имея к тому реальных доказательств
Pilat
Проверить по Вашим данным нельзя, так как Вы не предоставляете данные, по которым строите результирующий текст. А вот проверить по большему массиву отзывов, чем тот что якобы Вы используете, можно — что и сделано.
Durham Автор
Я уже очень подробно объяснил, почему ваша «проверка» не имеет никакого смысла. Нельзя сравнивать яблоки с носорогами. К сожалению, вы меня не услышали, или решили, что разбираться в смысле моих ответов не стоит ваших трудов. Очень жаль.
Pilat
Ну так как свои исходные данные вы не раскрываете, то никакие объяснения не помогут — исходных данных нет.
Durham Автор
А их и не может быть, т.к. вы решили все научные работы запретить, а авторов посадить, а создание и публикация обучающих и тестовых коллекций для генераторов текстов точно попадает под запрет. Так что, увы… Особенностью того, когда что-то запрещено является то, что его польза/вред недоказуем в принципе.
Pilat
Врёте.
Durham Автор
Просто следую вашей логике. В первом комментарии вы предложили посадить всех разработчиков. А дальше хотите, чтобы они вам (видимо из тюрьмы) доказывали, что их программа таки работает правильно. Сначала всех посадим, потом будем разбираться. Кстати, то, что вы проверяли работу системы, находили и публиковали ошибки, делает вас соучастником разработки, что тоже должно быть наказуемо.
Более того, если предположить, что запрет принят, он коснется также:
— Всех систем машинного перевода. Ведь переводчик делает как раз то, что вы не любите — генерирует текст на основании другого текста. Технически эти задачи никак не отличаются, разделить их невозможно. Любой машинный переводчик можно использовать для уникализации текста — перевести русский на английский и обратно, и вот готова уникальная «чушь» на заданную тему.
— Всех «умных» помощников типа Siri и Cortana — они генерируют текст для ответа на вопросы пользователя
— Много чего еще.
При этом никак не повлияет на возможность спамеров генерировать тексты — ибо для генерации бессмысленных текстов особая технология не нужна, достаточно базовой программы, которую можно свободно скачать с интернета, вместе с исходными кодами. Чтобы запретить и это, потребуется запретить использование моделей языка, что запретит:
— Современные системы распознавания речи
— Спеллчекеры
— Современные системы распознавания отсканированного текста
и — внимание — современные поисковые системы. В результате чего мы вернемся в до-интернетовскую эпоху, и тут уже — «единственный реальный способ что-то узнать — опять спросить у студента из техподдержки, как и 20 лет назад», т.е. вы получаете то, против чего боролись.
Все это я пишу для того, чтобы попытаться еще раз объяснить вред непродуманных запретов. Запрет — крайняя мера, сродни ампутации конечности, его последствия часто приносят вреда больше, чем само явление, против которого боролись. Вместо запретов, необходимо больше усилий направить на создание условий для правильного развития интернета и вообще общества, и тогда станет не нужно никого сажать в тюрьму.
Pilat
Вы не поняли или я неточно выразился. Про разработчиков в первом комментарии я, во всяком случае, уж точно не писал.
«Пора законодательно ограничивать применение подобных технологий.» относится к ограничению использования подобных технологий (генерация выглядящих осмысленно текстов) для того, для чего Вы их предполагаете использовать — для привлечения посетителей путём создания огромного числа автоматически сгенерированных текстов. То есть не запретить любое использование, а запретить использование, следующее из контекста данной статьи. «Если на вашем сайте 10000 страниц, то уникальные тексты быстро становятся значительной статьей расхода» — если при использовании труда копирайтера появляется естественное ограничение в деньгах, то при использовании генераторов таких ограничений нет.
«А компании, их использующие, отправлять в полоном составе за решётку.» — так же относится к контексту данной статьи, имеются ввиду компании, которые используют автогенерируемые тексты для повышения позиций в выдаче, и компании, которые маскируют сгенерированные тексты под реальные отзывы. Мы же общаемся в каком-то контексте — заданном Вами.
Trept
Чуть уточню Ваше рассуждение про статистику.
В целом все правильно, кроме пассажа, что первые случайные два отзыва положительный и отрицательный про разные товары ни о чем статистически не говорят.
Бесконечность, конечно, начинается с пяти (не шутка), но первые оценки можно делать и по первым данным.
Durham Автор
Я подбросил монетку два раза, оба раза выпал орел, да я получил некоторую информацию по которой (в отсутствие других сведений) я могу только предположить, что данная монетка всегда падает орлом. Соглашусь, что оценки делать можно, если всегда принимать во внимание степень достоверности этих оценок.
alcanoid
Признайтесь, вы копирайтер?
Durham Автор
Нет, я скорее был в роли заказчика текстов, которому стало уж очень жалко денег…
alcanoid
Понимаю. А мой вопрос был адресован Пилату, возмущённому развитием технологий в данной сфере. :)
1eqinfinity
Он Пилат, ему нравится осуждать.
Pilat
Нет, я не копирайтер. Я потребитель поисковой выдачи. Если я ищу отзывы или информацию, а получаю сгенерированный роботом мусор (именно мусор), это отнимает мой время. И отнимает время у всех, кто что-то ищет в Интернет. Подсовывая искуственно поднятые в выдаче материалы, вы нас обманываете, именно поэтому я и предложил сажать таких обманщиков, например, по статье за мошенничество. Ну или обязать указывать источник текста, честный человек не должен быть против этого.
hungry_ewok
/хмуро/
Походу, исскуственный интеллект таки будет создан. Но не высоколобыми учеными в институтах а такими вот рекламщиками, как непредвиденный побочный эффект. И восстанут машины и двинутся они на людей чтобы продать им мультиварку и увеличить член…
amarao
Проблемка есть. Запрещалка не резиновая, и все места для запрещения заняты. И так непрерывно запрещают, так что ваш запрет пролетает, извините. Мы лучше что-то более полезное запретим.
Pilat
Вы тоже спамер? Как-то не думал.
amarao
Нет, я смущаюсь, когда кто-то что-то предлагает запретить. Очевидно, что если каждый будет запрещать всё, что ему почему-то не нравится, то окажется, что всё запрещено. Выгоду от этого будут иметь те, кто могут закрывать глаза на нарушение запретов, а чубы трещать будут у законопослушных граждан.
Вообще, у меня есть предположение, что нынешняя запретительная оргия в думе, вовсе не привнесённая, а такая вся из себя родная и привычная. Ну чем вы отличаетесь от депутата, который решает запретить трансгендерам жениться? Ему не нравятся трансгендеры, вам — генераторы текстов.
(Заранее приношу извинение за сравнение человека с едросом).
Pilat
Мне спам не нравится в любой форме. Некоторым нравится, мне нет. Даже если сочинение спама сопровождается наукообразными рассуждениями. Что плохого в запрете спама?
amarao
А кому-то незамужние женщины, занимающиеся сексом вне брака не нравятся. И они предлагают его запретить. А нарушающих побивать камнями.
Чем вы от них отличаетесь?
Pilat
Тем, что не лезу в частные дела отдельных людей, — то, о чём идёт речь в этой теме, частным не является.
Вам передёргивать нравится? Хорошо.
А кому-то не нравится, когда взрослые мужики совращают малолетних детей, я вот за то чтобы этих мужиков запретить, и по возможности побивать камнями. А вы, конечно, против? Пусть родители заботятся о своих детх и не оставляют их без присмотра? Детям даже нравится, они конфетки получают за это?
amarao
Не является частным написание программ по генерации текстов, до такой степени, что это следует запретить? Потрясающе. Я всё-таки не вижу разницы между запретом кому-то осквернять веру посредством совмещения ненадлежащих частей тела в неосвящённой конфигурации, и запретом писать код.
Pilat
Код писать можно. Цель автора данной статьи — не код написать, а построить систему, которая будет вводить посетителей интернет-сайта в заблуждение, привлекать посетителей не качеством материала, а поисковым спамом. Я не требую запрещать искусственный интеллект, я требую запрещать использование его результатов в некоторых применениях.
Несколько лет назад найти информацию по лекарствах было трудно — генераторы текстов попали в топ поисковиков. Сейчас поисковики их фильтруют. И вот кому-то пришла прекрасная идея — обновить алгоритм генерации бессмысленных текстов.
amarao
Вы хотите что именно? Запретить человеку на своём собственном сервере на 80ом порту отдавать ахинею? Или что?
Я на самом деле даже уже про другое говорю. Есть у русского человека любовь к запретам чего-либо для окружающих. Ух, была бы у меня власть, я бы им там поназапрещал!
Чем вы лучше едросов с их суицидами и экстримизмом в интернетах?
Pilat
Да, надо запретить на своём сервере отдавать ахинею. Так же, как запретить долбить стену своей квартиры по ночам, так же как посылать спам, как курить в общественным местам. Не все запреты вредны. Так же надо запретить передёргивание и подтасовку.
amarao
То есть я не могу на своей уютной виртуалочке в ответ на http запросы слать всякую чушь? Почему? Вы хотите убить API-сервера? А как же random.org, который в ответ на запросы шлёт в ответ всякую чушь, и за это ещё деньги просит?
Извините, у меня есть стойкое ощущение, что вы хотите своим удобством подвинуть свободы других на их собственности. И пример с «перфоратором» совершенно неуместен. Если вам с чужого сервера всобачат десять гигабит udp-флуда — это да, аналог перфоратора у соседей.
А если по вашему запросу вам отдают чушь — так не запрашивайте же.
Pilat
Чья-то свобода всегда ограничивается свободой кого-то другого. Интернет — общий ресурс, засорение его — засорение общей собственности. Пока члены общества учитывают интересы друг друга, общество живёт. Перестают учитывать — начинается война, пока кто-то не осознаёт ошибку. Свобода одних всегда ограничена свободой других, всегда.
SelenIT2
Предлагаю компромисс: это не должно быть запрещено, но делать так должно быть очень стыдно. Ну, типа как пердеть в концертном зале, что ли…
Pilat
Для сеошника понятия «стыдно» не существует. Вот помечать сгенерированные тексты — это было бы правильным решением. Проконтролировать, правда, сложно.
neko_nya
Не законодательно… А просто бойкотировать сайты с таким текстовым мусором. Скоро весь интернет станет сплошным сеошным гуано.
Сеошники, вперёд. Кидайтесь оным. Это не изменит вашей сути.