Локализация приложений для китайского рынка-2. Блок-листы

в 14:47, , рубрики: китай, Разработка под android, разработка под iOS, фильтрация, цензура

В предыдущей теме я лишь сделал краткий обзор требований к разработчику, который хочет выпустить свое приложение на рынке КНР. Из всех полученных вопросов два основных касались именно блок-листов и вывода денег из Китая. Первый пункт я и хочу рассмотреть более подробно.
Локализация приложений для китайского рынка-2. Блок-листы - 1
禁 — значит «запрещено»


Естественно, такие вопросы следует начинать изучать с нормативно-правовой базы. Одним из главных документов на эту тематику является 文化部令第49号 — 网络游戏暂行管理办法(Указ Министерства Культуры КНР №49 «Временные меры по регулированию и управлению онлайн-играми»). В статье 9 перечислено то содержимое, которое недопустимо в онлайн-играх:
«Статья 9. В онлайн-играх не должно быть следующего содержимого:
1) Нарушающего основные принципы Конституции КНР;
2) Создающего угрозу национальному единству, суверенитету и территориальной целостности КНР;
3) Разглашающего государственную тайну, ставящего под угрозу национальную безопасность или наносящего вред национальной чести и интересам;
4) Подстрекающего к этнической ненависти или дискриминации по этническому признаку, подрывающего национальное единство, либо ущемлящего национальные обычаи и привычки;
5) Содействущего культам и суевериям;
6) Распространяющего слухи, которые нарушают общественный порядок, подрывают социальную стабильность;
7) Распространяющего непристойности, порнографию, азартные игры, насилие или подстрекающего к преступлениям;
8) Оскорбляющего, содержащего клевету по отношению к другим лицам и ущемляющего их законные права и интересы;
9) Противоречащего общественной морали;
10) Другого содержимое, запрещенного нормами законов, административными и государственными установлениями.
Все более-менее здраво и разумно. Не будем дискутировать о целесообразности подобных ограничений, а поговорим на тему, как подойти к технической реализации этой задачи.
Сразу же небольшая ремарка — если у вас большой проект, от которого ожидается большая отдача, дальнейший текст для вас смысла не имеет и вам лучше сразу приобрести энтерпрайз-решение, в котором все это давно реализовано на высшем уровне, базы обновляются ежедневно, а техподдержка добра и лояльна. Например, такие продукты предлагает 古尼 — их „Система контроля общественных настроений“ действительно шикарна и включает в себя все, что только возможно, две невозможных функции и и одну невероятную. Правда обойдется вам это решение в 150.000 юаней единоразово + 20.000 юаней ежегодно. Есть и другие фирмы, но ценовой диапазон примерно одинаков.
Если же у вас небольшой проект, то следующий текст для Вас.
Согласно законодательству КНР, весь создаваемый пользователем контент должен цензурироваться. Пользователь может создавать следующий контент:
1) текстовый( ники, сообщения другим игрокам)
2) графический (аватары)
3) видео

