Модерирование имен пользователей/никнеймов работает иначе, чем модерирование чатов и сообщений.
URL-адреса в псевдониме являются явным признаком спамера. Если кто-то называет себя BtcKing111 , совершенно очевидно, для чего они здесь. Упоминание 3-й рейх в чате — это совсем не то же самое, что использовать его в качестве имени пользователя.
Вот почему в Tisane есть специальный режим для псевдонимов. Чтобы вызвать логику модерации псевдонимов, укажите "format":"alias" в структуре ваших настроек.
Один из распространенных «подводных камней» — выбор языка. Поскольку в Tisane предусмотрена удобная функция автоматического определения языка, возникает соблазн просто использовать звездочку ("language":"*"). Не делайте этого!
Во-первых, идентификация языка не работает должным образом со строками короче 30–50 символов. Иногда просто невозможно понять, какой это язык. Рассмотрим такое слово, как «status». Это одно и то же слово во французском, испанском, английском и многих других языках. Если бы вам нужно было определить язык, основываясь только на слове «status», какой ответ был бы правильным? Однозначного ответа просто нет, так устроены языки. (Разработчик спросил, решит ли проблему добавление цифр или пробелов в конце. Ответ — нет).
С именами пользователей все еще сложнее: имена пользователей не обязательно являются законными словами в каком-либо языке. Это может быть смесь символов, основанных на других словах. Это могут быть различные компоненты имени, смешанные вместе (которые, опять же, может присутствовать в нескольких языках: Peter, John и т. д.).
Как узнать язык имени пользователей? Один из способов — посмотреть настройки или IP пользователя, но это крайне ненадежно. Более того, в большинстве случаев имена пользователей создаются для того, чтобы их понимали другие члены сообщества, которое сегодня обычно представляет собой глобальную аудиторию. Английские имена пользователей встречаются не только в США и Великобритании. Добавьте к этому намеренное запутывание и смешивание слов.
И тут возникает вопрос вашей аудитории. Если один из ваших пользователей создал имя, которое вполне приемлемо на немецком языке, оно может оказаться оскорбительным на английском языке. Само собой разумеется, это может быть любая комбинация языков. Маркетологи хорошо знакомы с этой проблемой.
Может ли Tisane просто сканировать все языки, пока не найдет что-нибудь оскорбительное? Мы изучили этот вариант и решили не использовать его, поскольку большинство сообществ выступают против него.
Мы рекомендуем несколько маршрутов:
- Для латинских алфавитов предположим, что псевдоним написан на английском или на одном из основных языков вашего сообщества. Для каждого языка, который необходимо проверить, отправьте отдельный запрос. (Обратите внимание, что список языковых кодов, разделённый вертикальной чертой, например en|fr|es — не тот способ, с помощью которого это можно сделать: его цель — вызвать языковую идентификацию).
- Для нелатинских шрифтов сканируйте основной язык, связанный с этим шрифтом.
Не беспокойтесь о фильтрации URL-адресов, электронных писем и т. д. Они включены на всех языках. Автоматическая токенизация псевдонимов также встроена в составляющие (например, cryptorajah1244 -> crypto|rajah).
Пример
Запрос:
{
"language": "en",
"content": "cryptorajah1244 ",
"settings": {
"format": "alias"
}
}Ответ:
{
"text": "cryptorajah1244 ",
"topics": [
"cryptocurrency",
"finance",
"aristocracy"
],
"abuse": [
{
"sentence_index": 0,
"offset": 0,
"length": 11,
"type": "spam",
"severity": "high",
"tags": [
"cryptocurrency"
]
}
],
"entities_summary": [
{
"type": "role",
"name": "rajah",
"mentions": [
{
"sentence_index": 0,
"offset": 6,
"length": 5
}
]
},
{
"type": [
"username",
"person",
"identifier"
],
"name": "cryptorajah1244",
"mentions": [
{
"sentence_index": 0,
"offset": 0,
"length": 15
}
]
}
]
}