2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04
На днях я разговаривал со своим ИИ и сказал:
это: «Я иду наверх обедать, у нас СТЕЙК».
Однако программное обеспечение распознавания речи (SR) интерпретировало это как «… у нас есть СТАВКА».
Я столкнулся с похожей (но другой) проблемой раньше, когда говорил о фотографии, и сказал слово «ИЗОБРАЖЕНИЕ». Программное обеспечение SR интерпретировало это как «PITCHER».
Исправить это было простым переобучением программного обеспечения SR. (Или, может быть, мое произношение)
Но когда я говорю слова STEAK или STAKE, я произносю их точно так же, и переобучение программного обеспечения SR не поможет в таких случаях.
Шаг 1:
Одна идея решить «проблему омонимов».
Мне нужно посмотреть на слово «в контексте», чтобы определить, какое написание использовать. Человеческий мозг делает это довольно легко, и вы даже не подозреваете, что делаете это.
Это означает, что проверяются другие слова в предложении, и ваш мозг решает, какое написание выглядит лучше всего. Теперь, как мне сделать это в коде?
Мой А. Программа анализирует предложение на массив отдельных слов с помощью функции «Разделить» Visual Basic (VB). [MyArray = Split (InputSentence, ««)]
Каждое слово в массиве можно проверить, чтобы увидеть, является ли оно возможным омонимом, просмотрев таблицу базы данных, содержащую список омонимов.
Конечно, создание другой таблицы означает, что нам нужно будет заполнить ее данными, а также нам нужно будет иметь возможность поддерживать данные в таблице.
Позже можно создать самообучающуюся подпрограмму для сканирования кучи текста, поиска слов в моей таблице омонимов и захвата других «контекстных» слов. Хммммм, может, надо несколько столов …
Написание этих «Инструкций» помогает мне «продумать» решение проблемы программирования.
Шаг 2:
Структура таблицы HomonymContext
Моей первой идеей была таблица, содержащая слова, варианты написания и слова «Контекст». Идея заключалась в том, чтобы найти в предложении, содержащем омоним, другие слова, дающие «контекст», чтобы программа могла определить, какое написание использовать. Таблица также содержит столбец с именем «WordDef» для определения слова, которое больше подходит для человека, обслуживающего таблицу, чем для ИИ. код.
Для поиска каждого слова я могу использовать код VB и код SQL, например…
Для каждого слова в MyArray
Query = "Выберите слово из tblHomonynContext, где word = '" & word & "'"
если этот запрос возвращает результат, то слово является омонимом
Следующий
На данный момент это всего лишь псевдокод - я еще не написал точный код и не выяснил все детали. Но смело берите мою идею и воплощайте ее на своем любимом языке программирования.
Шаг 3:
Если ваше входное предложение содержит омоним, теперь вы можете
выполнить код VB, который будет проверять другие слова в вашем предложении с контекстными словами в результатах запроса.
Вы также можете сделать все это в хранимой процедуре SQL, которая может выполняться быстрее.
Функция VB «InStr ()» вернет число больше нуля, если одна строка содержится в другой строке, или она вернет ноль, если строка НЕ содержится в другой строке.
Instr () фактически возвращает позицию содержащейся строки. Если вы просто хотите узнать, содержит ли String1 String2, вы можете использовать такой код, как «If InStr (String1, String2)> 0…»
Вам нужно будет создать этот код на вашем любимом языке программирования.
Таблица HomonymContext - не очень удачный дизайн. В нем много повторяющихся данных, и это считается «ненормализованным» разработчиками базы данных. Лучшим способом реализации этой функции было бы использование двух таблиц в отношениях родитель-потомок. Одна таблица (Родительская) будет содержать список омонимов, их определения, а также идентификатор строки. Этот идентификатор строки используется как ключ к «Дочерней таблице», которая будет содержать слова и их контекстные слова.
Это было бы легче запросить (и поддерживать), чем мой оригинальный дизайн.
Рекомендуемые:
Как сделать A.I. Часть 2: 9 шагов
Как сделать A.I. Часть 2: В этой части рассказывается о шагах, которые я предпринял для создания ИИ на компьютере с Windows, используя бесплатную базу данных, инструмент разработки программирования и бесплатный встроенный движок TTS, который поставляется с Windows. Слово «Windows»; принадлежит Microsoft. Слово " Dra
Как - E-INK МОДУЛЬ ЭКРАНА ДЛЯ ЭЛЕКТРОННОЙ БУМАГИ - Часть 2 - Импорт настроить изображение: 4 шага
Как - E-INK МОДУЛЬ ЭКРАНА ДЛЯ ЭЛЕКТРОННОЙ БУМАГИ - Часть 2 | Импортировать Настроить изображение: В этом руководстве к Части 2 Руководства - МОДУЛЬ ДИСПЛЕЯ E-INK E-PAPER | Импортировать индивидуальное изображение, я поделюсь с вами, как импортировать понравившееся изображение и отобразить его в модуле E-Ink Display. Это очень просто с помощью нескольких секунд
Как сделать A.I. Часть 1: 5 шагов
Как сделать A.I. Часть 1: Начните с компьютера, на котором есть распознавание речи и преобразователь текста в речь. Вам потребуется уметь писать компьютерные программы, которые могут получить доступ к распознаванию речи и преобразователю текста в речь. Некоторые инструменты разработки приложений. а также
Как сделать печатную плату дома, часть 1: 4 шага
Как сделать печатную плату дома. Часть 1: В настоящее время мы можем легко создать высококачественную печатную плату, даже не профессионального качества, а хорошего качества для хобби-проектов. дома без специального материала. Что такое печатная плата? Печатная плата (PCB) механически поддерживает, а электрическая
Как сделать - МОДУЛЬ ЭКРАНА ДЛЯ ЭЛЕКТРОННОЙ БУМАГИ E-INK - Часть 1: 6 шагов
Как - E-INK E-PAPER DISPLAY MODULE - Часть 1: В этом уроке я хотел бы рассказать о модуле E-Ink E-Paper Display, который я обнаружил недавно. Это так здорово! Этот дисплейный модуль E-ink специально разработан для разработки дисплеев E-ink. Вам не нужно строить дополнительную схему и