Что такое обработка естественного языка?
Обработка естественного языка — это форма машинного обучения, которая позволяет людям общаться с искусственным интеллектом (ИИ) с использованием человеческого языка.
Обзор обработки естественного языка
Обзор и определение NLP
Обработка естественного языка (NLP) — это увлекательная ветвь ИИ, которая позволяет людям и машинам общаться друг с другом на повседневном языке. То, как вы передаете голосовые команды Siri или получаете переводы на Google, являются примерами NLP в действии, потому что и показывают понимание программного обеспечения, и реагируют на человеческий язык.
Как NLP соотносится с ИИ?
Большинство людей не являются программистами или властными пользователями программ, что является одной из причин, по которой обработка естественного языка так полезна. Программное обеспечение может иметь крутую кривую обучения, а NLP позволяет использовать даже сложное программное обеспечение, не становясь экспертом. На самом деле, NLP позволяет просто описать то, что вы хотите для ИИ, так же, как вы можете объяснить его другу.
Термин ИИ охватывает широкий спектр технологий, но филиал NLP фокусируется на проблемах человеческого языка. Чтобы быть действительно полезными, решения NLP должны делать больше, чем просто уловить слова, которые вы говорите. Системы NLP должны понимать контекст и намерение, лежащие в основе ваших слов. Чтобы сделать это возможным, разработчики NLP используют другие технологии ИИ, такие как машинное обучение и глубокое обучение.
Почему обработка естественного языка важна?
Обработка естественного языка позволяет использовать технологии, которые в противном случае могут быть трудно использовать. Это также позволяет компьютерам понимать текст и речь таким образом, что они не могли раньше NLP. Вот некоторые преимущества NLP:
NLP помогает людям работать продуктивнее
При работе обработка естественного языка может повысить эффективность, позволяя использовать автоматизацию для повторяющихся или трудоемких задач. Например, отдел обслуживания клиентов может использовать чат-боты на базе NLP для обработки рутинных запросов клиентов. Или отдел бухгалтерии может использовать системы с поддержкой NLP для извлечения ключевой информации из счетов-фактур и квитанций и использования ее для заполнения базы данных или электронной таблицы.
В качестве дополнительных преимуществ автоматизация ввода и обработки данных снижает вероятность человеческих ошибок и ускоряет потоки операций. Когда система достаточно хорошо понимает человеческий язык, чтобы взять на себя основные задачи, она повышает производительность, позволяя пользователям сосредоточиться на более важных задачах.
NLP помогает улучшить клиентский опыт
Когда вы пытаетесь достичь бизнеса по телефону, но не можете пройти мимо запутанного дерева телефонов, вы испытываете плохо обученную интерактивную систему голосового ответа. Но хорошо обученный чат-бот NLP может предоставить клиентам более интуитивно понятный интерфейс. Например, сайт электронной коммерции с системой с поддержкой NLP может анализировать, какие продукты просматривал клиент. Понимая, какие продукты представляют интерес для клиента, система может предложить продукты, которые, скорее всего, нужны клиенту.
Чат-боты по обслуживанию клиентов на базе NLP улучшают клиентский опыт, быстро отвечая на вопросы или решая проблемы. Эти чат-боты могут быть разработаны таким образом, чтобы иметь полную историю взаимодействия с клиентом и распознавать проблемы, с которыми он сталкивался в прошлом.
NLP создает новую аналитическую информацию
Если вы когда-нибудь отправляли электронное письмо бизнесу, чтобы задать вопрос, предложить совет или зарегистрировать жалобу, это может показаться, что никто даже не читает его. И это может быть связано с тем, что мало компаний успевают прочитать каждую часть получаемой обратной связи от клиентов. Но у ИИ с поддержкой NLP есть время. Он может проходить через огромные наборы данных, такие как разговоры с клиентами на веб-сайтах. Это позволит компаниям получить достоверное резюме этих обсуждений, чтобы бизнес мог исправить этот вопрос.
Как работает обработка естественного языка?
Вот как NLP делает возможными человеческие и машинные разговоры. Следующие шаги относятся к языку в виде текста. НЛП для разговорного языка немного отличается, но следует тем же общим принципам.
Рассмотрим пример предложения, чтобы показать, как работает процесс:
«Мне нравится демонстрировать, как работает обработка естественного языка».
Алгоритм начинается с предварительной обработки текста.
Предварительная обработка текста
Предварительная обработка текста относится к упрощению текста, создаваемого людьми, чтобы упростить алгоритмы NLP для обработки человеческого языка.
- Токенизация
Токенизация — это процесс разбиения слов и пунктуации в предложении на маркеры. Токенизация важна, потому что для алгоритмов NLP эффективнее обрабатывать маркеры, чем текст при выполнении таких задач, как индексация и поиск. В образце предложения восемь слов: «Мне нравится демонстрировать, как работает обработка естественного языка». Он также имеет период, так что вы получаете восемь жетонов, подсчитывая слова и один, подсчитывая период, в общей сложности девять жетонов.
- Lowercasing
Lowercasing — это процесс преобразования всех маркеров в строчные, чтобы упростить набор данных. В образце предложения одним из жетонов был “I”. Чтобы избежать двусмысленности и повысить эффективность, шаг lowercasing преобразует эти прописные токены в “i”. Правила для нижних корпусов усложняются в других частях процесса.
- Удаление игнорируемых слов
Другим способом упрощения текста для обработки естественного языка является удаление слов, которые не имеют существенного значения, которые называются стоп-словами. В образце предложения слова "i" и "how" обычно обозначаются как игнорируемые слова. Когда алгоритм удаляет их, у вас осталось семь маркеров, которые “как”, “демонстрация”, “естественный”, “язык”, “обработка”, “работы” и “.”.
- Выделение основы и лемматизация
Даже с семью жетонами остаются есть место для большего упрощения. Одним из методов, стемминг, является разрезание слова до его основания или корневой формы. Маркер “демонстрация” это слово, которое строится на стебле “demonstr” так же, как “natural” строится на “natur”, так что модель заменяет оригинальные токены с стеблями “demonstr” и “natur”.
Слово может иметь разные значения в разных контекстах, а лемматизация — это процесс определения правильного значения в конкретном контексте. Образец предложения включает "like", которое может означать "наслаждаться" или "аналогично". В этом случае лемматизация приведет к присвоению контекста, где "подобно" означает "наслаждаться".
Текстовое представление
Следующим шагом является текстовое представление, которое преобразует слова в числовой формат, который может обрабатывать машина. В дополнение к числам, текст может быть преобразован в векторы или вложения, которые являются более сложными форматами, предоставляющими такую информацию, как контекст.
- Бутик слов (BoW)
Компьютеры отлично справляются с подсчетом, и измерение BoW подсчитывает, сколько раз слово появляется в документе. Если слова команда, игра и оценка часто появляются в документе, например, контекст, скорее всего, будет спортивным. Образец предложения содержит только по одному экземпляру каждого слова. Представление BoW показывает, что каждое слово встречается только один раз следующим образом:
{“i”: 1, “like”: 1, “sheaping”: 1, “how”: 1, “natural”: 1, “language”: 1, “processing”: 1, “works”: 1}
- TF-IDF (термин частотная обратная частота документов)
TF-IDF использует формулу, основанную на том, как часто слово появляется в общем наборе данных, состоящем из множества документов, чтобы определить важность слова. Чем чаще появляется слово, тем ниже его вес TF-IDF, и тем менее важным оно находится в одном документе. Такие слова, как “the” и “a”, появляются довольно часто, и поэтому менее важны. Вы бы представляли веса образца предложения в форме, подобной этому, показывая, что общие слова имеют более низкие веса, а необычные слова имеют более высокие веса:
{“i”: 0.1, “like”: 0.1, “sheaping”: 0.3, “how”: 0.1, “natural”: 0.2, “language”: 0.2, “processing”: 0.5, “works”: 0.1}
Анализ текста
Анализ текста — это точка, в которой алгоритм NLP извлекает значение из текста. Это то, как алгоритм может создавать соответствующие ответы на запрос пользователя.
- Распознавание именованных сущностей (NER)
Проведя некоторый количественный анализ, алгоритмы NLP далее ищут слова, которые распознаются как что-то названные. Слово яблоко относится к типу фруктов, но слово Apple относится к конкретной компании, и алгоритм NLP нуждается в способе распознавания разницы. Образец предложения «Мне нравится демонстрировать, как работает обработка естественного языка», включает в себя слова «обработка естественного языка», которые люди могут признать названиями технологии ИИ. Это представлено следующим образом:
NER Output: [(“обработка естественного языка”, “Технология”)]
- Анализ настроений
Некоторые наборы данных, такие как каталог деталей газонокосилки, могут не иметь существенного эмоционального тона. Но обзор фильма может иметь сильный эмоциональный тон. Если набор данных имеет тон, анализ настроений является шагом обработки естественного языка, который его записывает. Для примера предложения анализ настроений может выглядеть следующим образом:
Вывод настроения: положительный
Синтаксический анализ
Каждое предложение имеет грамматическую структуру. Синтаксический разбор - это процесс анализа этой структуры для поиска существительных, глаголов, субъектов и т.д. Это важно, поскольку разные языки используют разный синтаксис, поэтому синтаксический анализ важен для машинного перевода. Для примера предложения синтаксический анализ может сгенерировать следующий результат:
Синтаксическое дерево: (ROOT (S (NP (PRP I)) (VP (похожее на VBP) (S (VP (VP (демонстрация VBG) (SBAR (WHADVP (WRB как)) (S (NP (NNP Natural) (NNP Language) (Обработка NNP))) (VP (VBZ работает)))))))))
В зависимости от конкретного алгоритма обычно выполняются дополнительные шаги. Результатом является разговор, где машина, кажется, понимает ваши слова и намерения и отвечает вам на естественном языке.
Каковы примеры задач обработки на естественном языке?
Управление беспилотником с помощью голосовых команд
Даже самая мощная технология имеет ограниченную ценность, если вы не знаете, как ее использовать. Обработка естественного языка делает технологию более доступной. Это снижает потребность в специальных технических знаниях для получения преимуществ передового программного обеспечения или аппаратного обеспечения. Пользователи могут взаимодействовать с NLP-системами через естественный диалог вместо того, чтобы полагаться на сложные команды, кодирование или физические элементы управления.
Например, приложение дистанционного управления для небольших беспилотников позволяет просто сказать беспилотнику, чтобы сделать что-то вроде флипа в воздухе, без необходимости изучать сложные элементы управления, которые вам в противном случае нужно было бы использовать. Возможность использования простых голосовых команд позволяет большему числу людей использовать технологию.
Получение более полной информации для управления брендом
Люди ежедневно высказывают свои мысли и предпочтения, и компании имеют доступ к большей части этих данных. Компании уже используют такие данные, как продажи продуктов, для понимания некоторых аспектов поведения клиентов. С помощью решений для обработки естественного языка компьютеры могут превратить разговоры в социальных сетях и онлайн-отзывы клиентов в полезную информацию.
Аналитика NLP отличается от традиционной аналитики продаж. Компании используют показатели продаж для оперативной аналитики, такой как прогнозирование или управление ресурсами, но анализ на основе NLP может быть более эффективным в управлении брендом или улучшении клиентского опыта.
Предотвращение перегрузки информации
Если у вас есть адрес электронной почты, используемый для выполнения задания, перегрузка информации может показаться неизбежной. Средний сотрудник получает более 120 электронных писем в день, поэтому неудивительно, что около 60% сотрудников просто игнорируют внутренние электронные письма компании. Но если ваше приложение электронной почты имеет возможности NLP, это может помочь вам избежать информационной перегрузки. Он может фильтровать, категоризировать и определять приоритеты электронных сообщений, чтобы наиболее важные получали необходимое внимание.
Точно так же системы NLP, встроенные в программное обеспечение для совместной работы, могут транскрибировать и подытоживать встречи. Они могут даже распознать и зафиксировать ключевые моменты, сделанные в ходе совещания, и сообщить о назначенных мероприятиях. Такая автоматизация с поддержкой NLP помогает людям экономить время и повышает общую организационную эффективность.
Сценарии использования обработки естественного языка
НЛП трансформирует отрасли. Приложения NLP повышают эффективность работы сотрудников, улучшают клиентский опыт и позволяют принимать стратегические решения в самых разных секторах. Ниже приведены некоторые заметные сценарии использования NLP в различных отраслях.
Defect analysis: Identifying common defects through analysis of technicians’ notes, customer complaints, and warranty claims
Supplier communication: Enabling timely material procurement through analysis of supplier emails and documents
Fraud detection: Identifying anomalies indicating fraud through transaction pattern monitoring and analysis
Trade acceleration: Automating trade execution based on real-time data analysis
Clinical documentation: Transcribing and managing clinical notes
Patient data analysis: Informing diagnoses through pattern identification in patient records
Contract analysis and compliance checking: Automating document review for regulatory and other compliance
Legal discovery automation: Isolating pertinent information from vast amounts of documents rapidly
Claims processing automation: Extracting and validating information from submitted claim forms and medical reports
Risk assessment: Improving risk assessment accuracy through automated extraction of data from medical records and lifestyle questionnaires
Maintenance log analysis: Analyzing notes from maintenance personnel to predict and prevent equipment failures
Geological data interpretation: Extracting and summarizing data from sources such as geological reports, drilling logs, and research papers
Property listing optimization: Generating engaging descriptions based on property features
Lead qualification: Analyzing email and online inquiries to prioritize based on readiness to purchase
Inventory optimization: Predicting demand through sales data analysis
Personalized product recommendations: Creating more personalized shopping experiences through purchase history analysis
Подходы к обработке естественного языка
Большинство подходов к обработке естественного языка относятся к одной из двух широких категорий. Они используют либо подход на основе правил, либо подход на основе машинного обучения.
NLP на основе правил
Такой подход пытается определить набор лингвистических правил, которым компьютер может следовать, чтобы достоверно понять и сгенерировать человеческий язык. В результате она сильно ориентирована на лингвистические аспекты вычислительной лингвистики. Подходы на основе правил могут быть очень эффективными, если вы используете наборы данных, в которых язык контролируется и предсказуем, например юридические документы или технические руководства.
Машинное обучение на базе NLP
Подход на основе машинного обучения к NLP использует различные статистические методы и алгоритмические подходы. Вместо того, чтобы создавать правила заранее, цель состоит в том, чтобы позволить компьютеру научиться общаться на основе массивного набора данных. Идея состоит в том, что как только компьютер обработает достаточное количество примеров человеческого языка, компьютер определит закономерности, которые делают для хорошего человеческого языка. При наличии достаточно больших наборов данных подход к NLP на основе машинного обучения может быть достаточно гибким и удивительно эффективным.
Краткая история обработки естественного языка
Обработка естественного языка как ветвь ИИ начала развиваться в 1940-х годах. В 1980-х и 1990-х годах вычислительные решения стали более мощными, и машинное обучение начало расти. В последнее время рост глубокого обучения, нейронных сетей и различных форм генеративного ИИ полностью трансформировал обработку естественного языка.
События в эволюции NLP
- 1940-е годы | Появляются первые разработки NLP, включая Меморандум Уивера о машинном переводе
- 1950-е | «Универсальная грамматика» введена; предложен тест Тьюринга; возникает глубокое обучение
- 1960-е | Чат-боты, такие как ELIZA, появляются и эволюционируют лингвистические теории, лежащие в основе НЛП
- 1970-е годы | Возникает теория грамматики случаев и семантические сети; системы на основе правил развиваются, чат-боты распространяются
- 1980-е | Разработка алгоритмов раннего машинного обучения; развитие технологий распознавания речи; расширение вычислительной лингвистики и возникновение теории РНН
- 1990-е | Появляются статистические модели и LSTM, и машинный перевод получает тягу
- 2000-е | Машинное обучение быстро развивается, развиваются нейронные языковые модели; становится доступным огромное количество разговорных и текстовых данных
- 2010-е годы | Значительное увеличение объема доступных данных и вычислений позволяет углубленное обучение быстро развиваться
- 2020-е | Широкие языковые модели, предварительно обученные языковые модели и трансформаторы получают известность
Обзор технологии обработки естественного языка
Обработка естественного языка — это общий термин, охватывающий целый ряд технологий и методов, позволяющих машинам понимать и выпускать человеческий язык. Каждая технология, позволяющая NLP, подпадает под одну из этих двух возможностей.
Подкатегории NLP
Обработка естественного языка охватывает целый ряд технологий и методов. Но основная цель NLP состоит в том, чтобы сделать возможным для машин понимание и производство человеческого языка. Эти две возможности являются основными компонентами обработки естественного языка.
- Понимание естественного языка (NLU): Понимание естественного языка фокусируется на понимании и интерпретации человеческого языка. Для этого системы NLU должны иметь возможность синтаксического разбора, анализа семантики и понимания того, как контекст влияет на смысл в человеческом языке. Это может принимать такие формы, как понимание устных вопросов или выполнение задач на основе разговорных направлений.
- Генерирование естественного языка (NLG): Генерация естественного языка фокусируется на создании человекоподобного текста или речи. Для этого системы NLG должны иметь возможность превращать неструктурированные данные в естественный язык звучания. Это может означать обобщение информации или даже проведение бесед.
Роль машинного обучения в NLP
Что мог бы сделать компьютер, если бы он мог обучать себя новым навыкам? Вот что такое машинное обучение. Машинное обучение – это когда компьютеры учатся выполнять задачи самостоятельно без каких-либо специальных инструкций.
Для NLP машинное обучение принимает форму создания моделей, которые обеспечивают как понимание естественного языка, так и генерацию естественного языка. В нем используются методы, включая контролируемое обучение, которое относится к обучению моделей на основе данных с метками, и неконтролируемое обучение, т. е. обучение моделей на основе данных, не имеющих меток.
Роль глубокого обучения в НЛП
Глубокое обучение — это специфическая форма машинного обучения. Он использует нейронные сети, которые имеют несколько слоев, поэтому «глубокий» находится в названии. Под "обучением" понимается использование алгоритмов, которые идентифицируют и затем моделируют сложные шаблоны в наборах данных. Глубокое обучение важно в NLP, потому что оно сделало NLP намного лучше при определенных задачах. К ним относятся перевод между языками, анализ настроений в наборе данных и генерация текста.
Как нейронные сети расширяют NLP
Нейронные сети основаны на идее использования человеческого мозга в качестве модели обработки данных. Нейронные сети позволяют NLP-системам быть очень точными как в понимании, так и в генерации человеческого языка. Нейронные сети могут иметь различные архитектуры и являются ключевыми для поддержки таких приложений, как виртуальный ассистент, чат-бот или автоматический анализ текста.
Узнайте, что NLP может сделать для вашего бизнеса
Знакомьтесь, Joule — искусственный интеллект от SAP, который поможет вам быстрее, рациональнее и эффективнее решать сложные бизнес-задачи и получать лучшие результаты. Просто скажи слово.
Вычислительная лингвистика и НЛП
Вычислительная лингвистика — область изучения, которая сочетает в себе информатику и лингвистику, чтобы сосредоточиться на обработке естественного языка. Она создает теоретическую основу, позволяющую компьютерам понимать человеческий язык.
- Синтаксис
Изучает структуру предложений и правила, которые делают предложения грамматическими или неграмматическими.
Английский синтаксис: «Кошка сидит на коврике».
Неправильный английский синтаксис: “Cat the on mat sies.”
- Семантика
Изучение смысла в языке, включая то, как слова и фразы представляют собой объекты, действия и идеи.
Приговор: «Кошка на коврике».
Семантическая интерпретация: Смысл заключается в том, что кошка физически расположена поверх ковра.
- Прагматика
Изучает, как контекст влияет на интерпретацию языка.
Приговор: «Можете ли вы передать соль?»
Прагматическая интерпретация: Хотя это вопрос о способности, контекст показывает, что вы должны понять, что это вежливая просьба к кому-то передать соль.
Вычислительная лингвистика важна, потому что она соединяет точки между лингвистической теорией и реальными приложениями NLP.
Вопросы и ответы
4 основных подполя:
1. Понимание естественного языка (NLU), фокусирующееся на том, чтобы компьютеры могли понимать смысл и намерения за языком
2. Генерация естественного языка (NLG) обеспечивает удобочитаемый текст из структурированных данных
3. Распознавание речи преобразует разговорный язык в копию
4. Синтез речи преобразует копию (или письменный текст) в разговорный язык