{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/ru/classificator/work_with_classificator/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"fc95fa17-1e9c-5354-8896-17c0cada0501","excerpt":"!> Обратите внимание, что использование классификатора на примерах устарело начиная с версии . Подробнее о миграции проектов на CAILA.?> Перед началом работы…","html":"<h1>Работа с классификатором <span class=\"tag-heading red\">Устарело</span></h1>\n<hr>\n<p class='tip'>Обратите внимание, что использование классификатора на примерах устарело начиная с версии <code class=\"language-text\">1.10.0</code>. Подробнее о <a href=/1.10.3/docs/ru/NLU_core/project_migration  >миграции проектов на CAILA</a>.</p>\n<p class='warn'>Перед началом работы <a href=/1.10.3/docs/ru/classificator/connection_classificator  >задайте параметры классификатора в конфигурационном файле <code class=\"language-text\">chatbot.yaml</code></a>.</p>\n<p>При использовании классификатора в сценарии используются теги:</p>\n<ul>\n<li>глобальные: <a href=\"/1.10.3/docs/ru/classificator/eg!\"><code class=\"language-text\">eg!</code></a> и <a href=\"/1.10.3/docs/ru/classificator/e!\"><code class=\"language-text\">e!</code></a>;</li>\n<li>локальные: <a href=\"/1.10.3/docs/ru/classificator/eg\"><code class=\"language-text\">eg</code></a> и <a href=\"/1.10.3/docs/ru/classificator/e\"><code class=\"language-text\">e</code></a>.</li>\n</ul>\n</br>\n<h3>Использование единичного примера</h3>\n<p>Использование тегов <code class=\"language-text\">e</code> и <code class=\"language-text\">e!</code> предполагает использование единичного примера: один тег — одна реплика. Например, в сценарии:</p>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">theme:</span> /Bank\n    <span class=\"token keyword\">state:</span> Credit\n        <span class=\"token storageType\">e!:</span> Дайте кредит.\n        <span class=\"token variableParameter\">a:</span> Чтобы взять кредит, вам нужно просто...\n\n    <span class=\"token keyword\">state:</span> CatchAll\n        <span class=\"token storageType\">q!:</span> *\n        <span class=\"token variableParameter\">a:</span> Извините, я вас не понимаю.</code></pre></div>\n<p>После тега <code class=\"language-text\">e!</code> мы прописываем фразу, с которой будут сравниваться запросы пользователей. Если запросы по смыслу похожи на реплику-пример, то они будут опознаны ботом как относящиеся к тому же классу, и поведение для них будет одинаковое.</p>\n<p>Например, фразы \"получить кредит\", \"как оформить кредит\", \"взять кредит\", \"дайте кредит\" будут попадать в стейт <code class=\"language-text\">Credit</code>.\nА фраза \"хочу оформить кредитную карту\" будет определена к стейту <code class=\"language-text\">CatchAll</code>.</p>\n</br>\n<h3>Использование группы примеров</h3>\n<p>В случае, когда примеров много, использовать теги <code class=\"language-text\">e</code> и <code class=\"language-text\">e!</code> нецелесообразно. В таких случая стоит применять теги <code class=\"language-text\">eg</code> и <code class=\"language-text\">eg!</code> и задавать примеры в отдельном файле-справочнике. Такой справочник можно задать как с помощью графического интерфейса платформы, так и вручную. В данной статье рассмотрим заполнение справочника вручную.</p>\n<p class='warn'><a href=/1.10.3/docs/ru/classificator/classificator_platform  >Подробнее о работе с классификатором из интерфейса платформы</a></p>\n<p>Работу с группой примеров можно условно разделить на этапы:</p>\n<ul>\n<li><a href=\"#%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%BE%D0%B2\">создание справочника примеров</a>;</li>\n<li><a href=\"#%D0%9E%D0%B1%D1%80%D0%B0%D1%89%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D1%83-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%BE%D0%B2-%D0%B2-%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B8\">обращение к справочнику примеров в сценарии</a></li>\n</ul>\n</br>\n<h4>Создание справочника примеров</h4>\n<p>В папке <code class=\"language-text\">/src/dictionaries</code> создайте файл <code class=\"language-text\">examples.json</code>. Файл справочника создается в <code class=\"language-text\">.json</code>-форате и включает в себя массив объектов, каждый из которых описывает один класс примеров.</p>\n<p>Пропишите в справочнике параметры, в каждом объекте могут быть определены следующие теги:</p>\n<ul>\n<li><code class=\"language-text\">id</code> — опциональное поле. Задает <code class=\"language-text\">id</code> класса для использования в сценариях в тегах <code class=\"language-text\">eg</code> и <code class=\"language-text\">eg!</code>. Если пример не задан, то <code class=\"language-text\">id</code> по умолчанию будет равен пути класса, прописанному через точку.</li>\n<li><code class=\"language-text\">path</code> — путь к стейту, в котором вызывается классификатор для обработки конкретного класса.</li>\n<li><code class=\"language-text\">description</code> — опциональное поле. Свободное текстовое описание класса.</li>\n<li><code class=\"language-text\">disabled</code> — задается булево значение <code class=\"language-text\">true</code> или <code class=\"language-text\">false</code>. Отключение класса примеров в классификаторе.</li>\n<li><code class=\"language-text\">phrases</code> — массив строк. Здесь записываются все примеры для класса.</li>\n</ul>\n<p>Пример класса:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"classes\"</span> <span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span> <span class=\"token operator\">:</span> <span class=\"token string\">\"common\"</span><span class=\"token punctuation\">,</span>                          <span class=\"token comment\">// id класса</span>\n      <span class=\"token property\">\"path\"</span> <span class=\"token operator\">:</span> <span class=\"token string\">\"/PlayGames/Games\"</span><span class=\"token punctuation\">,</span>              <span class=\"token comment\">// путь к стейту, в котором вызывается классификатор</span>\n      <span class=\"token property\">\"description\"</span> <span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>                       <span class=\"token comment\">// описание класса</span>\n      <span class=\"token property\">\"disabled\"</span> <span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>                       <span class=\"token comment\">// отключение класса</span>\n      <span class=\"token property\">\"phrases\"</span> <span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>                             <span class=\"token comment\">// массив примеров</span>\n        <span class=\"token string\">\"давай поиграем в какие-нибудь игры\"</span>\n      <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"id\"</span> <span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"path\"</span> <span class=\"token operator\">:</span> <span class=\"token string\">\"/PlayGames/Games/CanYouPlay\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"description\"</span> <span class=\"token operator\">:</span> <span class=\"token string\">\"\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"disabled\"</span> <span class=\"token operator\">:</span> <span class=\"token boolean\">false</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"phrases\"</span> <span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n        <span class=\"token string\">\"ты умеешь во что-нибудь играть?\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"ты знаешь какие-нибудь игры?\"</span><span class=\"token punctuation\">,</span>\n        <span class=\"token string\">\"ты знаешь как играть?\"</span>\n      <span class=\"token punctuation\">]</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Теперь, когда справочник примеров составлен, пропишите путь к нему в конфигурационном файле <code class=\"language-text\">chatbot.yaml</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">exampleGroups</span><span class=\"token punctuation\">:</span>\n  <span class=\"token punctuation\">-</span>  src/dictionaries/examples.json</code></pre></div>\n</br>\n<h4>Обращение к справочнику примеров в сценарии</h4>\n<p>Обращение к группе примеров, если <code class=\"language-text\">id</code> класса прописан:</p>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\">\n<span class=\"token keyword\">state:</span> Order\n    <span class=\"token storageType\">eg!:</span> common                    <span class=\"token comment\">// прописываем id класса</span>\n    <span class=\"token variableParameter\">a:</span> Давай сыграем!</code></pre></div>\n<p>Обращение к группе примеров, если <code class=\"language-text\">id</code> класса не указан:</p>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span> CanYouPlay\n    <span class=\"token storageType\">q!:</span> * [во что] * (умеешь/можешь/знаешь как) играть *\n    <span class=\"token storageType\">q!:</span> * {игры  * (знаешь/умеешь/можешь)} *\n    <span class=\"token storageType\">eg!:</span> PlayGames.Games.CanYouPlay            <span class=\"token comment\">// id класса не указан, прописываем путь к стейту через символ `.`</span>\n    <span class=\"token storageType\">q:</span> * как* [игры] * || fromState = \"/Education/What can you do\"<span class=\"token entityNameClass\">, onlyThisState =</span> true\n    <span class=\"token variableParameter\">script:</span>\n        $temp.canYouPlay = true;\n    <span class=\"token variableParameter\">go!:</span> ../../Games</code></pre></div>","frontmatter":{"title":"","description":null},"headings":[{"value":"Работа с классификатором"}]}},"pageContext":{"slug":"/docs/ru/classificator/work_with_classificator/","previous":{"fields":{"slug":"/docs/ru/common/basic_terms/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/ru/classificator/filling_from_logs/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}