Pull to refresh

Comments 30

С одной стороны, это так круто.
С другой, привык как-то летом отдыхать. Трак трудно сделать первый шаг, да и диплом близко…
Привет, Муаммар!
Хе, а я и не в курсе был насчет пятничной молитвы :)
Судя по всему, жизнь в Яндексе продолжается?
«вовсю»
А какие ограничения на возраст/пол/вероисповедание?
Попав в какую-то команду, где тебе не нравится, ты все равно можешь остаться, ибо «ну это ж Яндекс».

Есть внутренняя ротация, так что, с учетом размеров Яндекса, всегда можно найти команду, где тебе будет интересно.
Насколько помню, чтобы перейти в другую команду, там тоже нужно проходить точно такие же собеседования?
21 год от роду, на данный момент являюсь студентом пятого курса мехмата МГУ. А еще я выпускник ШАДа, ведущий семинаров по Natural Language Processing в ШАДе и младший разработчик в команде речевых технологий Яндекса. Какой-то супергениальностью не отличаюсь

Ощущаю себя обезьяной.
зеленый трава

Я тоже когда-то приходил к этой идее. Проблема в том, что при достаточно объёмной языковой модели и её правильно подобранном коэффициенте «зеленый трава» просто не должен попасть в lattice или будет иметь очень маленький score. А вот если модель не очень большая… то там может быть всё, что угодно. У вас рассматривали тот же вариант, но с построением phone-based LM? То есть идея в том, что слов много, и для хорошей языковой модели нужно много данных, а вот фонем не так много, и при низком perplexity можно попробовать определить насколько естественно звучит слово и относительно этого рассчитывать confidence.
В целом, вы правы, что в идеале процесс декодирования с хорошей языковой моделью должен отсеять все варианты типа «зеленый трава», но на практике это не так, поясню почему.
Обычно декодирование происходит с широким бимом, так что если слова звучат примерно одинаково, единственное отличие будет в языковой модели, а она не создаст такой большой разницы, чтобы вытолкнуть плохую гипотезу за пределы бима. А так как я вообще при оценке конфиденса не учитывал графовые веса (эксперименты показали, что это бессмысленно), то еще раз поиспользовать языковую модель было просто необходимо!

Что же насчет построения языковой модели на фонемах, то она никак не решает проблему, а, напротив, может ее усугубить. Возьмите две фразы «черный кофе» и «черная кошка». И пусть так случится, что в нашей языковой модели префикс «черная ко...» встречается чаще, чем «черный ко...». В итоге вы получите, что даже если человек скажет «черный кофе», такая языковая модель постарается исправить фразу на «черная кофе».

В таком случае было бы здорово увидеть результаты Яндекса на открытых данных: librivox, TEDLIUM, fischer, т.д. К сожалению, ограничения вашего SpeechKit не позволяют это сделать. Ещё мне почему-то кажется, что у вас WFST, а не динамический декодер =) В этом случае тяжелее проводить микро-оптимизации.

Всё, я разочаровался в жизни.

Вон Муаммар и в яндексе работает и на мех мате учиться, и в шаде учиться и ведет семинары по текст-процессингу. Берет спортивные награды, нокаутирует всех в первом раунде, решает быстрее всех интегралы и пишет самые крутые алгоритмы. Сочиняет стихи, рисует картины.
Вы меня с кем-то перепутали ;)
«После собеседования они дали мне большое домашнее задание — написать диалогового агента, который по человеческим запросам, к примеру «Что такое Эйфелева башня?», находил бы наиболее подходящие статьи из Википедии. Мне до сих пор кажется, что я сделал добротно, но, как бы там ни было, их руководитель сказал, что в команду требуется все же готовый разработчик, а не стажер, с которым нужно нянчиться и всему учить.»

Обычно когда после выполненного задания такого уровня слышишь такое от руководителя — жди пару месяцев и твой код будет представлен как достижение команды)) Хотя с тобой, конечно, нянчиться никто не хочет))

На заре своей карьеры я тоже пару раз так вляпался, пока не осознал как устроен мир)) Не надо думать, что если тебе выдали сложное тестовое задание, всегда хотят именно проверить твой навык)) Не всегда))
А что сложного в таком задании?

Отслеживаем regexp вида
^что тако\w? (.+?)


И ищем в википедии первую группу
Я не сказал, что оно сложное, но оно не настолько очевидное, как кажется. Человек может задать «кто такой Чак Норрис» или «сколько дней в високосном году». Вы собираетесь руками вбивать всевозможные префиксы для поиска? Это какое-то brute-force решение.
Вы же не указали способ как решали эту задачу.
А я предложил простейший вариант решения. Он не идеален, но вау-эффект достигается на ура. A.L.I.C.E., Болтун и Siri изначально были основаны на этой модели
Это решается добавлением новых regexp. В моей сегодняшней системе их сейчас несколько тысяч и они покрывают 80% всех шаблонных фраз людей. Этого вполне достаточно для имитации диалога и вполне достаточно для вау-эффекта.
Так же, в посте нигде не сказано, что система Laytlas'а может отвечать на этот вопрос. Она может отвечать только про «что такое X», если я правильно понял.
Зато я указал способ, когда можно добавить новый regexp и он будет понимать и про озеро Байкал и про Каспийское море.
На самом деле я сделал более общий, NLP-шный, подход, который работает в зависимости от чистоты данных, на которых все обучается. Но статья не об этом была, поэтому я и описывать не стал.
Где-то в 2004-м я тоже делал штуку, тоже на NLP-шном подходе. На вход подавался поток RSS, на выходе было структурное дерево предложения. И можно было задавать вопросы на ЕЯ. Там было без статистик и ML, только на семантических правилах. Детали, думаю, описывать не надо.
Да, в принципе, понятно. Но вообще, это NER в чистом виде. Можно нагенерировать множество фичей и обучить на них логистическую регрессию. В общем, подходов море!
Верно, подходов море. Именно потому, что эта область ещё не изучена, не структурирована и формально не описана.
Здесь огромный простор для творчества.
«What is the deepest lake in the world?»

^Само\w? (.+?) — Fail :)

Думаю ваш подход сравним с тем, чтобы лично самому сидеть за компом и выдавать ответы.
Практика говорит, что это работает. Siri, мой проект тому доказательства.
Можно сколь угодно много рассуждать, что это не работает, но реальность говорит о другом.
Извиняюсь за нескромный вопрос, редкий интересный момент чтобы удержаться спросить и не втянуть в полемику…
а вы не думаете как технарь и научный работник, что религиозность может помешать развиваться в этой сфере?
Напротив! Чем более человек религиозный, тем меньше времени он тратит на компьютерные игры, просмотр бесполезных видео в сети, бессмысленное общение и т.п. Накопленное время он тратит либо на поддержание религиозности, либо вливает в научное/рабочее русло.
Sign up to leave a comment.