Artem
как-то решают. я к тому, что надо сразу к спцам идти, а не лепить методику на коленке
вот это прям в точку. nlp это оочень сложная тема и снаружи может показаться, что просто, но там столько всего внутри, что крыша может поехать, лучше сразу идти к специалистам.
Andrey
Два сайта, воруют у друг друга контент, чутка изменяют статью и заголовок, и вуаля. Я жи ворую у них обоих, и мне не хочется плодить дубликаты. Как-то так...
Есть же вот такая чудесная вещь. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html Она найдет похожие, ну и потом просто останется отсеять дубликаты.
Artem
Есть же вот такая чудесная вещь. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html Она найдет похожие, ну и потом просто останется отсеять дубликаты.
на этот случай можно и гошные решения использовать, например https://github.com/masatana/go-textdistance Но нужно быть полным валенком, чтобы тащить в прод то, что не понимаешь. Потому для начала нужно понять как работают эти алгоритмы, чтобы как минимум сделать выбор и понимать разницу в результате.
Andrey
Дискуссионный вопрос
Artem
Дискуссионный вопрос
тут нечего обсуждать. любой black box в приложении -это априори проблема. Без понимания результата, а у каждого алгоритма он отличается, как минимум никогда не удастся дать ответ решена ли задача на самом деле. Как она покажет себя при изменении входных условий, при адаптации атаки и как ее развивать...
Andrey
Вы слишком серьезно подошли к проблеме
Maksim (Ellrion)
тут нечего обсуждать. любой black box в приложении -это априори проблема. Без понимания результата, а у каждого алгоритма он отличается, как минимум никогда не удастся дать ответ решена ли задача на самом деле. Как она покажет себя при изменении входных условий, при адаптации атаки и как ее развивать...
если бы все рассуждали так же, то мы бы имели очень качественное и защищенное ПО, но с возможностями 20летней давности. блекбокс как и любая другая абстракция это экономия времени и денег в разработке.
Daniel
это, может, и правда
Daniel
но
Daniel
в использовании блекбоксов очень важно понимать задачу и иметь средства проверки того, что блекбокс задачу решает
Daniel
в случае со сравнением текста это не так - задача очень сложная, в голову не влезает, средств проверки нет
Artem
если бы все рассуждали так же, то мы бы имели очень качественное и защищенное ПО, но с возможностями 20летней давности. блекбокс как и любая другая абстракция это экономия времени и денег в разработке.
если в качестве блекбокса у вас выступает та функция которая для приложения является основной -это несколько странно, а тут как раз о том и речь, что эта задача решается в первую очередь.
Andrey
Wingman
а с go-pg кто-нибудь работает?
Wingman
да, было дело
А не знаешь/помнишь навскидку, как вместе с моделью выбрать count её релейшна?
Wingman
hasmany
Alexei
уф, не помню
Alexei
есть ли там вообще такое
Wingman
вот угу, чего-то не нахожу :(
Artem
Что за бред про вызов функций python?
ф-ии это оговорка, речь шла о моделях, просто после 3 раз повторения одного и того же текста перевел так, чтобы было доступней. Суть в том, что модель строится на питоне и никакого ML на Go там нет и в помине
Sergey
Ну так более корректно, просто использование моделей и вызов функций питон как бы совсем не одно и тоже, ну и есть процесс обучения, а есть процесс эксплуатации, написать приложение на го использующие готовые модели, сильно проще чем написать тоже на c++
Artem
Ну так более корректно, просто использование моделей и вызов функций питон как бы совсем не одно и тоже, ну и есть процесс обучения, а есть процесс эксплуатации, написать приложение на го использующие готовые модели, сильно проще чем написать тоже на c++
речь шла именно о обучении и разработке моделей на Go. И далеко не все, что пишут на крестах можно переписать на Go и более того далеко не везде. И опять же, для прототипирования есть отлично оптимизированный python, для оптимизации Go слабее С++ в разы, для Go нет места совершенно. А внедрение в существующие приложения -это так себе кейс и совершенно не интересный, сомневаюсь, что это станет стимулом для развития Go в этом направлении. p.s. даже примеры приложений на Go, где можно применить машинку не особо представляю себе. Всякие эмбединги и роботы -бред это место не для Гоши. Веб и рекомендашки... ну разве что кто -то напишет что то серьезное в вебе на чистом Go
Sergey
речь шла именно о обучении и разработке моделей на Go. И далеко не все, что пишут на крестах можно переписать на Go и более того далеко не везде. И опять же, для прототипирования есть отлично оптимизированный python, для оптимизации Go слабее С++ в разы, для Go нет места совершенно. А внедрение в существующие приложения -это так себе кейс и совершенно не интересный, сомневаюсь, что это станет стимулом для развития Go в этом направлении. p.s. даже примеры приложений на Go, где можно применить машинку не особо представляю себе. Всякие эмбединги и роботы -бред это место не для Гоши. Веб и рекомендашки... ну разве что кто -то напишет что то серьезное в вебе на чистом Go
зачем переписывать на го то что есть на крестах писать новое на го быстрее, удобнее и дешевле чем на крестах, в чем проблема использовать в этих приложениях обученые модели? то что вы не можете представить себе приложение написанное на го и использующее ML говорит лишь о том что вы не можете себе этого представить и более ровным счетом ни о чем. про оптимизированный питон - писать на питоне приложения сопоставимые по производительности и по прожорливости с приложениями на го - сложнее чем писать такие же на го. в общем аргументация против го я бы сказал никакая. питон как интерфейс к коду на крестах для того чтобы быстро накидать модельки и потестить их, будет удобнее, чем го, но это не значит, что он удобнее для разработки самих приложений использующих ML
Artem
хотя вспомнил.. мне попадалась статья, где Хинтон рекомендовал использовать resilient propagation (RPROP), в многопотточных системах вместо backpropogationб ище если это реализуют, то Go определенно займет свое место
Artem
зачем переписывать на го то что есть на крестах писать новое на го быстрее, удобнее и дешевле чем на крестах, в чем проблема использовать в этих приложениях обученые модели? то что вы не можете представить себе приложение написанное на го и использующее ML говорит лишь о том что вы не можете себе этого представить и более ровным счетом ни о чем. про оптимизированный питон - писать на питоне приложения сопоставимые по производительности и по прожорливости с приложениями на го - сложнее чем писать такие же на го. в общем аргументация против го я бы сказал никакая. питон как интерфейс к коду на крестах для того чтобы быстро накидать модельки и потестить их, будет удобнее, чем го, но это не значит, что он удобнее для разработки самих приложений использующих ML
много воды и нет ниодного реально кейса, привести пример приложения можете? когда я говорю о крестах, я говорю о использовании их с целью оптимизации модели, для запуска на платформах где ОС не входит в разряд поддерживаемых на Go, встроенные системы (колонки, нафигаторы и т.д.) зрение, что угодно.
Sergey
онлайн ритейл
Artem
пример: интернет реклама
т.е. рекомендашки, аномалии сегментация и т.д. задачи решаемые без нейронок в которых нет тензорфлоу о котором шла речь. Но ок я не имею серьезного опыта в Го чтобы понимать где там можно его применить для оптимизации чего бы то нибыло, но детализировать можно? Есть у нас Кинопоиск. Мы решаем задачу сегментации и показываем рекомендации. Где здесь используется Go ? или вы предлагаете Кинопоиск на Go написать?
Sergey
не только рекомендашки
Artem
не только рекомендашки
в любом случае линейные модели, и как тут поможет тензорфлоу (и возможность использовать в Go его модели) не понятно, его в этих задачах не используют. Более того алгоритмы реализуются на крестах а не приложения. И переписать их на Go нереально
Artem
кинопоиск написать на го - не вижу проблемы
это понятно, просто еще никто не написал.
Artem
ваши представления не только о го но и об интернет рекламе несколько отдалены от реальности
опять слова и рассказы о моей некомпетентности или попытке ее оценить. Вы говорите совершенно не о том. Вы лучше расскажие конкретно в чем проблема моего не правильного видения мира и как все на самом деле.
Sergey
я не говорю о вашей компетенции, очевидно, что интернет реклама не входит в число ваших компетенций рассказ будет долгим и он не профильный для этого чата, но линейными моделями уже давным давно все не ограничивается в интернет рекламе
Sergey
и опять же, есть рисерч уровеннь это когда мы разрабываем алгоритмы ищем новые способы оптимизации а есть прикладной уровень, когда мы используем то что придумали математики и дата сайентисты, и вот на прикладном го очень даже может хорошо вписываться, потому что хорошо подходит для быстрой и относительно дешевой разгработки приложений
Artem
я не говорю о вашей компетенции, очевидно, что интернет реклама не входит в число ваших компетенций рассказ будет долгим и он не профильный для этого чата, но линейными моделями уже давным давно все не ограничивается в интернет рекламе
вы не привели ни одного примера, опять вода. В каком месте вы планируете использовать тут Go? обсуждать написание на нем Кинопоиска я бы не хотел, это единственное место? т.е. мы имеем приложение на Go и наш кейс -это прямое обращение к модели из него?
Mike
почему чатик теперь названием с собой здоровается?
Илья
он вежливый
Artem
примеры чего вы хотите? примеры уже сделанных приложений? или примеры приложений которые могут быть написаны на го?
примеры того о чем вы говорите. В контексте беседы использования Go для написания ИИ (именно так тут изначально формулировали диалог) и конкретно полезности ссылки на возможность вызывать модели тензорфлоу из Go, т.е. как это поможет сделать Go ближе к дип лернингу. Пример меня устроит любой, но конечно работающий, мы же не говорим о абстрактном коне... чтобы вы понимали, тут в чате пару дней назад вообще говорили, что питон -это фуфло на котором ничего серьезного не писали и Go его убийца. Теперь вот еще, я просто похоже сильно от жизни отстал и мне действительно интересно.
Sergey
примеры того о чем вы говорите. В контексте беседы использования Go для написания ИИ (именно так тут изначально формулировали диалог) и конкретно полезности ссылки на возможность вызывать модели тензорфлоу из Go, т.е. как это поможет сделать Go ближе к дип лернингу. Пример меня устроит любой, но конечно работающий, мы же не говорим о абстрактном коне... чтобы вы понимали, тут в чате пару дней назад вообще говорили, что питон -это фуфло на котором ничего серьезного не писали и Go его убийца. Теперь вот еще, я просто похоже сильно от жизни отстал и мне действительно интересно.
каждый может иметь свое мнение и кто-то вполне может считать что питон фуфло привести реализованные примеры приложений на го использующих ML я не могу, да и мне это неинтересно, по сути меня не очень волнует на каком ЯП написано то или иное приложения, я вполне могу себе представить как любое из реализованных приложений можно реализовать на другом стеке технологий по поводу тензорфлоу, мы, как мне кажется говорим о разном. Использование ML не ограничивается процессом обучения, и вот если говорить про эксплуатацию то я не вижу проблем использовать обученные модели в приложениях написанных на го. апи есть, использовать можно. Как эти модели обучалиэто уже другой вопрос.
Илья
https://github.com/josephmisiti/awesome-machine-learning#go
Sergey
ну и го не надо делать ближе к диплернинг, все равно алгоритмы лежащие в основе будут написаны не на го и уж тем более не на питоне
Michael
хотя смотря что считать за основу
Sergey
не против, питон в датасайенс это просто интерфейс к коду написаному на крестах
Michael
ой всё
Artem
вот это еще интересно > но линейными моделями уже давным давно все не ограничивается в интернет рекламе опять таки интересен пример, есть где описание как теперь мир устроен, чтобы почитать, потому если у вас есть что -то было бы интересно. я просто довольно не плохо представляю себе стоимость внедрения дип лернинга и пару раз слушал выступления Павла Мягких, который не самый последний специалист в DS и ритейле и не особо похоже понимаю реальной картины. а проблем использовать действительно нет вы правы. Вопрос только в реальности происходящего. ML собственно куда угодно внедряется, тут как бы вообще плевать Go это или крокодил. Речь именно была о том, что Go -это та технология, которая применима в машинном обучении (для построения ИИ в терминологии автора) и мы похоже действительно о разном говорили в большей степени )
Sergey
если говорить пр этот курс, то там будет наверное построоение нейронок с нуля используя numpy (это интерфейс питонячий к непитонячему коду) а потом керас - что просто обертка использующая один из бекендов например тот же тензорфлоу - который написан на крестах вот и весь удел питона - интерфейсс к коду на крестах
Илья
по поводу ML и golang, из того что сразу всплыло, выступление с Сингапурского гоферкона про https://github.com/gorgonia/gorgonia
Sergey
вот это еще интересно > но линейными моделями уже давным давно все не ограничивается в интернет рекламе опять таки интересен пример, есть где описание как теперь мир устроен, чтобы почитать, потому если у вас есть что -то было бы интересно. я просто довольно не плохо представляю себе стоимость внедрения дип лернинга и пару раз слушал выступления Павла Мягких, который не самый последний специалист в DS и ритейле и не особо похоже понимаю реальной картины. а проблем использовать действительно нет вы правы. Вопрос только в реальности происходящего. ML собственно куда угодно внедряется, тут как бы вообще плевать Go это или крокодил. Речь именно была о том, что Go -это та технология, которая применима в машинном обучении (для построения ИИ в терминологии автора) и мы похоже действительно о разном говорили в большей степени )
вот да, я об этом - "вообще плевать Go это или крокодил" на счет рекламы - тут все очень быстро движется вперед, следить надо за ФБ и гугл, которые сильно копают в этом направлении.
Michael
угу а кресты -это интерфейс к asm. )))
а асм это интерфейс к машинным командам
Artem
вот да, я об этом - "вообще плевать Go это или крокодил" на счет рекламы - тут все очень быстро движется вперед, следить надо за ФБ и гугл, которые сильно копают в этом направлении.
ну у этих ребят несравнимые мощности и их опыт мало применим. Более того они руками реализуют все алгоритмы и у них есть Хинтон и Лекун, которые способны эти алгоритмы оптимизировать )) суть в том, что я слабо представляю себе реальность применения nn в ритейле сегодня например в РФ, поскольку нет у них просто таких ресурсов да и показывают себя сети часто хуже простых линейных моделей в том числе сегодня. Другое дело, что можно исопльзовать более комплексный подход, но посадить десяток специалистов по DS куда дешевле чем купить железа для внедрения механизмов обучения с подкреплением (например)
Sergey
ну у этих ребят несравнимые мощности и их опыт мало применим. Более того они руками реализуют все алгоритмы и у них есть Хинтон и Лекун, которые способны эти алгоритмы оптимизировать )) суть в том, что я слабо представляю себе реальность применения nn в ритейле сегодня например в РФ, поскольку нет у них просто таких ресурсов да и показывают себя сети часто хуже простых линейных моделей в том числе сегодня. Другое дело, что можно исопльзовать более комплексный подход, но посадить десяток специалистов по DS куда дешевле чем купить железа для внедрения механизмов обучения с подкреплением (например)
ну например опознание покупателя на входе или умные зеркала позволяющие примерить что-то не примеряя или амазоновские офлайн магазины, не думаю, что они решили все простыми линейными алгоритмами и это я не очень осведомлен о проблемах и решениях в ритейле для интернет рекламы так вообще поле непаханное, при чем как для простых линейных моделей или не очень простых и не очень линейных но все же без сеток, так и для сеток
Sergey
это зрение и тут я вам определенно могу сказать что Go не применим, во первых это сложные мат модели, во вторых втраиваемые системы. тут исключительно кресты и без альтернатив.
во-первых: алгоритмы использующиеся для обучения, и приложения использующие обученные модели - это разные вещи, и го может быть использован ну и во-вторых - это просто сходу приведенные примеры для ритейла, без относительно к используемым технологиям
Artem
но и опять же, про непаханное поле на всех конфах можно слышать, но мы упираемся в реальность, а в реальности я знаю с десяток контор в Мск использующих более или менее интелектуальные системы и пару интеграторов и нет у них денег на эти эксперименты. Да и суть не в том, что нейронки часто бывают хуже по качеству предсказаний, они буквально уступают в отношении цена / качество. Вы же понимаете что никто не гонится за 100% точностью и это не кагл чтобы маструбировать на тысячные доли %. По факту у нас есть допустимая доля ошибок и стоимость внедрения.
Artem
во-первых: алгоритмы использующиеся для обучения, и приложения использующие обученные модели - это разные вещи, и го может быть использован ну и во-вторых - это просто сходу приведенные примеры для ритейла, без относительно к используемым технологиям
ну вот опять, если речь о зрении -то нет не может. Это спецефические системы со своим api (если можно это так назвать) и различные IOT девайсы, Go может быть использован но он очень слаб во встраиваемых системах и это не его ниша. Место Go в кластере, а пытаться конкурировать там, где он откровенно слаб -это странно
Sergey
да, но это уже уход в сторону, обсуждать можно почему не применяют и когда будут применять, но это уже не про го разговор совсем тот же нетфликс в свое время заплативший $1млн за решение, не использовал полученное решение
Artem
ну, вот нет, берем raspberry pi и го и подобное зеркало, возможно с более худшим интерфейсом можно построить в домашних условиях используя го для написания приложения
я конечно могу ошибаться, но вроде или в доках или из докладаx кого то уровня Роба Пайка я слышал, что го довольно плохо себя показывает на подобных устройствах и как минимум так будет всегда, пока есть GC
Sergey
я знаю пару ребят из команды go нетфликса, вы в курсе, что 80% их кода -это java ? а Go -это все еще эксперименты ))
я нетфликс упомянул не касаясь го вообще, просто как пример, что в проде юзаться может не то что имеет более высокую точность
Artem
я нетфликс упомянул не касаясь го вообще, просто как пример, что в проде юзаться может не то что имеет более высокую точность
суть не в том, что может, я говорил не о том, что Go не используют, а о том, что все реальные кейсы, за все годы эксплуатации Go очень ограниченны
Daniel
на raspberry go отлично себя показывает, но raspberry - не embeded ни фига
Sergey
суть не в том, что может, я говорил не о том, что Go не используют, а о том, что все реальные кейсы, за все годы эксплуатации Go очень ограниченны
достаточно - это значит что приемлемый результат за приемлемые деньги, который можно заюзать в проде
Artem
достаточно - это значит что приемлемый результат за приемлемые деньги, который можно заюзать в проде
вот только внедрение решений уровня распознавания лиц в аэропорту требует специального железа, либо решение готовится под это железо. И это не разбери. Вероятность того, что го под эту платформу хотя бы соберется никакая )
Sergey
мы говорили про систему для аэропортов?
Artem
у вас в примере было распознавание лиц в магазинах и я просто вспомнил одну из последних задачек с кагла)
Sergey
ну, так можно далеко уйти ))
Artem
к слову там так же была задача из области маркетинга для супермаркетов европейских (инстакарт вроде), нейронки себя не оправдали )