Волшебство естественного языка и практическое применение. Natural Language Processing.. Natural Language Processing. Блог компании Издательский дом «Питер».. Natural Language Processing. Блог компании Издательский дом «Питер». книги.. Natural Language Processing. Блог компании Издательский дом «Питер». книги. книги по программированию.. Natural Language Processing. Блог компании Издательский дом «Питер». книги. книги по программированию. предзаказ.. Natural Language Processing. Блог компании Издательский дом «Питер». книги. книги по программированию. предзаказ. Профессиональная литература.

Что же такого волшебного в машине, которая может читать и создавать тексты на естественном языке? Машины обрабатывают языки с момента изобретения компьютеров. Но это были компьютерные языки, такие как Ada, Bash или С, спроектированные так, чтобы их понимали компьютеры. В языках программирования отсутствует неоднозначность, поэтому компьютеры всегда будут делать именно то, что вы им говорите, даже если это не всегда то, чего вам хотелось бы.

Компьютерные языки могут интерпретироваться (или компилироваться) только одним правильным способом. Реализуя NLP, вы можете позволить пользователям общаться с машинами на естественном языке, не заставляя их изучать компьютерный жаргон. Способность программного обеспечения обрабатывать тексты на естественном языке, не предназначенном для программирования машин, похожа на волшебство, потому что раньше мы считали, что это под силу только людям.

Кроме того, машины имеют доступ к огромному объему текстов на естественном языке, например, в Википедии, что позволяет им изучать мир и человеческое мышление. Общий объем проиндексированных компанией Google документов, написанных на естественных языках, составляет более 100 млн Гбайт. И это только индекс, да и то неполный! Огромное количество текстов на естественном языке делает NLP весьма полезным инструментом.

ПРИМЕЧАНИЕ В настоящее время в Википедии перечислено около 1000 языков программирования. Список естественных языков, имеющийся в ней, включает более 7000, и в эти списки не входят многие другие естественные языки, которые можно обрабатывать с применением методов, описываемых в этой книге. С помощью NLP можно также обрабатывать звуки, жесты и язык тела животных и даже цепочки ДНК и РНК в их клетках.

Чтобы облегчить вашу работу, мы сфокусируемся на одном естественном языке — английском. Позже постепенно перейдем к более сложным языкам, например к мандаринскому диалекту китайского языка. Описанные в книге методики можно использовать для создания ПО, которое сможет обрабатывать любые, даже непонятные разработчику языки. Мы покажем вам, как создавать ПО для обработки и генерирования текстов с помощью всего одного языка программирования — Python.

Python изначально создавался с прицелом на удобочитаемость. Он также делает доступными пользователю немало своих «внутренностей», связанных с обработкой языка. Обе эти характеристики делают его идеальным для обработки естественного языка. Python хорошо подходит для того, чтобы строить контролируемые конвейеры для алгоритмов NLP в корпоративной среде, где много людей работают с единой базой кода. Python даже применяется вместо универсального языка математики и математических символов там, где это возможно. В конце концов, Python позволяет однозначно выражать математические алгоритмы. Он разработан максимально удобочитаемым для таких программистов, как вы.

Язык и мышление

Лингвисты и философы, такие как Сепир (Sapir) и Уорф (Whorf), утверждали, что словарный запас влияет на наши мысли. Например, во многих языках австралийских аборигенов, таких как кууку-йимитирский и куук-таайоррийский, слова используются для описания положения предметов на их теле в соответствии со сторонами света. Аборигены, живущие в горах Чьяпаса на юге Мексики, говорят на языке цельтали, в котором тоже есть слова для обозначения сторон света, а не эгоцентрических относительных направлений. Люди из племени цельтали даже используют слова для обозначения подъема и спуска или высоты, чтобы описать место событий во времени относительно настоящего момента. Они демонстрируют более надежный внутренний компас, чем те, у кого нет этой культуры и языка. Вместо того чтобы говорить, что предмет находится в правой руке, они говорят, что он находится на северной стороне их тела. Такое использование сторон света в речи может даже помогать говорящим при выполнении определенных задач. Например, считается, что языки, в которых обычно используются направления по сторонам света, помогают их носителям регулярно обновлять свое понимание ориентации в мире, что, в свою очередь, улучшает коммуникацию и ориентирование во время охотничьих вылазок.

