И как я более известный комик, чем Джо Роган

Недавно я работал над функциональностью Follow Reset, которая требует машинного обучения и обработки естественного языка, поэтому я экспериментировал с двумя известными API NLP: AWS Comprehend и Google Natural Language. Хотя мой основной интерес к этим API связан с их возможностями пользовательского моделирования, мне было любопытно посмотреть, какие быстрые результаты я могу получить с помощью их базовых функций распознавания сущностей и категоризации.

Основная цель продукта проста: использовать биографию Twitter для извлечения и обнаружения высокоуровневой категориальной информации о людях.

Мой основной тестовый пример — это описание профиля Джо Рогана, очень известного комика и подкастера с 4,68 миллионами подписчиков в Твиттере (на момент написания статьи).

Моя (наивная) надежда заключалась в том, что эти API-интерфейсы смогут извлечь из этого описания, что этот человек — Джо Роган, комик.

Результаты были… ммм… удивительными, если не сказать больше.

😕 Начальные (нечетные) результаты



Я использовал биографию Джо в Твиттере в качестве входных данных для обоих API:

Комик/фанатик смешанных единоборств/психоделический авантюрист Ведущий The Joe Rogan Experience #FreakParty https://www.facebook.com/JOEROGAN

AWS Comprehend распознает Джо Рогана как человека. Хорошее начало. В AWS есть функция, называемая извлечением ключевых фраз, которая, к сожалению, в данном случае не добавляет большого контекста и в целом здесь довольно бесполезна.

Google, с другой стороны, на самом деле не распознает «Джо Рогана» как человека, хотя он идентифицирует как «Хозяина», так и «фанатика смешанных единоборств» как личность. Странный.

В то время как результаты сущностей Comprehend, как правило, более основаны на фактах (Джо Роган — человек), результаты Google попытка обеспечить контекст, идентифицируя прямые контекстуальные сущности в его биографии, такие как «авантюрист», а также статью в Википедии о опыт Джо Рогана — его очень популярный подкаст — контекст не содержащийся в биографии.

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

🔑 Изменение входных данных, контент является ключевым?

Что произойдет, если мы изменим имя с Джо Рогана на Алекса Шарпа?

Вот обновленная строка ввода:

Комик/фанатик смешанных единоборств/психоделический авантюрист Ведущий The Alex Sharp Experience #FreakParty https://www.facebook.com/AlexSharp

Amazon по-прежнему считает Алекса Шарпа личностью. Прохладный. Я это. 🙋‍♂️

Результаты Google… неожиданны. Почему-то Google более уверен в том, что Алекс Шарп — комик, чем Джо Роган. Ну конечно 😂

🙃 Джо Роган не Джо Роган?

Что произойдет, если вместо Joe Rogan заменить заглавные буквы на joe rogan? Когда мы это делаем, Amazon больше не распознает человека. Google по-прежнему считает, что мы вероятно говорим о комиксе, но не намного.

Что произойдет, если мы заменим имя вымышленного персонажа или изменим заглавные буквы в некоторых словах вокруг имени? Здесь я изменил имя с Алекс Шарп на Рональд Макдональд.

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

Amazon распознает обе формы, но имеет намного более высокий уровень достоверности, когда Рональд Макдональд не окружен словом с заглавной буквы.

Результаты Google более категоричны: не удается распознать сущность Person вообще, если термин окружен другими существительными с заглавной буквы: он распознает всю фразу Опыт Рональда Макдональда как «Другое». . Он думает, что это что-то, но не знает что.

Хотя эти результаты имеют логическое объяснение для непрофессионала — слова, написанные с заглавной буквы, часто являются именами собственными — немного разочаровывает, что эти продукты основаны на таких основных и хрупких правилах грамматики.

☝️Массовые неквалифицированные советы Amazon и Google

Мне кажется (огромное предостережение: я полный любитель ML/AI), что проблему распознавания лиц можно решить, идентифицируя имена на основе того, соответствуют ли они (или не соответствуют) словарю. слова. Ни слова joe, ни rogan не являются словарными словами, поэтому мы можем с некоторой уверенностью предположить, что в паре joe rogan может быть чьим-то название? Я не знаю, я далеко не плаваю в глубоком конце бассейна, я едва понимаю 🤷🏻‍♂️.

🧙‍♀️🚫🦄 Здесь нет магии

Как мы видим, эти API могут быть невероятно хрупкими, часто странным и неожиданным образом реагируя на крошечные изменения вводимых данных.

Кажется, что они работают по довольно элементарным грамматическим «правилам» — имена собственные должны писаться с заглавной буквы, имена собственные должны существовать сами по себе, — которые во многих случаях невероятно хрупки, особенно если учесть, что многие из нас не точно писать в Интернете и социальных сетях в академической санкционированной грамматике. Замените заглавную букву на строчную, и все сломается, а у бедного Джо Рогана украдут его личность. Грустный. 😟

Помимо этого в значительной степени не впечатляющего, но головокружительного упражнения на любопытство, есть действительно умопомрачительная работа, происходящая в машинном обучении на основе глубокого обучения и НЛП. К сожалению, AWS Comprehend и Google AutoML больше похожи на версию технологии для тренировочных колес, которая может буквально печатать слова до того, как мы о них подумали, побеждать людей в сложных стратегических играх, водить автомобили и многое другое. К сожалению, эти API не впечатляют ничем, кроме базовой грамматической категоризации и анализа тональности (здесь это не рассматривается).

🙏 Спасибо, что прочитали. Если вам интересно узнать больше о продукте, который вдохновил вас на написание этого поста, ознакомьтесь и подпишитесь на Follow Reset, что позволит очень легко очистить вашу ленту Twitter. эм>