{"componentChunkName":"component---node-modules-carrotsearch-gatsby-theme-apidocs-templates-documentation-page-js","path":"/label-dictionary/","result":{"data":{"html":{"frontmatter":{"id":"label-dictionary","title":"Label dictionary"},"html":"<article>\n  <h1>Label dictionary</h1>\n\n  <p id=\"e5cf1997\">\n    The label dictionary lets you tune the labels Lingo3G chooses to describe\n    clusters. Using the label dictionary, you can prevent Lingo3G from selecting\n    certain words or phrases, such as domain-common phrases and abusive\n    language. You can also boost other labels, such as brand names.\n  </p>\n\n  <p id=\"9e29da77\">\n    Lingo3G\n    <a href=\"/dictionaries/#location-of-dictionary-files\">reads</a> the label\n    dictionary from a JSON file named\n    <code><em>language</em>.labels.json</code>, where <em>language</em> is the\n    language name. The label dictionary must be an array of objects with the\n    following structure:\n  </p>\n\n  <figure id=\"label-dictionary-structure\">\n    <div class=\"gatsby-highlight\">\n    <pre class=\"language-json\"><code data-language=\"json\"><span class=\"token punctuation\">[</span>\n  <span class=\"token comment\">// zero or more includes.</span>\n  <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"include\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"relative-path-to-include.json\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"required\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n\n  <span class=\"token comment\">// zero or more weighted matcher entries.</span>\n  <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"comment\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Optional comment.\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"weight\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n\n    <span class=\"token comment\">// One or more label matchers</span>\n    <span class=\"token property\">\"exact\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"glob\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"regexp\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">]</span></code></pre>\n  </div>\n\n    <figcaption>\n      <p>The structure of a Lingo3G label dictionary.</p>\n    </figcaption>\n  </figure>\n\n  <p id=\"57b29be2\">Each object in the array must be of one of the following types:</p>\n\n  <dl class=\"narrow\">\n    <dt>include</dt>\n    <dd>\n      <p id=\"36781364\">\n        Includes all entries from another label dictionary into this dictionary.\n        You can use includes to split a large label dictionary into smaller ones\n        or extract a common part of a set of label dictionaries.\n      </p>\n\n      <div class=\"gatsby-highlight\">\n    <pre class=\"language-json\"><code data-language=\"json\"><span class=\"token punctuation\">{</span> <span class=\"token property\">\"include\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"name.json\"</span><span class=\"token punctuation\">,</span> <span class=\"token property\">\"required\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span> <span class=\"token punctuation\">}</span></code></pre>\n  </div>\n\n      <dl class=\"narrow\">\n        <dt id=\"label-dictionary:include\" class=\"api\">include</dt>\n        <dd>\n          <p id=\"991fea33\">\n            (required) Path to the label dictionary to include, relative to the\n            location of this dictionary.\n          </p>\n        </dd>\n\n        <dt id=\"label-dictionary:required\" class=\"api\">required</dt>\n        <dd>\n          <p id=\"b568e934\">\n            If <code>true</code> and the file to include does not exist, Lingo3G\n            will trigger an error.\n          </p>\n\n          <p id=\"51d71a11\">\n            If <code>false</code>, Lingo3G will ignore a non-existing include\n            file.\n          </p>\n        </dd>\n      </dl>\n    </dd>\n\n    <dt>weighted rules</dt>\n    <dd>\n      <p id=\"460782ce\">\n        Defines one or more\n        <a href=\"/dictionaries/#label-matchers\">label matchers</a>\n        and their associated label weight. If a label matches any rule in any\n        matcher, Lingo3G applies the weight to the label.\n      </p>\n\n      <div class=\"gatsby-highlight\">\n    <pre class=\"language-json\"><code data-language=\"json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"comment\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Comment\"</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"weight\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n\n  <span class=\"token property\">\"exact\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"glob\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"regexp\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre>\n  </div>\n\n      <dl class=\"narrow\">\n        <dt id=\"label-dictionary:weight\" class=\"api\">weight</dt>\n        <dd>\n          <p id=\"6eb1ac70\">The weight to apply to the matching labels.</p>\n\n          <p id=\"31d44433\">\n            A weight of 0 excludes the labels from processing – Lingo3G\n            will not use the labels to describe clusters. Weights between 0 and\n            1 decrease the chances that the corresponding labels appear in\n            clusters. Values larger than 1 increase the likelihood that Lingo3G\n            selects the labels to describe a cluster.\n          </p>\n\n          <p id=\"e052c021\">\n            If you don't specify the <code>weight</code>, Lingo3G assumes the\n            weight of 0 and removes all the matching labels from processing.\n          </p>\n        </dd>\n\n        <dt id=\"label-dictionary:matchers\" class=\"api\">glob, exact, regexp</dt>\n        <dd>\n          <p id=\"53751685\">\n            <a href=\"/dictionaries/#label-matchers\">Label matchers</a> that\n            determine to which labels to apply the weight. You can use any\n            combination of the available matcher types.\n          </p>\n        </dd>\n\n        <dt id=\"label-dictionary:comment\" class=\"api\">comment</dt>\n        <dd>\n          <p id=\"3bcfaf35\">An optional comment for this dictionary section.</p>\n        </dd>\n      </dl>\n    </dd>\n  </dl>\n\n  <p id=\"08ea262b\">\n    If a label matches multiple rules with different weights, Lingo3G applies\n    the lowest weight. For example, if a specific label matches two rule set\n    with weight 0 and 2.5, Lingo3G uses the zero weight and removes the label\n    from processing.\n  </p>\n\n  <p id=\"b66ff9b9\">A real-world label dictionary can look like this:</p>\n\n  <figure id=\"label-dictionary:example\">\n    <div class=\"gatsby-highlight\">\n    <pre class=\"language-json\"><code data-language=\"json\"><span class=\"token punctuation\">[</span>\n  <span class=\"token punctuation\">{</span> <span class=\"token property\">\"include\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"common-legal-jargon.json\"</span><span class=\"token punctuation\">,</span> <span class=\"token property\">\"required\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"comment\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Remove common expressions.\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"weight\"</span><span class=\"token operator\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"exact\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">\"main page\"</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"glob\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">\"* home page *\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"{fnc}\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"+ {fnc}\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"{fnc} +\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"* banned *\"</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"regexp\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">\"\\\\d{1,2}(am|pm)\"</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\">\"comment\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"Boost product names.\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"weight\"</span><span class=\"token operator\">:</span> <span class=\"token number\">2</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"exact\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">\"Lingo3G\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"Lingo4G\"</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n    <span class=\"token property\">\"glob\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">\"* text clustering *\"</span>\n    <span class=\"token punctuation\">]</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">]</span></code></pre>\n  </div>\n\n    <figcaption>\n      <p>Example label dictionary.</p>\n    </figcaption>\n  </figure>\n\n  <p id=\"0cd9160d\">\n    With the above dictionary, Lingo3G removes from processing the following\n    labels: <em>main page</em>, <em>Welcome to the home page</em>,\n    <em>for clustering</em>, <em>5pm</em> and promotes the following labels in\n    the clusters: <em>Lingo3G</em>, <em>Lingo4G</em>,\n    <em>text clustering tools</em>.\n  </p>\n\n  <p id=\"3c7dc73f\">\n    See the\n    <a href=\"/dictionaries/#label-matchers\">label matchers</a> section for\n    more examples of label matching.\n  </p>\n</article>","tableOfContents":[]}},"pageContext":{"slug":"/label-dictionary/"}},"staticQueryHashes":["1164750013"]}