Стивен Пинкер (Stephen Pinker) перевернул это представление, рассматривая язык как окно в наш мозг, через который можно посмотреть, как мы думаем: «Язык — это коллективное творение человека, отражающее человеческую природу, наш подход к осмыслению реальности, наш способ взаимодействия друг с другом». Независимо от того, считаете ли вы слова влияющими на ваши мысли или помогающими видеть и понимать их, они, безусловно, являются пакетами мыслей. Скоро вы познаете силу NLP, позволяющую манипулировать этими пакетами, и углубите ваше понимание слов… а возможно, и самих мыслей. Неудивительно, что многие компании называют NLP и чат-боты искусственным интеллектом.

А как насчет математики? Люди способны мыслить точными математическими символами и языками программирования, а также более туманными словами и символами естественного языка. И мы можем использовать неоднозначные слова для выражения логических мыслей, таких как математические концепции, теоремы и доказательства. Но слова — не единственный способ мышления. Джордан Элленберг (Jordan Ellenberg), геометр из Гарварда, пишет в своей новой книге Shape (Penguin Press, 2021) о том, как он впервые «открыл» коммутативное свойство алгебры, наблюдая за стереодинамиком с решеткой 6 × 8. Он выучил таблицу умножения, запомнив символы чисел и узнав, что символы по разные стороны от знака умножения можно поменять местами. Но он не знал этого по-настоящему, пока не понял, что может визуализировать 48 точек как 6 столбцов по 8 точек или 8 рядов по 6 точек. И это были те же самые точки, значит, это должно было быть то же самое число! Это глубоко поразило его, даже глубже, чем правила манипулирования символами, которые он изучал на уроках алгебры.

Итак, мы используем слова для передачи мыслей другим и самим себе. Когда эфемерные мысли удается облечь в слова или символы, они становятся сжатыми пакетами мыслей, которые легче запомнить и с которыми легче работать. Вы можете этого не осознавать, но, составляя предложения, на самом деле переосмысливаете, преобразуете и переупаковываете эти мысли. Идея, которой вы хотите поделиться, создается в процессе ее озвучивания или записи. Этот акт манипулирования пакетами мыслей исследователи ИИ и нейробиологи называют манипуляцией символами. Фактически в эпоху старого доброго ИИ (GOFAI) исследователи предполагали, что ИИ должен научиться манипулировать символами естественного языка и логическими утверждениями так же, как он компилирует языки программирования. В главе 11 вы узнаете, как научить машину манипулировать символами на естественном языке.

Но это не самая впечатляющая возможность NLP. Вспомните случай, когда вам требовалось отправить кому-то сложное электронное письмо. Возможно, нужно было извиниться перед начальником или учителем, а может быть, перед своим партнером или близким другом. Прежде чем начать печатать, вы, вероятно, тщательно подбирали слова, обдумывали причины или оправдания, почему вы поступили именно так, а не иначе. А затем, возможно, представляли, как начальник или учитель воспримет эти слова. Вероятно, много-много раз прокручивали в уме, что написать, после чего наконец начинали печатать. Вы манипулировали «пакетами» мыслей в уме. И когда все-таки начинали печатать, то, вероятно, писали и переписывали вдвое больше слов, чем фактически отправляли. Вы тщательно подбирали слова, отбрасывая одни идеи и сосредотачиваясь на других.

Процесс обдумывания и редактирования — это мыслительный процесс. Он помогает собраться с мыслями и пересмотреть их. И в итоге все, что приходит вам в голову, совсем не похоже на мысли, что посетили вас в первый момент. Процесс письма улучшает мышление, и он будет улучшать мышление машин, поскольку они читают и пишут все лучше и лучше.

Итак, чтение и письмо — это мышление. А слова — это пакеты мыслей, которые можно хранить и обрабатывать, чтобы улучшить мысли. Используя слова, мы объединяем мысли в группы или ячейки, с которыми можно играть в уме, разбиваем сложные мысли на несколько предложений и переупорядочиваем их, чтобы они стали понятнее читателю или даже нам самим в будущем. Каждое предложение во втором издании книги было отредактировано несколько раз, иногда с помощью великодушных читателей liveBook. Только что я (Хобсон Лейн. — Примеч. ред.) несколько раз удалял, переписывал и переупорядочивал эти абзацы, опираясь на предложения и идеи друзей и читателей, таких как вы.

