Ребята попросили опубликовать очень интересную, на мой взгляд, статью. По этому welcome.
Привет. Меня зовут Артём. Я люблю читать. И я постоянно откладывал чтение на потом…
Я всегда хочу что-то прочитать: статью, публикацию или новость. А времени на это не хватает, и мне приходится откладывать прочтение на потом. Под конец недели количество открытых в моем браузере страниц приближается к нескольким десяткам. Я пробовал группировать вкладки, складывать их в папки, но ситуация от этого не меняется.
То, что информации много — это замечательно. Минус в том, что информация бывает подана многословно и вдобавок не всегда оказывается полезной. Поскольку последние два года я увлекался семантикой, я собрал команду людей, которым эта проблема тоже была небезразлична. Мы подумали и создали Juisy.
Juisy выделяет суть
Juisy — это расширение для браузера, которое выделяет главные мысли в тексте.
Juisy помогает тратить меньше времени на поиск информации и читать быстрее, не откладывая на потом. Вы получаете самое важное из новостей, статей и того, что привыкли читать обычно, но без воды и без лишних слов. При этом я стараюсь ничего не выкидывать из текста и не лишать возможности прочесть его целиком. Juisy просто подсвечивает наиболее важные фрагменты текста.
Juisy предназначен для сокращения объемных информационных статей.
Juisy-технология
Juisy — это ещё и нами написанная технология анализа и автоматического реферирования текста. В основе работы алгоритма — статистический анализ. Я извлекаю текстовый контент, дальше определяются стоп-слова, проводится лемматизация, рассчитывается веса слов по методу TF/IDF и определяется относительный вес предложений. Еще я использую сегментацию текста, которая помогает более точно определить значимость фраз. Сейчас не буду вдаваться в технические подробности того, что конкретно я использовал для его создания, но написана технология на Node.js.
Чуть подробнее про TF/IDF. Это метод, позволяющий оценить важность слова в документе. Работает он так: допустим, у нас есть статья, в которой слово «чтение» используется 5 раз. Помимо этого текста, у нас есть база документов, в части которых это слово встречается — например, в тысяче документов из миллиона. Имея две этих цифры, я могу определить вес слова в тексте. Более высокий вес получают слова с высокой частотой в пределах анализируемого документа и низкой частотой во всем корпусе.
Оценка качества технологии
Для проверки корректности работы я использовал метрику полноты ROUGE-N. Она определяет пересечение между автоматическим рефератом и рефератом, составленным вручную. Соответственно, чем больше похож машинный реферат на реферат, составленный человеком, тем качественнее алгоритм.
Чтобы получить полноценный корпус текстов для сравнения, пришлось перечитать кучу статей и сделать несколько сотен рефератов вручную.
Но когда я провел первое сравнение, то полученные результаты меня неприятно удивили: в сравнении с аналогами наш алгоритм работал не очень хорошо. А на некоторых текстах — совсем плохо. Но он работал хотя бы лучше рандомной выборки, что обнадеживало.
Я продолжил разбираться с сегментацией и весами слов, стал учитывать позицию предложения в документе при расчете его веса. Я постоянно оценивали результаты и когда алгоритм стал формировать довольно адекватные аннотации, снова сравнили его по ROUGE-N. И мой алгоритм явно выигрывал.
На графике представлено сравнение нашего алгоритма, рандомной выборки и двух аналогичных решений.
Чтобы мы с тобой не ломали голову, что же изображено на предыдущем графике, здесь показано усредненное значение. Прошу заметить, что максимум графика 40%. То есть до идеала далеко, но я работаю на этим.
После нескольких корректировок разница стала еще заметнее. Сейчас я совершенствую алгоритм, надеюсь что двигаюсь я в верном направлении.
Juisy хочет стать лучше
Теперь помимо метрик на основе ручных рефератов, мне очень нужны человеческие оценки работы нашего алгоритма. Посмотреть, как работает Juisy, вы можете на нашей страничке. Расширение доступно для скачивания — для Chrome и Яндекс.Браузера. Мы будем рады, если оно окажется для вас полезным.
Сервисы, подобные Juisy, уже существуют, поскольку проблема не новая. Зарубежные аналоги используют сложные алгоритмы с машинным обучением, которые прекрасно работают с английским языком. Но, к сожалению, они не адаптированы под русский язык и справляются с русскоязычными текстами не так хорошо. Я и моя команда же разрабатывали Juisy изначально под русский язык (хотя он может работать и с английским).
Взгляд в будущее
Мы сделали плагин для браузера как универсальный вариант — чтобы сокращать любой текст на любой странице. Пока Juisy просто выделяет важные предложения. Надеемся, что в будущем сможет обрабатывать текст и генерировать аннотацию к нему. А еще я хочу не только «выжимать» ваши текущие статьи, но и рекомендовать новые – я работаю над этим.
Проводите время с пользой и узнавайте больше. А мы будем рады любым советам или вопросам.
P.S. Если кто-то готов помочь ребятам и отправить инвайт, пишите в личку, я оставлю почту.
P.P.S. Не нашёл подходящих хабов, если не угадал, подскажите, куда перенести.
ссылка на оригинал статьи http://habrahabr.ru/post/220571/
Добавить комментарий