{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/ru/JS_API/built_in_services/caila/checkVocabulary/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"401b224e-00a6-58ae-b7b5-1613e8902b60","excerpt":"$caila.checkVocabulary Проверяет каждое слово из массива аргументов на вхождение в словарь указанного движка NLU. Синтаксис Метод принимает в качестве аргумента…","html":"<h1>$caila.checkVocabulary</h1>\n<hr>\n<p>Проверяет каждое слово из массива аргументов на вхождение в словарь указанного движка NLU.</p>\n</br>\n<h2>Синтаксис</h2>\n<p>Метод принимает в качестве аргумента массив объектов со следующими полями:</p>\n<table>\n<thead>\n<tr>\n<th>Поле</th>\n<th>Описание</th>\n<th>Допустимые значения</th>\n<th>Значение по умолчанию</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code class=\"language-text\">word</code></td>\n<td>Слово, которое нужно проверить.</td>\n<td>Произвольная строка.</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">lang</code></td>\n<td>Язык, на котором написано слово.</td>\n<td><code class=\"language-text\">ru</code> — русский язык. <div style=\"line-height: 25%\"><br/></div> <code class=\"language-text\">en</code> — английский язык.</td>\n<td><a href=\"/1.11.1/docs/ru/platform_ux/nlu_core_caila/project_setting\">Язык NLU</a> для проекта.</td>\n</tr>\n<tr>\n<td><code class=\"language-text\">engine</code></td>\n<td>Движок, с помощью которого будет произведена проверка.</td>\n<td><code class=\"language-text\">pymorphy</code> — движок на основе библиотеки <a href=\"https://pymorphy2.readthedocs.io/en/stable/user/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">pymorphy2</a>. <div style=\"line-height: 25%\"><br/></div> <code class=\"language-text\">aot</code> — движок на основе сервиса <a href=\"http://aot.ru/index.html\" target=\"_blank\" rel=\"noopener noreferrer\">АОТ</a>.</td>\n<td><code class=\"language-text\">aot</code>.</td>\n</tr>\n</tbody>\n</table>\n<p class='tip'>Движок <code class=\"language-text\">pymorphy</code> поддерживает только русский язык.</p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\">$caila<span class=\"token punctuation\">.</span><span class=\"token function\">checkVocabulary</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">{</span><span class=\"token literal-property property\">word</span><span class=\"token operator\">:</span> <span class=\"token string\">\"технология\"</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">lang</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ru\"</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">engine</span><span class=\"token operator\">:</span> <span class=\"token string\">\"pymorphy\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span><span class=\"token literal-property property\">word</span><span class=\"token operator\">:</span> <span class=\"token string\">\"technology\"</span><span class=\"token punctuation\">,</span> <span class=\"token literal-property property\">lang</span><span class=\"token operator\">:</span> <span class=\"token string\">\"en\"</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span><span class=\"token literal-property property\">word</span><span class=\"token operator\">:</span> <span class=\"token string\">\"ячсмитьбю.\"</span><span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// => [true, true, false]</span></code></pre></div>\n</br>\n<h2>Использование в сценарии</h2>\n<p>Метод целесообразно использовать, например, чтобы проверить, содержат ли нераспознанные запросы от пользователя хотя бы одно словарное слово. Если таких слов нет, запросы можно расценивать как спам.</p>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">state:</span> CatchAll\n    <span class=\"token storageType\">event!:</span> noMatch\n    <span class=\"token variableParameter\">script:</span>\n        <span class=\"token comment\"># $parseTree.words — массив всех слов, обнаруженных в запросе.</span>\n        <span class=\"token comment\"># Преобразуем его из списка строк в список объектов нужного вида.</span>\n        var words = $parseTree.words.map(function(string) {\n            return {word: string};\n        });\n\n        <span class=\"token comment\"># Определяем для каждого слова, является ли оно словарным.</span>\n        var wordsInVocab = $caila.checkVocabulary(words);\n\n        <span class=\"token comment\"># Увеличиваем счетчик нераспознанных реплик только в том случае,</span>\n        <span class=\"token comment\"># если хотя бы одно слово из запроса нашлось в словаре.</span>\n        if (wordsInVocab.indexOf(true) > -1) {\n            $session.catchAllCounter = $session.catchAllCounter + 1 || 1;\n        }\n    <span class=\"token comment\"># Если счетчик нераспознанных реплик превысил порог, переводим на оператора.</span>\n    <span class=\"token variableParameter\">if:</span> $session.catchAllCounter > 3\n        <span class=\"token variableParameter\">go!:</span> /Switch\n    <span class=\"token variableParameter\">random:</span>\n        <span class=\"token variableParameter\">a:</span> Извините, я не расслышала. Повторите, пожалуйста.\n        <span class=\"token variableParameter\">a:</span> Не совсем поняла. Можете повторить, пожалуйста?\n        <span class=\"token variableParameter\">a:</span> Повторите, пожалуйста. Вас плохо слышно.</code></pre></div>","frontmatter":{"title":"","description":null},"headings":[{"value":"$caila.checkVocabulary"}]}},"pageContext":{"slug":"/docs/ru/JS_API/built_in_services/caila/checkVocabulary/","previous":{"fields":{"slug":"/docs/ru/JS_API/built_in_services/caila/conform/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/ru/JS_API/built_in_services/caila/caila/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}