URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 108908
[ Назад ]

Исходное сообщение
"Facebook открыл код библиотеки классификации текста fastText"

Отправлено opennews , 23-Авг-16 09:22 
Лаборатория искусственного интеллекта Facebook объявила (https://code.facebook.com/posts/1438652669495149/fair-open-s.../) об открытии исходных текстов библиотеки fastText, предоставляющей средства для классификации текста с использованием методов машинного обучения. Код написан на языке C++ и открыт (https://github.com/facebookresearch/fastText) под лицензией BSD. Библиотека позволяет организовать автоматическое назначение категорий для произвольного текста, на основании предварительно проведённого обучения по наборам текстов с уже известными категориями. Например, fastText может оценить является ли письмо спамом или определить к какой категории относится статья (научная, спорт, финансы, развлечения и т.п.), после обучения по типовым базам спама и тематических статей.


Из достоинств fastText отмечается поддержка различных языков и очень высокая скорость обучения. Например, обучение  fastText по базе Yahoo (https://www.opennet.ru/opennews/art.shtml?num=43674)  длится всего 5 секунд и обеспечивает точность классификации 72.3%, в то время как char-CNN (https://github.com/yoonkim/lstm-char-cnn) выполняет эту работу за 1 день при точности 71.2%, а VDCNN за 2 часа при точности 73.4%. Результирующая классификация также выполняется на несколько порядков быстрее существующих аналогов.

Для увеличения производительности работы с большим числом категорий в fastText применяется иерархический классификатор, организующих хранение категорий в древовидной структуре, вместо обычно применяемых плоских моделей. При этом дерево строится с учётом популярности категорий, что позволяет повысить скорость доступа к частоиспользуемым элементам. При тестировании модели, в обучении которой применялась база в 1 миллиард слов и более 300 тысяч категорий, на обучение было потрачено менее 10 минут, а на классификацию выборки из 500 тысяч записей менее 5 минут (около 1700 сопоставлений в секунду) на системе с обычным многоядерным CPU.

URL: https://code.facebook.com/posts/1438652669495149/fair-open-s.../
Новость: http://www.opennet.ru/opennews/art.shtml?num=45018


Содержание

Сообщения в этом обсуждении
"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 09:22 
Новости на Opennet и Хабре сразу классифицировать

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено rob pike , 23-Авг-16 09:45 
Главное мудро выбрать классификацию. Для Опеннета подойдет такая
  - "systemd нанес очередное улучшение на радость всему прогрессивному человечеству"
  - "Mozilla продолжает заниматься фигней вместо браузера"
  - "Microsoft открыла код очередного продукта"
  - "вышла новая версия DE X с нескучными обоями"

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено jtad , 23-Авг-16 10:33 
to rob pike: про systemd не согласен, в остальном в точку

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено rob pike , 23-Авг-16 10:44 
Про systemd вы согласны - либо с "нанес", либо с "улучшением".

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено jtad , 23-Авг-16 11:36 
не заметил сарказма :). С улучшением конечно

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено тоже Аноним , 23-Авг-16 11:29 
Маловато категорий. Незаслуженно забытые:
- "кто-то в Canonical решил, что, может быть, в следующем релизе они сделают не так, как в предыдущем, хотя ручаться за это никто не может"
- "wine исправил очередное множество ошибок для улучшения совместимости с чем попало"
- "вышла новая версия популярного открытого продукта с неудобопроизносимым названием: перечень изменений без уточнения, что этот продукт вообще делает"
- "в РФ тоже есть IT! Качайте наш дистрибутив и приезжайте на конференцию в Минск (реклама)"

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 24-Авг-16 00:20 
- "Facebook открыл код ещё одной библиотеки, являющейся частью Skynet"
- "Компания Canonical представила Altthing, являющийся конкурентом Something компании Red Hat"
- "Критическая уязвимость в NodeJS, получившая названия Not-a-JS"

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено xm , 24-Авг-16 00:21 
Про systemd "нанёс непоправимое очередное улучшение" будет точнее и правильнее :-)

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 26-Авг-16 07:13 
На коменты напустить. Классификация будет примерно такая:
- Старпер ноет про то что раньше солнце светило ярче.
- Школьник хвастается новым гибридом арча и генты.
- Хейтер ругает системд.
- Тролль жирно троллит.

