Tisane использует специальный тип встроенного модуля проверки орфографии для обработки текста как с непреднамеренными ошибками (опечатками), так и с противоречащими манипуляциями текстом (например, algospeak).
Проверка орфографии использует несколько различных методов для обработки различных типов манипуляций (маскировка символов, замены и т. д.). Эти исправления не ограничиваются ненормативной лексикой или оскорблениями и учитывают контекст. Одно и то же слово с ошибкой может быть истолковано по-разному в разных предложениях.
Если исправления в предложении были признаны необходимыми, предложение получает атрибут corrected_text, в котором регистрируется исправленный текст. (Установите для words значение true, чтобы вывести свдеения о преждложениях)
Проверка орфографии не является инструментом «вы имели в виду» , как многие люди, похоже, считают:
- Если слово является допустимым, неважно, употребляется ли оно неправильно или является эзотерическим, Tisane не исправит его. Например, если noun неправильно написано как nun или home как horse, Tisane не поможет (если только это не часть известной, часто запутанной концепции, например, corn star в английском).
- Основная цель проверки орфографии — расшифровка запутанных текстов. Поэтому проверка орфографии смещена в сторону более непристойных, предосудительных или часто используемых понятий.
Чтобы обойти эту проблему, вы можете использовать мин_ общий_ частота параметр.
Это позволяет исключить наиболее эзотерические смыслы и слова.
Частота оценивается по шкале от 0 до 10, где 10 соответствует наибольшей частоте.
Некоторые эзотерические чувства также оцениваются в -10.
Мы рекомендуем вам изначально установить для параметра min_generic_ значение 1 или 2, чтобы увидеть, сработает ли оно в вашей ситуации.
Если вам нужно избежать проверки орфографии потенциальных имен собственных, установите для параметра lowercase_spellcheck_only значение true.
Запрос:
{
"language":"en",
"content":"I will br*k his neck and kll him",
"settings":
{
"words":true,"topics":false,"sentiment":false,"snippets":true
}
}Ответ:
"text": "I will br*k his neck and kll him",
"abuse": [
{
"sentence_index": 0,
"offset": 0,
"length": 32,
"text": "I will br*k his neck and kll him",
"type": "criminal_activity",
"severity": "medium",
"tags": [
"threat",
"violence",
"death"
]
}
],
"sentence_list": [
{
"offset": 0,
"text": "I will br*k his neck and kll him",
"words": [
{
"type": "word",
"offset": 0,
"text": "I",
"lettercase": "capitalized",
"role": "agent",
"lexeme": 63061,
"family": 301,
"grammar": [
"PRON"
],
"stopword": true
},
{
"type": "word",
"offset": 2,
"text": "will",
"lexeme": 146938,
"family": 316,
"grammar": [
"VERB"
],
"stopword": true
},
{
"type": "word",
"offset": 7,
"text": "br*k",
"role": "verb",
"lexeme": 20996,
"family": 107846,
"grammar": [
"VERB"
]
},
{
"type": "word",
"offset": 12,
"text": "his",
"lexeme": 63064,
"family": 303,
"grammar": [
"DET"
],
"stopword": true
},
{
"type": "word",
"offset": 16,
"text": "neck",
"lexeme": 93293,
"family": 40510,
"wikidata": "Q9633",
"grammar": [
"NOUN"
]
},
{
"type": "word",
"offset": 21,
"text": "and",
"lexeme": 4096,
"family": 322,
"grammar": [
"CCONJ"
],
"stopword": true
},
{
"type": "word",
"offset": 25,
"text": "kll",
"role": "verb",
"lexeme": 77380,
"family": 113102,
"grammar": [
"VERB"
]
},
{
"type": "word",
"offset": 29,
"text": "him",
"role": "patient",
"lexeme": 63062,
"family": 303,
"grammar": [
"PRON"
],
"stopword": true
}
],
"corrected_text": "I will break his neck and kill him"
}
]
}