Поговорите о том, как машины понимают человеческий язык

машинное обучение NLP
Поговорите о том, как машины понимают человеческий язык

сложность человеческого языка

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

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

Если трудно описать, насколько сложен естественный язык, то мы посмотрим на сложность естественного языка с точки зрения математической комбинации.Конечно, этот пример не совсем корректен.Смысл в том, чтобы испытать взрывной характер естественного языка. , сложность. Все слышали классическую историю о заполнении сетки шахматной доски пшеницей: одно зерно в первом поле, два зерна во втором, четыре зерна в третьем, восемь зерен в четвертом и так далее. Каждая ячейка содержит в два раза больше зерен, чем предыдущая, всего до 64 ячеек. Тем не менее, для производства всего этого количества пшеницы во всем мире требуется две тысячи лет, что является взрывоопасной комбинацией пространства. Вы можете себе представить, если всего 10 000 китайских иероглифов, а длина предложения составляет 20 символов, насколько велико такое пространство для комбинаций? 10 000 в 20-й степени — это число слишком велико, чтобы его можно было описать во всей вселенной.

представление языка

Мы знаем, что машина обрабатывает цифровые сигналы, поэтому вся информация в машине является цифровой, поэтому, если какая-либо информация должна быть обработана машиной, она должна быть сначала закодирована в двоичный сигнал 01. Например, слово «привет» закодировано в UTF-8, а двоичный код — «111001001011110110100000 1110010110100101101111101», если машина не кодирует «привет», оно не может быть обработано, и людям трудно прочитать эту строку из 1 с. и 0. В чем смысл.

Машины обычно не используют напрямую кодировки, такие как UTF-8, при обработке естественного языка, а используют векторы слов. Векторы слов обычно имеют две формы: горячую форму и распределенную форму. Простейший векторный метод — это горячая форма, его метод обработки простой и грубый, как правило, он заключается в том, чтобы подсчитать все V слов, содержащихся в тезаурусе, а затем зафиксировать порядок V слов, а затем каждое слово может использовать размерность V. Он представлен разреженным вектором , только элемент в векторе, где появляется слово, равен 1, а все остальные элементы равны 0. Например, в следующих словах первый элемент равен 1 для Китая, шестой элемент — 1 для США, а пятый элемент — 1 для Японии.

中国 [1,0,0,0,0,0,0,0,0,……,0,0,0,0,0,0,0]
美国 [0,0,0,0,0,1,0,0,0,……,0,0,0,0,0,0,0]
日本 [0,0,0,0,1,0,0,0,0,……,0,0,0,0,0,0,0]

Из этого видно, что размерность формы one-hot обычно очень велика, потому что количество слов обычно находится на уровне 10W, что может привести к размерной катастрофе. Кроме того, эта форма представляет слова только по порядку и 01, что является пустой тратой места. Другое дело, что любые два слова таким образом обособляются, и невозможно увидеть корреляцию между двумя словами.

Ввиду недостатков однократной формы векторов слов появилось другое представление векторов слов - распределенное представление слов. Распределенные векторы слов просто используют обычные векторы для представления векторов слов.Значением элементов вектора является любое действительное число, а размерность вектора определяется заранее, например, это может быть 50 или 100 измерений. Вектор слова в настоящее время подобен следующему (здесь предполагается, что он представлен 5 измерениями):

中国 [1.25, 0.2, 0.3, 0.5, 0.6]
美国 [0.1, 0.3, 0.5, 0.1, 1.5]
日本 [2.2, 0.2, 0.4, 0.6, 1.0]

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

связь между машиной и человеком

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

От звука к тексту

Физика младших классов средней школы говорит нам, что звук — это своего рода волна.После получения звуковой волны органы в ухе отвечают за преобразование волны в электрические сигналы, которые затем отправляются в мозг для обработки. Звук, который машины улавливают с помощью датчиков (например, микрофонов), также является волной, но эти волны описываются множеством дискретных точек.

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

машинный язык понимания

После преобразования речи в текст начинается основная часть — понимание семантики, то есть того, что означает текст. Он включает почти все модули знаний по обработке естественного языка (NLP), и связанное с ним содержание также очень большое и сложное, что будет подробно объяснено позже. При анализе семантики, как правило, необходимо разбить предложение на более мелкие единицы, а также определить ключевые слова и структуры в предложении. Возьмем простой пример, такой как «Что вкусного рядом?», предложение будет причастием как «рядом/есть/что/вкусно/», тогда «рядом», «что» и «вкусно» являются ключевыми словами предложения, вы можете просто передать их, чтобы они соответствовали намерению. Конечно, понять семантику не так просто, особенно в сценариях с открытым доменом. Это также обычно включает в себя распознавание именованных объектов, распознавание намерений, классификацию текста, синтаксический анализ, сходство текста, анализ настроений и т. Д. В НЛП.

машинная речь

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

Об авторе: псевдоним мореход, хорошо разбирается в искусственном интеллекте, информатике, математических принципах, базовых алгоритмах. Книги: «Анализ дизайна ядра Tomcat», «Иллюстрированная структура данных и алгоритм», «Популяризация принципов искусственного интеллекта», «Иллюстрированные принципы параллелизма Java».

Поддержите автора, купите книгу автора!



Сосредоточьтесь на искусственном интеллекте, чтении и мышлении, расскажите о математике, информатике, распределенных технологиях, машинном обучении, глубоком обучении, обработке естественного языка, алгоритмах и структурах данных, глубине Java, ядре Tomcat и т. д.