{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/ru/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Фильтрация по ключевым словам в списках блокировки","projectTitle":"Tisane Developer Documentation","description":"Tisane is an NLP platform, used for content moderation & more.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"фильтрация-по-ключевым-словам-в-списках-блокировки","__idx":0},"children":["Фильтрация по ключевым словам в списках блокировки"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Хотя большинство пользователей используют Tisane для контекстно-зависимой модерации, некоторым пользователям по той или иной причине требуется простая фильтрация по ключевым словам."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tisane можно использовать для мониторинга списков слов, при этом имеются опции, помогающие избежать обычных ошибок мониторинга списков слов."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"включение-разбивки-слов-в-ответ","__idx":1},"children":["Включение разбивки слов в ответ"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["По умолчанию, Tisane выподит в ответе только разделы ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["abuse"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sentiment"]}," и ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["entities_summary"]},". Однако Tisane может предоставить разбивку слов, составляющих каждое предложение."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Чтобы вывести слова, добавьте ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"words\":true"]}," в параметр ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[" settings"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Все слова токенизированы (разделены на части); используемый алгоритм токенизации зависит от языка. Для пользователя очевидно, используются ли в языке пробелы или нет, есть ли в нем сложные слова (например, в немецком или голландском) или есть ли в нем слова, между которыми есть пробелы (например: ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["kung fu"]}," на аглийском или ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["EE. UU."]}," на испанском)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Результатом является структурированный массив с именем ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["words"]},". Он расположен внутри структуры ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sentence_list"]}," в ответе."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Каждый элемент слова содержит:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["фактическую строку (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["text"]},");"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offset"]},", где она начинается;"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["флаг ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["stopword"]}," для стоп-слов;"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["некоторые внутренние идентификаторы Tisane (см. Вариант 2 ниже);"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["сопутствующие особенности, такие как грамматика или стиль."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"реализация-фильтрации-ключевых-слов","__idx":2},"children":["Реализация фильтрации ключевых слов"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Существует два способа реализации фильтрации ключевых слов с помощью Tisane:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Вариант 1. Простой (не рекомендуется)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Вариант 2. Более мощный"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Оба подхода позволяют избежать ложных срабатываний, известных как «",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://en.wikipedia.org/wiki/Scunthorpe_problem"},"children":["проблема clbuttic»"]}," (замена ругательств более допустимыми словами)."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"вариант-1-простой-не-рекомендуется","__idx":3},"children":["Вариант 1. Простой (не рекомендуется)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Простое и очевидное решение:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Просмотр массива ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["words"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Для каждого элемента проверьте, содержит ли атрибут ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["text"]}," содержит одно из запрещенных слов (или выражений, поскольку токенизация является логической, и ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["reyuae"]}," или * электростанция* — это одно слово)."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"ограничения","__idx":4},"children":["Ограничения"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Простота имеет свои недостатки:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Что произойдет при склонении слова? Некоторые скажут: «Мы можем использовать корень», но не всегда возможно свести слово к корню."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Как мы улавливаем слово ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["bought _ на английском языке на основе леммы_buy"]}," ? Если вы предположите, что ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["b"]}," является его основой, нужно ли вам предположить, что каждое слово, начинающееся с ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["b"]}," является склоняемой формой ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["buy"]},"?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Более морфологически богатые языки (французский, немецкий, арабский, русский, хинди и т. д.) имеют гораздо большее разнообразие и многочисленные склонения."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Что произойдет, если слово написать немного по-другому, например ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["U.S.A."]}," вместо ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["USA"]}," или ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["email"]}," вместо ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["e-mail"]}," ?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Что произойдет, если слово будет запутано или, выражаясь языком информационной безопасности, будут использованы «конкурентные текстовые манипуляции»?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Что, если мы хотим отсеять любое упоминание об ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Alaska"]}," (штат), но разрешить ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Alaska Air"]}," и ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["запеченная аляска"]}," ? (Недавний пример из реальной жизни — статья о ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://en.wikipedia.org/wiki/Enola_Gay"},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Эноле Гей"]}]}," была удалена в ходе ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://www.newsweek.com/military-remove-enola-gay-photos-dei-rules-2041029"},"children":["Зачистки Пентагона в 2025 году"]}," (Поскольку при сопоставлении ключевых слов было отмечено слово «гей»)."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"вариант-2-более-мощный","__idx":5},"children":["Вариант 2. Более мощный"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Вариант 2 основан на внутренних идентификаторах Tisane. Этот путь позволяет устранить все перечисленные выше недостатки, используя возможности алгоритмической речи Tisane, а также возможности дешифровки и морфологического анализа."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Внутренние идентификаторы в записях слов: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lexeme"]}," и ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["family"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"о-лексемном-идентификаторе","__idx":6},"children":["О лексемном идентификаторе"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Идентификатор лексемы в Tisane связывется со словом и всеми его возможными склонениями."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Если слово запутано (например, «br*«k» вместо «break») или неправильно написано, и Tisane удается распознать исходное слово, то предоставляется идентификатор лексемы исходного слова."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"о-семейном-идентификаторе","__idx":7},"children":["О семейном идентификаторе"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Семейный идентификатор — еще один вариант, если мы хотим фильтровать по смыслу слова."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Например: Устройство, которое в США называют «elevator», в Великобритании называют «lift».  Это одно и то же реальное явление, просто разные термины. У них обоих одинаковый семейный идентификатор. Однако lift в смысле аэродинамической подъемной силы имеет другое семейственное обозначение."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Дополнительным бонусом является то, что семейные идентификаторы одинаковы на всех языках. То есть вы можете создать «список понятий», которые нужно зафиксировать, независимо от языка или диалекта."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Опытные пользователи могут даже фильтровать по категориям. Например: Любой вид самолета, любой вид автомобиля, любой вид птицы, игнорируя «глиняного голубя», но поймав «голубя» и т. д."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"почему-мы-рекомендуем-использовать-идентификатор-лексемы","__idx":8},"children":["Почему мы рекомендуем использовать идентификатор лексемы"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Однако, хотя Tisane в целом ориентирован на смысл слова, мы пришли к выводу, что разница между смыслами слова не всегда очевидна для пользователей. Кроме того, фильтрация ключевых слов обычно намеренно игнорирует контекст. Вот почему мы рекомендуем использовать идентификатор лексемы."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Для каждого слова или фразы в вашем списке:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Найдите идентификатор лексемы, либо запустив пример предложения и получив из него идентификатор лексемы, либо воспользовавшись нашим API прямого доступа к языковой модели."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Просмотрите масссив ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["words"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Для каждого слова сравните идентификатор лексемы со списком ваших идентификаторов лексем."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Например:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Запрос (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sentiment"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["topics"]},", и ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["entities"]}," выключено для упрощения вывода):"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"language\":\"en\",\n  \"content\":\"d/l star t*k for free\",\n  \"settings\":\n  {\n    \"snippets\":true,\n    \"words\":true,\n    \"sentiment\":false,\n    \"entities\":false,\n    \"topics\":false\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ответ:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n\t\"text\": \"d/l star t*k for free\",\n\t\"sentence_list\": [\n\t\t{\n\t\t\t\"offset\": 0,\n\t\t\t\"text\": \"d/l star t*k for free\",\n\t\t\t\"words\": [\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"word\",\n\t\t\t\t\t\"offset\": 0,\n\t\t\t\t\t\"text\": \"d/l\",\n\t\t\t\t\t\"role\": \"verb\",\n\t\t\t\t\t\"lexeme\": 44058,\n\t\t\t\t\t\"family\": 117658,\n\t\t\t\t\t\"grammar\": [\n\t\t\t\t\t\t\"VERB\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"word\",\n\t\t\t\t\t\"offset\": 4,\n\t\t\t\t\t\"text\": \"star t*k\",\n\t\t\t\t\t\"role\": \"patient\",\n\t\t\t\t\t\"lexeme\": 317071,\n\t\t\t\t\t\"family\": 152100,\n\t\t\t\t\t\"wikidata\": \"Q1092\",\n\t\t\t\t\t\"grammar\": [\n\t\t\t\t\t\t\"PROPN\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"type\": \"word\",\n\t\t\t\t\t\"offset\": 13,\n\t\t\t\t\t\"text\": \"for free\",\n\t\t\t\t\t\"lexeme\": 62119,\n\t\t\t\t\t\"family\": 93462,\n\t\t\t\t\t\"grammar\": [\n\t\t\t\t\t\t\"ADV\"\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t],\n\t\t\t\"corrected_text\": \"d/l star trek for free\"\n\t\t}\n\t]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["В ответе:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Запутанное слово ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["Star Trek"]},":"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["представлено как единое целое"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["ему присвоен идентификатор лексемы 317071"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["ему присвоен семейный идентификатор 152100"]}]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":2},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Атрибут ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["corrected_text"]}," attribute содержит деобфусцированную версию предложения: ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["d/l star trek for free"]},"."]}]}]},"headings":[{"value":"Фильтрация по ключевым словам в списках блокировки","id":"фильтрация-по-ключевым-словам-в-списках-блокировки","depth":1},{"value":"Включение разбивки слов в ответ","id":"включение-разбивки-слов-в-ответ","depth":2},{"value":"Реализация фильтрации ключевых слов","id":"реализация-фильтрации-ключевых-слов","depth":2},{"value":"Вариант 1. Простой (не рекомендуется)","id":"вариант-1-простой-не-рекомендуется","depth":2},{"value":"Ограничения","id":"ограничения","depth":3},{"value":"Вариант 2. Более мощный","id":"вариант-2-более-мощный","depth":2},{"value":"О лексемном идентификаторе","id":"о-лексемном-идентификаторе","depth":3},{"value":"О семейном идентификаторе","id":"о-семейном-идентификаторе","depth":3},{"value":"Почему мы рекомендуем использовать идентификатор лексемы","id":"почему-мы-рекомендуем-использовать-идентификатор-лексемы","depth":3}],"frontmatter":{"seo":{"title":"Фильтрация по ключевым словам в списках блокировки"}},"lastModified":"2025-06-24T05:57:38.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/ru/guides/how-tos/blocklists","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}