Но слова и письмо не единственный способ мыслить логически и глубоко. Рисование, составление схем и даже танцы и постановка сцен в спектакле — все это проявления мысли. Мы представляем рисунки в уме, зарисовывая идеи, концепции и мысли. А иногда просто физически перемещаем предметы или разыгрываем события в реальном мире. Но процесс объединения слов в предложения, а предложений в абзацы — это то, чем мы занимаемся практически постоянно.

Чтение и письмо — это особые виды мышления. Эти действия, кажется, сжимают наши мысли, облегчают их запоминание и управление ими. Подобрав идеальное слово для описания какого-то понятия, мы можем сохранить его в памяти, и нам не нужно постоянно обновлять его понимание. Мы знаем, что, когда вспомним это слово, обозначаемая им концепция всплывет в памяти и мы вновь сможем использовать ее.

Все это и есть мышление, или, как его еще иногда называют, познание. Машины используют совершенно иные инструменты для обработки и генерации текста, но, видя, как они это делают, мы ассоциируем это с мыслительными процессами, сопровождающими наши чтение и письмо. Именно поэтому люди считают NLP искусственным интеллектом. И разговорный ИИ — одна из самых распространенных и полезных ее форм.

Машины, которые общаются

Мы проводим много времени, манипулируя словами в уме, но настоящее удовольствие доставляет использование этих слов для общения с другими. Сам процесс общения вовлекает в ваше мышление двух, а порой и больше людей. Это может создать мощный цикл положительной обратной связи, подкрепляющий сильные идеи и отсеивающий слабые.

Слова играют решающую роль в этом процессе, они наш общий словарь мыслей. Когда возникает необходимость вызвать мысль в мозгу другого человека, часто достаточно произнести нужные слова. Например, испытывая сильную боль, разочарование или шок, вы можете использовать ругательство. Такой набор слов, скорее всего, поможет вашему собеседнику или читателю испытать похожий шок и дискомфорт. Мы не можем запрограммировать другого человека словами, но можем применять их для передачи чрезвычайно сложных идей.

Естественные языки нельзя напрямую перевести в четкий набор математических операций. Однако они содержат информацию и инструкции, которые можно извлечь, хранить, индексировать, искать и на основе которых немедленно выполнять какие-либо действия. Одно из этих действий — генерирование последовательности слов в ответ на высказывание. Это и есть одна из функций «диалогового движка» или чат-бота, который вы создадите.

Мы с вами целиком сфокусируемся на текстовых документах и сообщениях на английском языке, а не на устных высказываниях. В главе 7 вы найдете краткий экскурс в обработку аудиофайлов на примере азбуки Морзе. Кроме того, мы сосредоточимся на словах, записанных на бумаге… или, точнее говоря, в транзисторы компьютера. Существуют целые книги о распознавании речи, системах преобразования речи в текст (speech-to-text, STT) и текста в речь (text-to-speech, TTS). Существуют готовые проекты STT и TTS с открытым исходным кодом. Если вы занимаетесь разработкой мобильных приложений, то к вашим услугам есть современные SDK для смартфонов, предлагающие API для распознавания и генерации речи. Если вы хотите, чтобы ваш виртуальный помощник работал в облаке, то для этого существуют пакеты Python, реализующие SST и TTS на любом Linux-сервере с доступом к вашему аудиопотоку.

В этой книге мы сосредоточимся на том, что происходит после преобразования речи в текст. Это поможет вам создавать более умные голосовые помощники, если вы приложите свои умения к проектам с открытым исходным кодом, таким как Home Assistant или Mycroft AI. И вы поймете всю пользу NLP, которую крупные компании могли бы предложить в виде своих голосовых помощников… при условии, что они действительно хотят вам помочь, а не только облегчить ваш кошелек.

Математика

Обработка естественного языка с целью получения полезной информации может быть сложна. Она требует выполнения утомительных статистических расчетов, но именно для этого и были созданы машины. Как и многие другие технические задачи, решаются они гораздо проще, если ответ уже известен. К сожалению, компьютеры пока не способны решать большинство практических задач NLP, таких как ведение разговора и понимание прочитанного, так же точно и качественно, как люди. Следовательно, у вас есть шанс настроить алгоритмы, представленные в этой книге, так, чтобы решать некоторые задачи NLP немного лучше.

