{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/ru/common/bot_structure/csv/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"87207116-3d10-5e3b-bc6d-88b7d756537b","excerpt":"Справочники именованных сущностей?>  — справочники именованных сущностей. Справочники именованных сущностей необходимы для обработки большого набора именованных…","html":"<h1>Справочники именованных сущностей</h1>\n<hr>\n<p class='warn'><code class=\"language-text\">.csv</code> — справочники именованных сущностей.</p>\n<p>Справочники именованных сущностей необходимы для обработки большого набора <a href=\"/1.11.7/docs/ru/Patterns/named_entity\">именованных сущностей</a> через паттерны.</p>\n<blockquote>\n<p>Именованная сущность — слово или словосочетание, выделяющее определенный предмет или явление из ряда однотипных предметов или явлений. Например, это названия городов, стран, валют.</p>\n</blockquote>\n<h3>Структура справочника</h3>\n<p>Справочники задаются в файлах с расширением <code class=\"language-text\">.csv</code>. Каждая строка имеет следующую структуру:</p>\n<div class=\"gatsby-highlight\" data-language=\"csv\"><pre class=\"language-csv\"><code class=\"language-csv\"><span class=\"token value\">id; имя; значение</span></code></pre></div>\n<h4>ID</h4>\n<p>Идентификатор сущности.</p>\n<p class='tip'>Идентификаторы в пределах одного справочника должны быть уникальны.</p>\n<h4>Имя</h4>\n<p>Слово или набор слов для обозначения сущности.</p>\n<p class='warn'>Внутри имени вы можете перечислить ряд синонимов через запятую.</p>\n<p>При подключении справочника к сценарию бот будет распознавать сущность в запросах, где упомянут один из перечисленных синонимов.</p>\n<h4>Значение</h4>\n<p>Данные, ассоциированные с сущностью.</p>\n<p>Данные могут быть представлены в виде строки без кавычек либо объекта JavaScript. Вы можете добавить в значения любую информацию, которая относится к сущности, чтобы воспользоваться ей в сценарии.</p>\n<p class='warn'>Например, в имени сущности вы можете перечислить все синонимы, а в одном из полей значения — ее основное, нормализованное наименование.</p>\n<h3>Пример</h3>\n<p>В качестве примера рассмотрим фрагмент справочника личных имен:</p>\n<div class=\"gatsby-highlight\" data-language=\"csv\"><pre class=\"language-csv\"><code class=\"language-csv\"><span class=\"token value\">150;Игорь</span><span class=\"token punctuation\">,</span><span class=\"token value\">Игорек;{</span><span class=\"token value\">\"name\"</span><span class=\"token value\">: </span><span class=\"token value\">\"Игорь\"</span><span class=\"token punctuation\">,</span><span class=\"token value\"> </span><span class=\"token value\">\"diminutive\"</span><span class=\"token value\">: </span><span class=\"token value\">\"Игорек\"</span><span class=\"token punctuation\">,</span><span class=\"token value\"> </span><span class=\"token value\">\"sex\"</span><span class=\"token value\">: </span><span class=\"token value\">\"м\"</span><span class=\"token value\">}</span>\n<span class=\"token value\">151;Инна;{</span><span class=\"token value\">\"name\"</span><span class=\"token value\">: </span><span class=\"token value\">\"Инна\"</span><span class=\"token punctuation\">,</span><span class=\"token value\"> </span><span class=\"token value\">\"diminutive\"</span><span class=\"token value\">: </span><span class=\"token value\">\"\"</span><span class=\"token punctuation\">,</span><span class=\"token value\"> </span><span class=\"token value\">\"sex\"</span><span class=\"token value\">: </span><span class=\"token value\">\"ж\"</span><span class=\"token value\">}</span>\n<span class=\"token value\">152;Иннокентий</span><span class=\"token punctuation\">,</span><span class=\"token value\">Кеша;{</span><span class=\"token value\">\"name\"</span><span class=\"token value\">: </span><span class=\"token value\">\"Иннокентий\"</span><span class=\"token punctuation\">,</span><span class=\"token value\"> </span><span class=\"token value\">\"diminutive\"</span><span class=\"token value\">: </span><span class=\"token value\">\"Кеша\"</span><span class=\"token punctuation\">,</span><span class=\"token value\"> </span><span class=\"token value\">\"sex\"</span><span class=\"token value\">: </span><span class=\"token value\">\"м\"</span><span class=\"token value\">}</span>\n<span class=\"token value\">153;Ирина</span><span class=\"token punctuation\">,</span><span class=\"token value\">Ира</span><span class=\"token punctuation\">,</span><span class=\"token value\">Ирочка</span><span class=\"token punctuation\">,</span><span class=\"token value\">Ирка;{</span><span class=\"token value\">\"name\"</span><span class=\"token value\">: </span><span class=\"token value\">\"Ирина\"</span><span class=\"token punctuation\">,</span><span class=\"token value\"> </span><span class=\"token value\">\"diminutive\"</span><span class=\"token value\">: </span><span class=\"token value\">\"Ирочка\"</span><span class=\"token punctuation\">,</span><span class=\"token value\"> </span><span class=\"token value\">\"sex\"</span><span class=\"token value\">: </span><span class=\"token value\">\"ж\"</span><span class=\"token value\">}</span></code></pre></div>\n<h3>Подключение справочника</h3>\n<p>Для подключения справочника используется тег <a href=\"/1.11.7/docs/ru/JAICP_DSL/tags/declarative_tags/require\"><code class=\"language-text\">require</code></a>. Укажите путь к файлу, а также значения параметров <a href=\"#%D0%9D%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5\"><code class=\"language-text\">name</code></a> и <a href=\"#%D0%98%D0%BC%D1%8F-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9\"><code class=\"language-text\">var</code></a>.</p>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">require:</span> dicts/names.csv\n    name = Names\n    var = $Names</code></pre></div>\n<h4>Название</h4>\n<p>Название справочника, указанное после <code class=\"language-text\">name</code>, используется при создании именованной сущности, использующей данный справочник:</p>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">patterns:</span>\n    $name = $entity&lt;Names></code></pre></div>\n<p class='warn'><a href=/1.11.7/docs/ru/Patterns/named_entity  >Подробнее об именованных сущностях</a></p>\n<h4>Имя переменной</h4>\n<p>Имя переменной <code class=\"language-text\">var</code> используется для доступа к содержимому справочника напрямую из скриптовых вставок — в частности, <a href=\"/1.11.7/docs/ru/Patterns/converters\">конвертеров</a>.</p>\n<p>Так, если передать в функцию <a href=\"/1.11.7/docs/ru/JS_API/built_in_functions/log%28message%29\"><code class=\"language-text\">log</code></a> переменную <code class=\"language-text\">$Names</code>, в лог будет выведен объект со следующей структурой:</p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"><span class=\"token punctuation\">{</span>\n  <span class=\"token string-property property\">\"150\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token string-property property\">\"id\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"150\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string-property property\">\"alternameNames\"</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>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string-property property\">\"value\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token string-property property\">\"name\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Игорь\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string-property property\">\"diminutive\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Игорек\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string-property property\">\"sex\"</span><span class=\"token operator\">:</span> <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 string-property property\">\"151\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token comment\">// ...</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h3>Учет морфологических вариантов</h3>\n<p>По умолчанию синонимы для сущности распознаются во всех морфологических формах. Например, задан такой фрагмент справочника регионов:</p>\n<div class=\"gatsby-highlight\" data-language=\"csv\"><pre class=\"language-csv\"><code class=\"language-csv\"><span class=\"token value\">24;Красноярский край;{</span><span class=\"token value\">\"capital\"</span><span class=\"token value\">: </span><span class=\"token value\">\"Красноярск\"</span><span class=\"token value\">}</span>\n<span class=\"token value\">45;Курганский область;{</span><span class=\"token value\">\"capital\"</span><span class=\"token value\">: </span><span class=\"token value\">\"Курган\"</span><span class=\"token value\">}</span></code></pre></div>\n<p>В сущность, использующую данный справочник, попадут формы словосочетаний во всех падежах и числах: <em>Красноярского края</em>, <em>в Курганской области</em> и т. д.</p>\n<p class='tip'>Все слова, перечисленные в синонимах, должны находиться в начальной форме.</p>\n</br>\n<p>Если такое поведение нежелательно, при подключении справочника вы можете дополнительно указать параметр <code class=\"language-text\">strict</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">require:</span> dicts/regions.csv\n    name = Region\n    var = $Region\n    strict = true</code></pre></div>\n<p>В таком случае синонимы будут распознаваться строго в том виде, который они имеют в справочнике.</p>","frontmatter":{"title":"","description":null},"headings":[{"value":"Справочники именованных сущностей"}]}},"pageContext":{"slug":"/docs/ru/common/bot_structure/csv/","previous":{"fields":{"slug":"/docs/ru/common/bot_structure/js/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/ru/common/bot_structure/context-switch/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}