В предыдущем посте я упоминал, что построил классификатор для идентификации статей Hong Kongese. Я использую термин Hong Kongese для обозначения письменной версии кантонского диалекта, используемой в Гонконге. Некоторые люди также называют это Юэ. В этом посте я расскажу, зачем он мне понадобился и как его построить.

Потребность в данных Hong Kongese

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

В НЛП самые основные данные - это простой текст. В Интернете есть много образцов письменности на английском и китайском языках, но очень мало в Гонконге. Например, Википедия часто является отправной точкой для глубокого обучения. Сжатый размер английской версии составляет 15,6 ГБ, версии смешанного традиционного / упрощенного китайского - 1,7 ГБ, а версии Yue - крошечные 52 МБ. Поскольку данных Hong Kongese так мало, с которыми можно поиграть, играть с глубоким обучением сложно.

Где я могу найти письменность на хонг конгезе?

Один из распространенных способов получить больше данных - просто сканировать Интернет. Common Crawl - пример такого набора данных. Последняя версия содержит аннотации языков, но хонг-конгезский / кантонский / юэ не входит в число поддерживаемых языков в их детекторе. Я провел обзор основных облачных платформ (AWS, Azure и GCP), все они предоставляют API для определения языка, но они могут различать только традиционный китайский и упрощенный китайский. Если мне нужен способ автоматически идентифицировать Hong Kongese, я сам по себе.

Одна альтернатива - сканировать только известные веб-сайты Гонконга. К сожалению, жители Гонконга пишут как на стандартном китайском, так и на гонконгском. Все блог-платформы и новостные сайты содержат статьи на обоих языках, поэтому я не могу делать никаких предположений. Другой вариант - онлайн-форумы. Именно такой подход использовали Oursky при создании своего кантонского чат-бота. Даже на онлайн-форумах все еще есть люди, которые пишут на стандартном китайском языке. Единственный способ получить данные только для Гонконга - создать детектор.

Детектор Hong Kongese легко построить

К счастью, это оказалось очень просто. Наиболее очевидной особенностью Hong Kongese является частое использование определенных символов, таких как 咗, 唔, 係, которых нет в стандартном китайском языке. Я назову эти маркеры Hong Kongese. Эти маркеры имеют очень похожие значения 了, 不, 是, которые используются гораздо чаще в стандартном китайском языке. Я назову эти маркеры китайскими. Иногда статьи на стандартном китайском языке содержат цитаты на гонконгском языке. Чтобы справиться с этим случаем, необходимо установить соотношение, чтобы выбрать язык.

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

Алгоритм, которым я закончил, таков:

Hong Kongese-ness = Маркеры Hong Kongese / Все символы

Китаец = китайские маркеры / все символы

Если (гонконгский язык - китаец) ›0,02, то это гонконгский язык.

В противном случае это стандартный китайский

Я выбрал число 0,02, основываясь на наблюдении за результатами. С этим алгоритмом я получил 100% точность. Очень просто.

(поскольку мне лень собирать больше статей, мой тестовый набор такой же, как мой обучающий. Не воспринимайте это слишком серьезно)

И набор данных, и код находятся на GitHub.

Что дальше?

Благодаря работающему классификатору Hong Kongese каждый теперь может просматривать веб-страницы и находить страницы Hong Kongese. Я использовал его для определения языков всех статей в моей базе данных и собрал статистику, чтобы написать свой предыдущий пост.

Интересный дополнительный вопрос: что мы можем сделать с большим набором данных, чем тот, который мы могли бы собрать вручную? В следующем посте я расскажу об использовании большего набора данных для создания того же классификатора Hong Kongese с глубоким обучением.