Впрочем, методы и техники, описанные в этой книге, достаточно мощны для создания машин, способных превзойти людей по точности и скорости при решении некоторых удивительно хитрых задач. Например, вы, возможно, и не предполагали, что распознать сарказм в отдельном сообщении Twitter машина способна точнее человека. Даже опытные эксперты не смогли достичь точности простого алгоритма NLP по обнаружению сарказма — 68 %. Простые модели «мешка слов» (bag-of-words, BOW) достигают точности 63 %, а современные модели-трансформеры — 81 %. Но не переживайте, люди все еще лучше справляются с задачей распознавания юмора и сарказма в диалоге благодаря нашей способности обрабатывать информацию в контексте высказывания. Однако машины непрерывно развивают свои навыки понимания контекста. Данная книга поможет вам включить контекст (метаданные) в свой конвейер NLP, если вы хотите попробовать продвинуть науку и технику вперед.

После извлечения структурированных числовых данных и векторов из естественного языка вы сможете применять все инструменты математики и машинного обучения. Мы пользуемся теми же средствами линейной алгебры, которые нужны для проецирования 3D-объектов на 2D-экран. Подобным занимались чертежники и компьютеры задолго до появления обработки естественного языка. Эти прорывные идеи стали ключом в мир семантического анализа, позволяя компьютерам интерпретировать и хранить смысл высказываний, а не просто количество слов/символов. Семантический анализ совместно со статистикой помогает решить проблему неоднозначности естественного языка — того, что слова и фразы часто имеют несколько значений и интерпретаций.

Извлечение информации совсем не похоже на создание компилятора для языка программирования (к счастью для вас). Наиболее перспективные инструменты обходят жесткие правила регулярных грамматик (паттернов) или формальных языков. Вы можете положиться на статистические отношения между словами вместо использования глубокой системы логических правил. Представьте, что вам нужно описать правила английской грамматики и правописания в виде вложенных деревьев из операторов if…then. У вас получилось бы расписать правила для всех возможных способов сочетания слов, букв и знаков пунктуации в высказываниях? Или хотя бы начать захватывать семантику, смысл высказываний на английском? Даже сумей вы создать ПО, пригодное для анализа некоторых типов высказываний, представьте, насколько ограниченным и нестабильным оно получилось бы. Непредвиденная орфография или пунктуация легко нарушат логику вашего алгоритма и собьют его с толку.

Естественные языки ставят и дополнительную, еще более сложную задачу «декодирования». Те, кто говорит и пишет на естественных языках, предполагают, что заниматься обработкой (слушать/читать) будет человек, а не машина. Когда я говорю «доброе утро», то подразумеваю, что вы понимаете, что такое утро и когда оно наступает. Необходимо знать, что слово «утро» может обозначать как время суток, так и период времени в целом. Интерпретатор должен быть в курсе, что «доброе утро» — общепринятое приветствие, не содержащее дополнительной информации об утре. Данная фраза скорее выражает настроение собеседника и готовность к общению.

Эта модель человеческого обработчика языка оказывается мощным предположением. Она позволяет выразить многое небольшим количеством слов, если предположить, что этот «обработчик» имеет доступ к знаниям о мире, основанным на здравом смысле. Такая степень сжатия информации до сих пор недоступна машинам. Не существует чистой теории разума, которую вы могли бы использовать в своем конвейере NLP. Но в следующих главах мы покажем методы, помогающие машинам создавать онтологии (базы знаний), основанные на здравом смысле, с помощью которых можно интерпретировать высказывания, базирующиеся на соответствующих знаниях.

Практическое применение

Обработка естественного языка встречается повсюду. Она настолько распространена, что некоторые примеры, изображенные на рис. 1.3, могут вас удивить.

Рис. 1.3. Граф применений NLP

Рис. 1.3. Граф применений NLP

В основе этой сетевой диаграммы лежат NLU- и NLG-компоненты NLP. От узла NLU ответвляются фундаментальные приложения, такие как анализ тональности текста и поиск. Они в конечном итоге связаны с фундаментальными инструментами NLG, такими как корректоры орфографии и автоматические генераторы кода, для создания разговорного ИИ и даже помощников для парного программирования.

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

Конвейеры NLP, которые генерируют (составляют) текст, могут использоваться для создания не только коротких ответов в чат-ботах и виртуальных помощниках, но и более длинных отрывков текста. Информационное агентство The Associated Press использует роботов-журналистов на базе NLP для написания целых статей по тематике финансов и репортажей со спортивных состязаний. Боты могут составлять прогнозы погоды, которые иногда выглядят так же, как отчеты людей-синоптиков. Вероятно, это связано с тем, что многие метеорологи-люди применяют текстовые процессоры с функциями NLP для составления черновиков прогнозов.

