Прилагане на NLP за анализ на подкаст и създаване на уеб приложение

Моделите за обработка на естествен език стават все по-мощни през последните няколко години. В тази статия анализирам сложна реч, използвайки НЛП, за да направя това малко уеб приложение!

Колко добри са НЛП моделите?

Моделите за обработка на естествен език (NLP) стават много мощни. За да покажа колко са добри, първо ще говоря малко за GPT-3.

Ако се занимавате с НЛП, може би сте чували за GPT-3. Това е най-новият Generative Pre-trained Transformer на OpenAI. Това е един от най-усъвършенстваните езикови модели до момента. Моделът е предварително обучен, което означава, че не се нуждае от повторно обучение, за да изпълнява специфични за домейна задачи. Всъщност е толкова добро, че много време е трудно да се повярва, че във всички отговори няма човек, който пише.

Моделът има 175 милиарда параметъра и е наистина масивен. За да го поставим в перспектива, човешкият мозък има около 85 милиарда неврони. Моделът беше обучен с голямо количество данни, извлечени от интернет, както и от книги. Поради размера на модела, сложността и количеството данни, с които е обучен, моделът стана изключително добър в генерализирането и може да се справи много добре с много различни задачи.

Можете да експериментирате с GPT-3, като използвате тази връзка към тяхната открита детска площадка. Ето малко взаимодействие, което имах с него, когато използвах детската площадка:

Както можете да видите, моделът реагира изключително добре на тази произволна задача. Ако опитате това на вашия Google Home, Siri или Alexa от днес, отговорът далеч не е толкова добър.

Ето още един:

Какво мислите за псевдокода? Не е лошо за модел, който също измисля римувани лозунги, нали?

Двете взаимодействия, които показах, са напълно различни едно от друго. Явната разлика в тези два примера показва колко адаптивна е тази технология и нейната удивителна способност да обобщава.

Примерен случай на употреба: уеб приложение

За да покажа потенциала на новите модели в областта на НЛП, направих малко уеб приложение, което ви позволява да изследвате анализа на този кратък клип от подкаст в Youtube. Избрах този клип, защото е доста сложен, а смисълът на речта е доста дълбок. Опитвам се да докарам моделите до техните граници, като взема много сложен пример на реч.

Функции на уеб приложението:

  • Предскажете темата на видеото
  • Разделете речта на глави и създайте резюмета за тях
  • Анализирайте преписа на видеоклипа за настроения, акценти и предупреждения

Но как можем да използваме моделите на НЛП, за да направим този инструмент?

Човек може да използва GPT-3 за анализ на видеото, но първо трябва да го транскрибира (променете формата на данните от аудио към текст). След като го транскрибирате, ще трябва да предадете текста на GPT-3. Получаването на точната информация, която искате в правилния формат, е голямо предизвикателство. Поради естеството на GPT-3 предоставените отговори няма да бъдат в един и същи формат при всяко запитване и следователно е трудно да се използва GPT-3 за създаване на инструмент като този, който направих за тази статия.

За да извърша транскрипцията и анализа на аудио файла, използвах AssemblyAI, който връща структуриран изход всеки път, което го прави съвместим с инструмента, който исках да направя.

Първо изтеглих видеоклипа като mp3, след което предадох mp3 чрез техния Python API. Опциите за анализ на файла са доста пълни, има набор от начини, по които аудио файлът може да бъде анализиран. За моя анализ използвах:

  • Автоматични глави (разделете транскрипцията на глави и ги обобщете)
  • Автоматични акценти (получете важни думи за подчертаване)
  • Безопасност на съдържанието (получете изречения с предупреждения за безопасност)
  • Анализ на настроението (получете настроението за всяко изречение)
  • Откриване на обект (получете етикет на високоговорителя за всяка дума)

След като поискате анализа с помощта на API, резултатът от анализа се връща във формат .json. Мога да предам тези резултати в Pandas DataFrames в Python. От там направих приложението с помощта на Streamlit и го внедрих в Google Cloud.

Как работи инструментът

Това е видеоклипът, който прехвърлих на инструмента за транскрибиране и анализ. Това е резюмето на видеото:

