Обработка естественного языка сейчас не используются разве что в совсем консервативных отраслях. В большинстве технологических решений распознавание и обработка «человеческих» языков давно внедрена: именно поэтому обычный IVR с жестко заданными опциями ответов постепенно уходит в прошлое, чатботы начинают все адекватнее общаться без участия живого оператора, фильтры в почте работают на ура и т.д. Как же происходит распознавание записанной речи, то есть текста? А вернее будет спросить, что лежит в основе соврменных техник распознавания и обработки? На это хорошо отвечает наш сегодняшний адаптированный перевод – под катом вас ждет лонгрид, который закроет пробелы по основам NLP. Приятного чтения!
Рубрика «Программирование» - 272
Основы Natural Language Processing для текста
2019-04-15 в 5:54, admin, рубрики: machine learning, nlp (natural language processing), python, Блог компании Voximplant, машинное обучение, обработка естественного языка, Программирование, распознавание текстаДжулия в латексе
2019-04-15 в 4:17, admin, рубрики: Julia, latex, матричные операции, Программирование, символьные вычисления, формулы
В научной среде очень важную роль играет визуализация данных и оформление теории. Для удобного и красивого представления формул часто используются инструменты реализующие LaTeX-команды, например Markdown и MathJax.
Для Джулии также существует набор пакетов позволяющих использовать синтаксис LaTeX 'a, а в связке с средствами символьной алгебры мы получаем мощный инструмент для оперирования формулами.
GHIDRA, исполняемые файлы Playstation 1, FLIRT-сигнатуры и PsyQ
2019-04-14 в 20:42, admin, рубрики: Ghidra, java, PlayStation 1, psx, reverse engineering, Гидра, Игры и игровые приставки, плойка, Программирование, реверс-инжинирингПривет всем,
Не знаю как вам, а мне всегда хотелось пореверсить старые приставочные игры, имея в запасе ещё и декомпилятор. И вот, этот радостный момент в моей жизни настал — вышла GHIDRA. О том, что это такое, писать не буду, можно легко загуглить. И, отзывы настолько разные (особенно от ретроградов), что новичку будет сложно даже решиться на запуск этого чуда… Вот вам пример: "20 лет работал в иде, и смотрю я на вашу Гидру с большим недоверием, потому что АНБ. Но когда-нибудь запущу и проверю её в деле".Читать полностью »
Эволюция программного проекта и ООП
2019-04-14 в 10:27, admin, рубрики: абстракция, алгоритм, Анализ и проектирование систем, инкапсуляция, наследование, ооп, полиморфизм, Программирование, Проектирование и рефакторинг, эволюцияОсваивая рецепты эффективного развития программного проекта, постарался для себя найти причины, делающие полезным использование принципов развития архитектуры SOLID (статья Как не понимать принципы развития архитектуры SOLID).
Анализ этих принципов позволил выделить несколько ключевых закономерностей и базовых элементов, существующих в разработке. Они позволили описать, понять и внедрить SOLID в реальной работе с программным проектом.
Стало интересно выполнить анализ применимости этих понятий для общепринятых парадигм программирования, например для ООП. Хорошо, если результат этой работы будет полезен и Вам.
Как мы спасали код-ревью
2019-04-12 в 7:53, admin, рубрики: bitbucket, Grafana, java, jira, statsd, Блог компании Яндекс.Деньги, код ревью, Программирование, Совершенный код, яндекс.деньги
Я ведущий Java-разработчик в Яндекс.Деньгах.
Каждое рабочее утро в 2018 году меня встречали около 30 пулл-реквестов, ожидающих ревью, а у меня не хватало времени разобрать их все за день. В конце лета я ушел в отпуск, а когда вернулся, обнаружил очередь из 50 PR, назначенных на меня. Разгребать их не было никакого желания, а ведь это была лишь вершина айсберга, которую я видел своими глазами. В тот день я и решил, что пора что-то изменить.
Это история о том, как мы ускорили код-ревью, разгрузили ведущих разработчиков и улучшили инструменты, которыми пользуемся каждый день.
Компилируемая конфигурация распределённой системы
2019-04-11 в 9:23, admin, рубрики: devops, scala, Блог компании Праймтолк, компилируемая конфигурация, менеджмент конфигурации, ненормальное программирование, ПрограммированиеХотелось бы рассказать один интересный механизм работы с конфигурацией распределённой системы. Конфигурация представлена напрямую в компилируемом языке (Scala) с использованием безопасных типов. В этом посте разобран пример такой конфигурации и рассмотрены различные аспекты внедрения компилируемой конфигурации в общий процесс разработки.
(english)
Код живой и мёртвый. Часть вторая. Действия и свойства
2019-04-11 в 9:21, admin, рубрики: .net, architecture design, C#, design patterns, fluent, fluent interface, ood, refactoring, solid, ооп, Программирование, Проектирование и рефакторинг, Совершенный кодВ прошлый раз я писал о том, что имена объектов имеют большое значение, и что подбирать их нужно кропотливо и со вниманием к деталям. Плохое имя отпугивает и не даёт вникнуть в суть происходящего. Но что это за суть?
Сложно оценить героя, не поняв его "статы" и "абилки". Что он может и на что способен — вот следующий уровень сложности, на который нам придётся нырнуть. Мало с помощью точного имени отразить внутреннее святилище объекта, ещё следует убедиться, что это таки святилище, а не конюшни из геттеров.
Об этом — в статье.
К вопросу о bitset
2019-04-11 в 8:50, admin, рубрики: Программирование, программирование микроконтроллеров«Не пора ли, друзья мои, нам замахнуться на Вильяма, понимаете ли, нашего Шекспира? ».
Прочитал недавно пост про кастомную клавиатуру и в очередной раз подумал, что было бы неплохо написать эталонную (то есть такую, которую не стыдно подписать своим именем и выложить на всеобщее обозрение) реализацию клавиатуры. Мысль эта приходит ко мне НЕ в первый раз, но все как то останавливается на первом этапе — считывание исходной информации, ведь хочется сделать этот этап легко настраиваемым, удобным в использовании, универсальным и эффективным, и не нравится предложение «выбирать любые два».
Необходимое примечание — я вижу 4 слоя реализации клавиатуры: 0 — обнаружение события, 1 — считывание данных, 2 — очистка и хранение данных, 3 — формирование сообщений, 4 — перекодировка и прочее. Наиболее перспективным для слоя 1 и связанного с ним слоя 0 мне представляется применение шаблонов Антона Чижова для работы с пинами МК (основанными на классе Локи) и, может быть, когда-нибудь, получившимся результатом будет не стыдно поделится, но точно не сегодня. А сейчас я задумался над слоем 2.
Читать полностью »
CLRium #5 Garbage Collector: полное погружение в омут памяти
2019-04-10 в 15:54, admin, рубрики: .net, C#, clrium, garbage collector, Блог компании CLRium #5, Программирование, системное программирование13 апреля в Санкт-Петербурге (оффлайн и онлайн) и 20 апреля — в Москве (только оффлайн) пройдет самый крупный семинар CLRium#5 за всё время его существования. До Sold-Out Питера осталось всего лишь 30 мест! А видеозаписи получат владельцы всех типов билетов.
Прокопав дебри алгоритмов управления памятью я теперь могу, наконец, ответить на извечный вопрос: "а зачем это знать?". Раньше кроме как just for fun до этого момета мне сложно было что-то ответить по одной простой причине: по-хорошему мы ничего не знали о том, как работает память в .NET. Мы знали что есть GC, что есть в целях оптимизации три поколения. Кто-то из нас даже знал про эфимерные сегменты и карточный стол. Но это выглядело скорее как буклет к чему-то более сложному, что никак не описано. И теперь, когда есть и исходники и люди, в них копающиеся, мы, наконец можем ответить на этот вопрос.
Мы приглашаем вас всех на этот семинар и в течении которого с 10:00 до 20:00 с перерывами на снять напряжение с головы будет рассказано очень и очень многое о том, как же всё-таки всё устроено.
Фотоотчёт с JPoint 2019 + анонс Joker 2019 в Санкт-Петербурге
2019-04-10 в 14:39, admin, рубрики: java, Блог компании JUG.ru Group, конференции, Программирование5-6 апреля 2019 в Конгресс-центре ЦМТ прошел JPoint — на сегодняшний день, самая большая Java-конференция в России (пока не прошел новый Joker). Давайте вспомним, как прошёл JPoint, чего интересного там случилось… и начнём готовиться к Joker.
Под катом много картинок, и, соответственно, вам понадобится много трафика. В прошлый разе попросили пережимать всё в JPG. Теперь так и сделано, но всё равно получилось весьма объемно.