ПоискПочтаКартыМаркетНовостиСловариБлогиВидеоКартинки
Войти

Работа в Яндексе

Разработчик систем анализа естественного языка

Лингвистический анализ – одно из ключевых направлений в разработке поиска Яндекса. Мы непрерывно работаем над повышением точности, увеличением глубины анализа, расширением числа поддерживаемых языков. Объектом анализа выступает уникальный по охвату корпус текстов на естественном языке – индекс поисковой машины Яндекса и поток запросов к ней.

Нам требуется опытный разработчик на С++, способный самостоятельно отвечать за полный цикл разработки компонент лингвистического анализа – от придумывания алгоритмов до построения инструментов тестирования.

Обязательно:

  • свободное владение языком С++, умение ясно структурировать код;

  • хорошее владение по крайней мере одним языком из списка: Python, Perl, Ruby, Unix tools(sh/sed/awk/);

  • знание основ математической статистики;

  • понимание принципов компьютерной обработки текста;

  • умение читать чужой код и разбираться в устройстве существующих сложных систем;

  • владение английским на уровне свободного чтения технической литературы;

  • умение общаться с лингвистами.

Желательно:

  • наличие научных работ в области computational linguistics, information retrieval, теории вероятностей или смежных областях;

  • опыт работы в крупном проекте на позиции, связанной с разработкой сложных алгоритмов над большими объемами данных;

  • опыт работы с формальными языками и грамматиками, опыт компиляции формальных языков в эффективный исполняемый код;

  • опыт проектирования многопоточных и распределенных приложений.

Условия:

    Работа в офисе Яндекса в Москве полный рабочий день.

    Подробнее об условиях работы в Яндексе

    Продемонстрируйте свои знания

     

    Имеется массив текстов на естественном языке размером примерно 1 Тб. Число различных словоформ в текстах – примерно 200 млн. Нужно собрать словарь из 20 млн самых частотных биграмм (пар рядом стоящих слов) за разумное время (не более недели) на минимально достаточной конфигурации оборудования.

    Опишите оптимальный, по вашему мнению, сценарий решения этой задачи и необходимые инструменты. Оцените затраты реcурсов (количество машин, оперативная память, дисковое пространство под временные файлы и т. п.) и время счета.


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

    Опишите общий сценарий решения такой задачи и примерный алгоритм поиска видовых пар.


    Перечислите все проблемы, которые вы видите в данном коде:

    class Foo
    	{
    	public:
    	    Foo(int j) { i=new int[j]; }
    	    ~Foo() { delete i; }
    	private:
    	    int* i;
    	};
    
    	class Bar: Foo
    	{
    	public:
    	    Bar(int j) { i=new char[j]; }
    	    ~Bar() { delete i; }
    	private:
    	    char* i;
    	};
    
    
    	void main()
    	{
    	    Foo* f=new Foo(100);
    	    Foo* b=new Bar(200);
    	    *f=*b;
    	    delete f;
    	    delete b;
    	}
    

    Расскажите нам о себе

     

    Пожалуйста, укажите код города

     
    ОтправитьОчистить

     

     

    Мы постоянно растем и ищем талантливых людей

    У нас хорошая компания не только для обсуждения работы

    Коротко о Яндексе

    Все, что вы хотели бы знать о компании перед тем, как идти к нам работать

    Стажировка

    В результате вы сможете узнать Яндекс изнутри и, если вам понравится, устроиться на постоянную работу

    Памятка

    Кто такой менеджер проектов Яндекса и как им стать

     

    Если вы опытный специалист и хотели бы работать в Яндексе, но не нашли для себя подходящей вакансии, не отчаивайтесь, а напишите нам. Вдруг мы договоримся?

    ruRu