„По-добре е да се целиш ниско и постепенно да се подобряваш, отколкото да си поставиш невъзможна цел и да се провалиш. Това се постига с упражнения. Когато започнете да тренирате, не си поставяте цел, която е толкова висока, че да се нараните. Започвате с малко и постепенно увеличавате това, което можете да направите. Това важи и за подобряването на живота ви като цяло. Започвате с малки стъпки, които всъщност можете да постигнете. Тези малки стъпки се усложняват с времето и в крайна сметка водят до значително подобрение.“

Резюмето е написано от НЛП модел, но ако ви кажа, че съм го написал, може би ще ми повярвате. За да бъде ясно, това видео е много сложно и аз използвам модела на AssemblyAI до неговите граници тук, но той все още се представя изненадващо добре, както скоро ще видите.

Транскрипция на видеото

Транскрипцията се получи много добре. API правилно идентифицира всяка дума в аудиофайла, дори когато високоговорителите говорят един през друг. Транскрипцията също така връща казаното от говорещия във всяка дума, функционалност, която е изключително полезна.

Категории видео

Видеото е за самоусъвършенстване, но инструментът класифицира инструмента като бодибилдинг или вдигане на тежести. Речта се върти около вдигането на тежести като аналогия на самоусъвършенстването. В буквален смисъл той говори за вдигане на тежести, но в действителност той говори за предприемане на малки стъпки за подобряване.

Автоматични глави

Функционалността на автоматичните глави е изключително впечатляваща. Първата глава е наречена „Вашата най-добра стратегическа позиция“, втората е „Целете се достатъчно ниско“, а третата е „Когато отидете на фитнес“. Бих се съгласил видеото да бъде разделено на три глави, съгласен съм и с имената. Може би по-доброто име за последната глава би било „Принципът на Матю“.

Резюметата на главите също са много добри, но отново не улавят аналогията между вдигане на тежести и правене на малки постепенни стъпки, а по-скоро показват буквалния смисъл на това, което той казва.

Функционалността за автоматично създаване на глава също връща времевите клейма на всяка глава. Добавих бутон в приложението до резюмето на главата, при щракване върху който уеб приложението възпроизвежда видеоклипа от началото на главата.

Анализ на транскрипцията

Последната част на инструмента показва преписа на всяка глава от всеки говорител. Той показва акцентите, настроението и предупрежденията за безопасност. Обърнете внимание на анализа на настроенията по-горе. Цветът на текста показва настроението. Синьото показва неутрално, червеното показва отрицателно, а зеленото показва положително настроение.

Виждате, че интервюиращият е доста неутрален, докато гостът говори по-емоционално. В изображението по-горе гостът структурира отговора си, като започва с негативно настроение, след което го контрастира с положително настроение.

API е добър в откриването на проблеми с безопасността при транскрипцията. В уеб приложението, ако задържите курсора на мишката над текста, можете да видите защо предупреждението е било повдигнато и с каква увереност. В изображението по-горе маркираният текст е обозначен с предупреждение за нецензурни думи, с увереност от 99,9%.

Така че, както можете да видите, макар и не перфектен, анализът е много проницателен. Малкото уеб приложение взема много сложна реч, транскрибира я и завършва анализ по обсъжданите теми. Той обобщава темите, организира информацията и накрая анализира казаното от говорещите по отношение на настроенията и опасенията за безопасността.

Изводи

В тази статия обяснявам как AI може да се приложи за анализиране на речта. Направих това уеб приложение, което можете да изпробвате сами. Той разделя клип от подкаст, като го разделя на глави, обобщава главите и дори предоставя анализ на настроението на речта. НЛП моделите стават все по-силни и могат да се представят добре при много сложни задачи и могат лесно да се използват, както е показано в тази статия.

Подкрепете ме 👏

Надяваме се, че това ви е помогнало, ако ви е харесало можете последвайте ме!

Можете също така да станете среден членизползвайки моята реферална връзка, да получите достъп до всички мои статии и още: https://diegounzuetaruedas.medium.com/membership

Други статии, които може да ви харесат

„Информационна теория, приложена към Wordle“

„Използване на AI за откриване на измами“