Все больше компаний с помощью NLP автоматизируют свои бизнес-процессы. Это может повысить производительность команды, удовлетворенность работой и качество продукта. Например, чат-боты могут автоматизировать ответы на многие вопросы клиентов. Спам-фильтры на базе NLP в ранних программах электронной почты способствовали тому, что в 1990-е годы электронная почта обогнала телефон и факс в качестве канала связи, а некоторые команды используют NLP для автоматизации и персонализации электронных писем, посылаемых кандидатам на вакансии. Фильтры спама сохранили свое преимущество в игре «кошки-мышки» между спам-фильтрами и генераторами спама для электронной почты.

Конвейеры NLP, как и все алгоритмы, допускают ошибки и почти всегда предвзяты, поэтому будьте осторожны при использовании NLP для автоматизации общения с людьми. В компании Tangible AI, где я работаю техническим директором, мы использовали NLP для поиска разработчиков в нашу команду, поэтому очень тщательно контролировали свой конвейер NLP. Ему разрешалось отфильтровывать заявления на занятие вакансий, только когда кандидат не отвечал на вопросы или давал неправильные ответы. Мы также строго контролировали качество конвейера NLP, периодически выбирая случайные прогнозы модели и применяя простые и эффективные по выборке модели NLP, чтобы сосредоточить внимание человека на тех прогнозах, где обученная модель проявляла неуверенность, — вы тоже будете учиться этому приему, основанному на использовании метода predict_proba классификаторов из библиотеки scikit-learn, начиная с главы 2. В результате применение NLP для управления персоналом потребовало от нас больше времени и сил и не сэкономило денег, но помогло расширить круг кандидатов при поиске. У нас были сотни заявлений со всего мира на должность младшего разработчика, включая кандидатов из Африки, Азии и Южной Америки. NLP помогла нам быстро оценить уровень владения английским языком и технические навыки, прежде чем приступать к собеседованиям и выдавать оплачиваемые задания.

Фильтры спама одерживают верх в игре «кошки-мышки» между спам-фильтрами и генераторами спама для электронной почты. Однако они могут проигрывать в других областях, таких как социальные сети. Примерно 20 % твитов о президентских выборах в США в 2016 году были составлены чат-ботами. Эти боты поддерживают выгодную их владельцам и разработчикам точку зрения. Кукловодами зачастую выступают иностранные правительства или большие корпорации с ресурсами и мотивацией для влияния на популярность того или иного мнения.

Системы NLP способны не только генерировать короткие посты в социальных сетях. Технологии NLP можно использовать также для составления длинных обзоров фильмов и продуктов в интернет-магазинах и на других площадках. Большое количество отзывов — продукт работы автономных конвейеров NLP, которые никогда не были в кинотеатре и не покупали обозреваемый продукт. Фактически значительная часть обзоров продуктов, которые попадают в верхние строчки в результатах поиска и на страницах товаров интернет-магазинов, являются поддельными. Вы можете использовать NLP, чтобы помочь поисковым системам и ориентированным на социум сообществам в социальных сетях обнаруживать и удалять такие вводящие в заблуждение или поддельные публикации и обзоры.

Сегодня чат-боты очень распространены. Они используются на ресурсах вроде Slack, IRC и даже на сайтах, предоставляющих услуги клиентам. На таких ресурсах чат-ботам приходится работать с неоднозначными командами или вопросами.

Чат-боты, в составе которых имеются системы распознавания и генерации голоса, могут поддерживать длительные беседы ни о чем или с такой целевой функцией, как бронирование столика в местном ресторане. Системы NLP могут отвечать на звонки в различных компаниях, которые хотят чего-то лучшего, чем дерево обзвона, но при этом не желают платить людям за работу с клиентами.

ВНИМАНИЕ Учитывайте этические последствия, когда вы или ваш руководитель решаете обмануть своих пользователей. Во время демонстрации системы Duplex на Google I/O инженеры и менеджеры упустили из виду вопрос обучения чат-ботов обману. Мы все игнорируем эту дилемму, когда весело общаемся с ботами в Facebook, Reddit, Twitter и даже на сайтах знакомств. В связи с появлением ботов, которые нас так убедительно обманывают, проблема контроля ИИ уступила место более насущной задаче — созданию ИИ с этичным поведением. Мрачное пророчество Юваля Харари под названием Homo Deus о том, что боты подорвут процесс принятия решений человеком, уже сбылось.