Это пожалуй все паттерны которые можно найти в коментах опеннета.


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 10:07 
лучше комменты классифицировать, чтобы порядок.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 09:28 
А иерархии тегов сайтов, сделанные этим fastText, доступны где-то в готовом виде?

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено бедный буратино , 23-Авг-16 09:43 
а тип "хрень, которую и читать не стоит", там есть?

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено rob pike , 23-Авг-16 09:57 
С этим все очень и очень плохо.
Категорное деление, упомянутое вами, хоть и в несколько резкой, но безусловно понятной и емкой формуле, невозможно без качественного профиля пользователя по отношению к новостям.
Если ваш профиль укладывается в до предела упрощенное "новости - да, спорт - нет" (или наоборот), то все, конечно, легко. Проблема в том что никакой реальный профиль в такую формулу не укладывается.
Выхода два - либо заставить вас составить свой профиль максимально подробно, но никакой реальный пользователь это делать не станет - либо вычислять его автоматически подсовывая вам относительно случайные новости и глядя на то что вы отвергнете с возмущением, а что наоборот, лайкнете.
С первого взгляда такая схема представляется реалистичной, но уже со второго выясняется что она тоже не работает - ведь по сути таким образом пользователю предлагается натренировать свою собственную нейросеть, что он задолбается делать приблизительно на первых 0.0001% новостей от необходимых для качественной тренировки.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено cmp , 23-Авг-16 11:59 
Да ну ладно, в чем проблема построить "бинарный" классификатор? В тематических лентах новости появляются не так часто, а если пользователь жмет кнопку "еще", то значит подписывается на смежные тематики, как только перестанет, так сразу обозначит круг интересов и уровень вовлеченности.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 24-Авг-16 00:23 
Соцсети уже давно подсовывают посты, похожие на те, что вы чаще всего читаете, и/или из групп/пабликов, похожих на те, на которые вы подписаны. Похожесть паблика N на другие определяется либо по категориям, если они указаны, либо по тому, на что ещё подписано большинство подписчиков паблика N.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 24-Авг-16 00:25 
И да, можно нажать "Крестик"/"Не интересно", чтобы пост из ленты скрылся, тогда паблик получает минус к персональному скору для юзера и появляется реже, после достижения некоторого низкого значения скора – не показывается никогда.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 26-Авг-16 07:54 
> по сути таким образом пользователю предлагается натренировать свою собственную нейросеть,

По сути вы слишком много хотите от пользователей - 95% пользователей хронически не способны к тренировке СВОЕЙ нейросети. А вы хотите чтобы они еще и чужую натренировали.


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 10:09 
Критерии такого типа неопределимы. Донцова не даст соврать.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Ivan , 23-Авг-16 10:43 
Исходники донцовой будут опубликованы позже, когда она начнет проходить тест Тьюринга. А пока ценность ее свидетельств околонулевая.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 10:50 
клоун: банальный поиск по ключевым словам теперь стал ещё быстрее.

Если нашёл слова "дебет", "кредит", "счёт", "отчётность", значит это "бухгалтерия".


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Ан0ним , 23-Авг-16 11:05 
...а может ещё и криминал. Тут нужно осмотреть окружающие слова - контекст.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 11:07 
клоун: для криминала будут другие ключевые слова. Один текст может иметь несколько тем.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Ан0ним , 23-Авг-16 11:19 
Так и я о том же, по наличию слов дебет/кредитом нельзя однозначно сказать, что это текст по бухгалтерии.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Crazy Alex , 23-Авг-16 11:27 
Именно что можно. Другое дело, что это может быть кирминальная бухгалтерия, ну так это другой вопрос, решаемый отдельно.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 11:33 
клоун: я привёл упрощённый пример.

Берётся набор текстов заранее известной тематики и по ним определяются ключевые слова. Определяются веса слова, калибруется функция расстояния.

Затем берётся набор текстов другой тематики и проводится повторная калибровка.

Получили список ключевых слов и веса для них. Теперь можно юзать.

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

Что-то интересное есть только у Интел с её интеллектуальным процессором (лабораторную крысу разрезали, записали как соединены нейроны мозга, заменили их на транзисторы и вроде как получили принципиально новое распознавание образов), но он пока в бете.


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено бедный буратино , 23-Авг-16 11:21 
> Если нашёл слова "дебет", "кредит", "счёт", "отчётность", значит это "бухгалтерия".