Итак, пункт первый — цензурирование текстового контента
В самой реализации невозможности набора(сохранения) определенных слов и предложений нет ничего сложного. Но это на первый взгляд. Вы, как и 100% иностранцев понятия не имеют о том, какие именно слова и предложения необходимо блокировать. Ничего сложного, такие таблицы легко находятся на китайских форумах разработчиков, ищутся по запросу 敏感词库 (база чувствительных слов и выражений) и сразу же скачиваются в формате XLS или XML, а они легко встраиваются в любой блок-лист.
Сложности начинаются потом.
Во-первых, любой житель КНР понимает и может читать как традиционные иероглифы, так и упрощенные. Но в системе Unicode один и тот же иероглиф в традиционной и упрощенной форме — два разных символа. Соответственно, вам необходимо либо раздувать базу вдвое-втрое простым путем конвертации упрощенных в традиционные (то есть вместо одной записи „правительство неспособно“ будет две — »政府无能 и 政府無能)либо же на лету конвертировать одни в другие и сопоставлять с базой. Исходники подобных проектов по конвертации ищутся по запросу 简繁转换工具代码
Во-вторых, для набора текста на компьютеретелефоне житель КНР в 95% случаев использует пиньин. Пиньин использует фонетическую транскрипцию записи иероглифов и вы выбираете нужный вам по системе, очень похожей на Т9. То есть, для того, чтобы набрать предыдущую фразу, необходимо напечатать следующее:
Локализация приложений для китайского рынка-2. Блок-листы - 2
и выбрать первый вариант. При создании блок-листа это вызывает определенные сложности. Ведь если заменить 无 на wu, то смысл фразы (政府无能) останется полностью понятным — kak есJIu 6bI написать вот так. То есть надо либо применять конвертор иероглифов в транскрипцию на лету и сопоставлять с базой, либо же раздувать базу еще в несколько раз ( добавлять значения 政府无neng, zheng府无能 и т.д.) Это не считая того, что иероглифы можно маскировать похожими буквами с диакритическими знаками (это вообще-то тональности, но к теме не имеет ни малейшего отношения — wǔ,wù,wú,wū)
В-третьих, надо учитывать местные хитрости. Как обойти блок-лист на русском, примерно представляют все. В китайском это одновременно и проще и сложнее. Допустим, 政府(правительство) можно записать как 正夂广付 — при этом носитель языка легко поймет смысл, но система уже его не заблокирует. Для этого тоже существуют определенные решения, основанные на эвристике и сопоставлении элементов иероглифов — сначала ищется 字根库(база иероглифических элементов), а потом в ней кропотливо прописываются связи между ними и возможные комбинации их между собой. Опять же, не надо забывать, что это все необходимо делать как для традиционных форм, так и для упрощенных.
В-четвертых, базу необходимо постоянно обновлять, так как местные светлые головы тоже не дремлют и постоянно выискивают новые способы контроля.

Блокировка графического контента
Тут все немного сложнее и без конечного модератора все-таки не обойтись, но упростить ему работу можно( и даже нужно).
Во-первых, на картинках так же может содержаться текстовая информация. Для этого необходимо подключить любой OCR-модуль и связать его с текстовой базой из пункта выше
Во-вторых, существует несколько десятков стилей написания иероглифов. Но задача облегчается тем, что любой иероглиф в написании с использованием определенного стиля письма будет легко определяться. Для этого мы идем на любой сайт-конвертор(вроде этого, парсим его базу данных и назначаем каждому иероглифу соответствие. Например, вышеприведенная фраза о правительстве в стиле 迷你简黄草 будет выглядеть так:
Локализация приложений для китайского рынка-2. Блок-листы - 3
А в стиле中国龙新草体 вот так:
Локализация приложений для китайского рынка-2. Блок-листы - 4
Соответственно, нужно по сути создать для каждого иероглифа в базе свою картинку и назначить ей соответствие с пунктом в блок-листе.
В-третьих, необходимо использовать уже имеющиеся наработки по блокировке картинок явно порнографического характера, еженедельно читать новости и добавлять фотографии из новостей в таблицу блокировки уже графического контента(по анализу соответствий изображений наработок огромное количество во всем мире) и т.д. Полностью модераторов от работы это не избавит, но облегчит ее изрядно.
Ну а реализация автоматического цензурирования видеозаписей настолько громоздка и труд по ее созданию своими силами настолько неподьемен, что эту функцию вообще проще отключить. Ну, или озаботиться ручной премодерацией всех видеозаписей.
Собственно, реализация первых двух пунктов процентов на 90% защитит вас от громкого вылета с китайского рынка и даст вам пропуск во все уважаемые местные магазины приложений.
Это только базовые действия. В статье они рассмотрены очень поверхностно, в статье не рассмотрен процесс фильтрации контента, который из приложения отправляется на сторонние ресурсы( соцсети, микроблоги и т.д), не рассмотрен процесс фильтрации файлов на наличие запрещенного контента и еще сотни пунктов. Вот более-менее упрощенная схема того, как работает решение Goonie. После нашей собственной реализации подобного я теперь понимаю, за что они требуют деньги-)
Локализация приложений для китайского рынка-2. Блок-листы - 5
Спасибо за внимание. Я надеюсь, было интересно.
P.S. Пример базового текстового блок-листа на 3.500 строк (вдруг кому-то интересно) находится по ссылке

Автор: vaily

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js