Существуют NLP-системы, которые могут выступать в роли электронных секретарей или виртуальных помощников руководителей. Подобные помощники планируют встречи и кратко записывают данные в электронную систему Rolodex или CRM (систему управления взаимоотношениями с клиентами), взаимодействуя с другими с помощью электронной почты от имени начальника. Компании доверяют свой бренд и репутацию системам NLP, позволяя ботам проводить рекламные и маркетинговые кампании. Некоторые неопытные, но отчаянные авторы книг по NLP даже позволяют ботам написать несколько предложений в своей книге. Однако об этом позже.

Одна из самых перспективных сфер применения NLP — психология. Первое в истории диалоговое приложение, чат-бот ELIZA, использовало простые методы сопоставления пользовательского ввода с шаблонами и умудрялось поддерживать удивительно реалистичные диалоги. С тех пор чат-боты, работающие как психотерапевты, добились колоссального прогресса. Коммерческие виртуальные помощники, такие как Xiaoice в Китае, а также Replika.AI и Woebot в США, помогли сотням миллионов одиноких людей пережить эмоциональное воздействие социальной изоляции во время пандемии COVID-19 в 2020 и 2021 годах. К счастью, вам не нужно надеяться на то, что инженеры крупных корпораций позаботятся о ваших интересах. Многие психотерапевтические и когнитивные помощники распространяются совершенно бесплатно и имеют открытый исходный код.

Обработка языков программирования с помощью NLP

Современные конвейеры NLP оказались настолько мощными и универсальными, что теперь они способны точно понимать программы на языках программирования. Компиляторы и генераторы на основе правил NLP оказались полезными для решения таких простых задач, как автодополнение и предложение фрагментов кода. Кроме того, многие пользователи с помощью поисковых или информационных систем могут находить фрагменты кода для своего проекта.

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

Трансформеры появившиеся относительно недавно и еще больше расширившие возможности NLP, помогли создать массивные сети глубокого обучения, ставшие еще более абстрактными и генерирующие новый текст, которого раньше никто не видел и не вводил. Например, для создания модели Codex на содержимом GitHub была обучена версия GPT-3 со 175 млрд параметров. Codex является частью плагина Copilot для Visual Studio Code (VS-Code). Он предлагает законченные определения функций и классов, требуя от вас предоставить короткий комментарий и первую строку определения функции. Далее приводится пример промпта для создания функции на TypeScript, который показан на главной странице Copilot:

// Определить, является ли тональность текста положительной
// Использовать веб-сервис
async function isPositive(text: string): Promise<boolean> {

В демонстрационной анимации Copilot генерировал оставшуюся часть кода на TypeScript и выдавал действующую функцию, которая оценивает тональность текста. Задумайтесь об этом на секунду. Алгоритм пишет код для анализа тональности текста на естественном языке, например содержимого электронных писем или эссе. И все примеры, представленные на домашней странице Copilot, демонстрируют продукты и услуги Microsoft. Это означает, что в результате вы получите конвейер NLP, имеющий представление о том, что положительно, а что — нет, основанный на методах NLP от Microsoft. Проще говоря, Copilot рекламирует то, что Microsoft приказала ему рекламировать. Подобно тому как Google раньше косвенно влияла на стиль написания вами вашего кода, алгоритмы Microsoft теперь напрямую пишут код за вас.

Раз уж вы читаете эту книгу, значит, планируете создать несколько интересных конвейеров NLP. Может быть, вы решите разработать конвейер, который поможет вам писать статьи в блоге и создавать чат-боты или даже внести свой вклад в разработку открытых наборов данных и алгоритмов. Вы можете создать цикл положительной обратной связи, которая повлияет на типы конвейеров и моделей NLP, разрабатываемых и внедряемых такими же инженерами, как и вы. Поэтому обратите внимание на метаинструменты, которые вы используете для программирования и размышлений. Они оказывают огромное влияние на направление развития вашего кода и вашей жизни.


Приобрести книгу «Обработка естественного языка в действии. 2-е изд.» можно на нашем сайте.

По факту оплаты бумажной версии книги на e‑mail высылается электронная книга.

Для Хаброжителей действует скидка 25% по промокоду — NLP25

P.S. Напоминаем, что у нас на сайте проходит сезонная распродажа.

Автор: ph_piter

Источник