неа, это комментарий к новости "Facebook открыл код библиотеки классификации текста fastText"


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Crazy Alex , 23-Авг-16 11:28 
Ну да, вот если б оно сами категории могло само формировать...

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Crazy Alex , 23-Авг-16 14:24 
Ещё как нужно. Язык-то описан, только то, что реально ищешь - редко чётко куда-то попадает. Если я ищу всё о DIY-применении серводвигателей в быту - лучше, если мне ещё притащит (возможно, по просьбе) "соседнее" - шаговики, например, или соленоиды. Ну потому что функции у них иногда похожие. И вот на этом "иногда" подход через антологии и ломается. К примеру, что в других случаях для похожих задач используют вообще банки с водой (открытие форточек для теплиц).

Не зря популярные в своё время каталоги сайтов (где были именно продуманные классификации) благополучно померли.


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 14:58 
клоун: поиск - это другая задача, более сложная по отношению к классификации.

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

Я несколько недель искал дешёвый датчик прикосновения. По-английски они называются FSR или "touch sensor". Только вот фраза "touch sensor" является зарегестрированной торговой маркой компании "FSR". Понятно, что компания продаёт свои датчики по цене 500-1500 руб. Нужный мне датчик называется "тензо BF350-3AA" и стоит 30 руб. Ты или знаешь половину ответа ("тензо") или переплачиваешь жлобам.


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Crazy Alex , 23-Авг-16 15:38 
Ну так классификация нужна либо для поиска, либо для подкидывания "похожего"/"возможно интересного" -  в случае Фейсбука и подобных уж точно.

И как раз в вашем случае ответ находится именно расширением области поиска (и исключением потом из неё FSR) - быстро высните, что нужная вам штука называется strain gauge. Только не прикосновения, а нажатия, наверное. Touch sensor и strain gauge - это совсем разные вещи.


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 16:41 
клоун: в какую сторону расширять хочешь?

Поисковый запрос: "сдача IELTS" (экзамен такой). Что интересует вопрошающего? По хорошему, он должен получить FAQ с ответами на часто задаваемые вопросы из которых он выберет интересующие, но такие штуки автоматически пока не создаются.

Или более сложный запрос - "отпуск в октябре", ответ на который должен учитывать личные предпочтения, предыдущий опыт, сезонность, акции авиакомпаний и пр.


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Crazy Alex , 23-Авг-16 18:16 
Да что попало - что рядом лежит по какой-то метрике в запрос добавить. И дать кнопочку возле каждого результата "убрать этот и похожие".  В общем-то примерно так и происходит, когда гуглишь всерьёз - но когда пытаешься уточнять, руками подставляя/исключая слова, велики шансы пропустить какой-то раздел, который, в общем-то, нужен - в примере выше это были бы соленоиды, допустим.

Для "сдача IELTS" - вероятно, ближними будут TOEFL, учебники/курсы/репетиторы по английскому, аналогичные экзамены для других языков.

Для "отпуск в октябре" надо увидеть, что это очень generic и расширять особо некуда. Зато сужать - сколько угодно.


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено анонимус , 23-Авг-16 19:38 
Советую
https://ru.m.wikipedia.org/wiki/%D0%9E%D1...

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 21:39 
клоун: где-то рядом всплывёт красный октябрь, "Охота за красным октябрём", устройство подводных лодок, а пользователь потом сидит и офигевает почему по запросу "отпуск в октябре" ему предлагают форум ветеранов-подводников.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Crazy Alex , 23-Авг-16 23:06 
Ну вот поэтому на слишком общие запросы (ловить можно банально по числу подходящих страниц) дополнительное ничего добавлять не нужно.

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


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 23-Авг-16 11:57 
>  к какой категории относится статья (научная...

теперь корчеватели можно сортировать


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено adolfus , 23-Авг-16 21:09 
Прятно видеть человеческие суффиксы у файлов с исходниками.

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено АнонимХ , 24-Авг-16 12:59 
Это filename extension что ли? Чем .cc примечательнее?

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 25-Авг-16 01:08 
Интересно, какая категория будет корнем в дереве категорий? Философия?

"Facebook открыл код библиотеки классификации текста fastText"
Отправлено Аноним , 25-Авг-16 07:50 
>обучение fastText по базе Yahoo длится всего 5 секунд

А не гонево ли? Эта база весит 1.5 терабайта и получается, что диски читают со скоростью не менее 300Гб/секунду и такой же объем обрабатывает программа в оставшиеся микросекунды.


"Facebook открыл код библиотеки классификации текста fastText"
Отправлено 5kbps , 25-Авг-16 20:24 
> точность классификации 72.3%,

Что понимать под этой цифрой? Совпадение с результатом аналогичной работы, проделанной человеком?