> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentación de las funciones de procesamiento del lenguaje natural (NLP)

# Funciones de procesamiento del lenguaje natural (NLP)

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            Not supported in ClickHouse Cloud
        </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Experimental feature. <u><a href="/docs/beta-and-experimental-features#experimental-features">Learn more.</a></u>
        </div>;
};

{/*AUTOGENERATED_START*/}

<div id="detectCharset">
  ## detectCharset
</div>

Introducido en: v22.2.0

Detecta el juego de caracteres de una cadena de entrada codificada en un formato distinto de UTF-8.

<Warning>
  Esta función es experimental y puede cambiar de forma impredecible y no retrocompatible en versiones futuras.
  Establece `allow_experimental_nlp_functions = 1` para habilitarla.
</Warning>

**Sintaxis**

```sql theme={null}
detectCharset(s)
```

**Argumentos**

* `s` — Texto que se va a analizar. [`String`](/es/reference/data-types/string)

**Valor devuelto**

Devuelve una cadena que contiene el código del conjunto de caracteres detectado [`String`](/es/reference/data-types/string)

**Ejemplos**

**Uso básico**

```sql title=Query theme={null}
SELECT detectCharset('Ich bleibe für ein paar Tage.')
```

```response title=Response theme={null}
WINDOWS-1252
```

<div id="detectLanguage">
  ## detectLanguage
</div>

Introducido en: v22.2.0

Detecta el idioma de la cadena de entrada codificada en UTF8.
La función utiliza la [biblioteca CLD2](https://github.com/CLD2Owners/cld2) para la detección y devuelve el código de idioma ISO de dos letras.

Cuanto más larga sea la entrada, más precisa será la detección del idioma.

<Warning>
  Esta función es experimental y puede cambiar de maneras impredecibles y no retrocompatibles en versiones futuras.
  Establece `allow_experimental_nlp_functions = 1` para habilitarla.
</Warning>

**Sintaxis**

```sql theme={null}
detectLanguage(s)
```

**Argumentos**

* `text_to_be_analyzed` — El texto que se va a analizar. [`String`](/es/reference/data-types/string)

**Valor devuelto**

Devuelve el código ISO de 2 letras del idioma detectado. Otros resultados posibles: `un` = desconocido, no se puede detectar ningún idioma; `other` = el idioma detectado no tiene un código de 2 letras. [`String`](/es/reference/data-types/string)

**Ejemplos**

**Texto multilingüe**

```sql title=Query theme={null}
SELECT detectLanguage('Je pense que je ne parviendrai jamais à parler français comme un natif. Where there\'s a will, there\'s a way.')
```

```response title=Response theme={null}
fr
```

<div id="detectLanguageMixed">
  ## detectLanguageMixed
</div>

Introducido en: v22.2.0

Similar a la función [`detectLanguage`](#detectLanguage), pero `detectLanguageMixed` devuelve un `Map` de códigos de idioma de 2 letras asociados al porcentaje de cada idioma en el texto.

<Warning>
  Esta función es experimental y puede cambiar de forma impredecible y no retrocompatible en versiones futuras.
  Establece `allow_experimental_nlp_functions = 1` para habilitarla.
</Warning>

**Sintaxis**

```sql theme={null}
detectLanguageMixed(s)
```

**Argumentos**

* `s` — El texto que se va a analizar [`String`](/es/reference/data-types/string)

**Valor devuelto**

Devuelve un mapa cuyas claves son códigos ISO de 2 letras y cuyos valores indican el porcentaje del texto detectado para ese idioma [`Map(String, Float32)`](/es/reference/data-types/map)

**Ejemplos**

**Idiomas mezclados**

```sql title=Query theme={null}
SELECT detectLanguageMixed('二兎を追う者は一兎をも得ず二兎を追う者は一兎をも得ず A vaincre sans peril, on triomphe sans gloire.')
```

```response title=Response theme={null}
{'ja':0.62,'fr':0.36}
```

<div id="detectLanguageUnknown">
  ## detectLanguageUnknown
</div>

Introducido en: v22.2.0

Similar a la función [`detectLanguage`](#detectLanguage), excepto que la función detectLanguageUnknown funciona con cadenas codificadas en formatos distintos de UTF-8.
Prefiera esta versión cuando el juego de caracteres sea UTF-16 o UTF-32.

<Warning>
  Esta función es experimental y puede cambiar en el futuro de formas impredecibles e incompatibles con versiones anteriores.
  Establezca `allow_experimental_nlp_functions = 1` para habilitarla.
</Warning>

**Sintaxis**

```sql theme={null}
detectLanguageUnknown('s')
```

**Argumentos**

* `s` — El texto que se va a analizar. [`String`](/es/reference/data-types/string)

**Valor devuelto**

Devuelve el código ISO de 2 letras del idioma detectado. Otros resultados posibles: `un` = desconocido, no se puede detectar ningún idioma; `other` = el idioma detectado no tiene un código de 2 letras. [`String`](/es/reference/data-types/string)

**Ejemplos**

**Uso básico**

```sql title=Query theme={null}
SELECT detectLanguageUnknown('Ich bleibe für ein paar Tage.')
```

```response title=Response theme={null}
de
```

<div id="detectTonality">
  ## detectTonality
</div>

Introducido en: v22.2.0

Determina la tonalidad emocional de los datos de texto proporcionados.

<Info>
  **Limitación**

  Actualmente, esta función es limitada, ya que utiliza el diccionario emocional integrado y solo funciona con el idioma ruso.
</Info>

<Warning>
  Esta función es experimental y puede cambiar de maneras impredecibles y no retrocompatibles en versiones futuras.
  Establezca `allow_experimental_nlp_functions = 1` para habilitarla.
</Warning>

**Sintaxis**

```sql theme={null}
detectTonality(s)
```

**Argumentos**

* `s` — El texto que se va a analizar. [`String`](/es/reference/data-types/string)

**Valor devuelto**

Devuelve el valor medio del sentimiento de las palabras del texto [`Float32`](/es/reference/data-types/float)

**Ejemplos**

**Análisis de sentimiento del ruso**

```sql title=Query theme={null}
SELECT
    detectTonality('Шарик - хороший пёс'),
    detectTonality('Шарик - пёс'),
    detectTonality('Шарик - плохой пёс')
```

```response title=Response theme={null}
0.44445, 0, -0.3
```

<div id="lemmatize">
  ## lemmatize
</div>

Introducido en: v21.9.0

Realiza la lematización de una palabra dada.
Esta función requiere diccionarios para funcionar, que pueden obtenerse de [github](https://github.com/vpodpecan/lemmagen3/tree/master/src/lemmagen3/models).
Para obtener más información sobre cómo cargar un diccionario desde un archivo local, consulte la página ["Definición de diccionarios"](/es/reference/statements/create/dictionary/sources/local-file).

<Warning>
  Esta función es experimental y puede cambiar de forma impredecible y no compatible con versiones anteriores en futuras versiones.
  Establezca `allow_experimental_nlp_functions = 1` para habilitarla.
</Warning>

**Sintaxis**

```sql theme={null}
lemmatize(lang, word)
```

**Argumentos**

* `lang` — Idioma al que se aplicarán las reglas. [`String`](/es/reference/data-types/string)
* `word` — Palabra en minúsculas que debe lematizarse. [`String`](/es/reference/data-types/string)

**Valor devuelto**

Devuelve la forma lematizada de la palabra [`String`](/es/reference/data-types/string)

**Ejemplos**

**Lematización en inglés**

```sql title=Query theme={null}
SELECT lemmatize('en', 'wolves')
```

```response title=Response theme={null}
wolf
```

<div id="stem">
  ## stem
</div>

Introducido en: v21.9.0

Aplica stemming a una palabra o a un Array de palabras mediante los algoritmos Snowball.
Cada cadena de entrada debe ser una única palabra en minúsculas; las cadenas que contienen espacios en blanco provocan una excepción.
Si se pasan caracteres en mayúsculas, los resultados no están definidos.
Devuelve String para entradas escalares (incluido FixedString) y Array(String) para entradas de Array.
Se admiten variantes Nullable y LowCardinality de String y FixedString.

**Sintaxis**

```sql theme={null}
stem(word, language)
```

**Argumentos**

* `word` — Una única palabra en minúsculas (o un array de palabras) a la que aplicar stemming. Debe estar en minúsculas; los caracteres en mayúsculas producen resultados indefinidos. Acepta String, FixedString, Array(String), Array(FixedString), Array(Nullable(String)) o Array(Nullable(FixedString)). [`String`](/es/reference/data-types/string) o [`FixedString`](/es/reference/data-types/fixedstring) o [`Array(String)`](/es/reference/data-types/array) o [`Array(FixedString)`](/es/reference/data-types/array)
* `language` — Idioma cuyas reglas de stemming se aplicarán. Use el código ISO 639-1 de dos letras (p. ej., 'en', 'de', 'fr'); consulte [https://en.wikipedia.org/wiki/List\&#95;of\&#95;ISO\&#95;639\&#95;language\&#95;codes](https://en.wikipedia.org/wiki/List\&#95;of\&#95;ISO\&#95;639\&#95;language\&#95;codes). [`String`](/es/reference/data-types/string)

**Valor devuelto**

La forma con stemming de la palabra (String), o un array de palabras con stemming (Array(String)). [`String`](/es/reference/data-types/string) o [`Array(String)`](/es/reference/data-types/array)

**Ejemplos**

**Aplicación de stemming a una única palabra**

```sql title=Query theme={null}
SELECT stem('blessing', 'en') AS res
```

```response title=Response theme={null}
bless
```

**Aplicar stemming a un array de palabras**

```sql title=Query theme={null}
SELECT stem(['blessing', 'disguise'], 'en') AS res
```

```response title=Response theme={null}
['bless','disguis']
```

**Stemming de un FixedString**

```sql title=Query theme={null}
SELECT stem(toFixedString('blessing', 10), 'en') AS res
```

```response title=Response theme={null}
bless
```

**Aplicación de stemming a una palabra Nullable**

```sql title=Query theme={null}
SELECT stem(toNullable('blessing'), 'en') AS res
```

```response title=Response theme={null}
bless
```

<div id="synonyms">
  ## synonyms
</div>

Introducido en: v21.9.0

Encuentra sinónimos de una palabra determinada.

Hay dos tipos de extensiones de sinónimos:

* `plain`
* `wordnet`

Con el tipo de extensión `plain`, debes proporcionar la ruta a un archivo de texto simple, donde cada línea corresponde a un determinado conjunto de sinónimos.
Las palabras de esta línea deben estar separadas por espacios o tabuladores.

Con el tipo de extensión `wordnet`, debes proporcionar la ruta a un directorio que contenga el tesauro de WordNet.
El tesauro debe contener un índice de sentidos de WordNet.

<Warning>
  Esta función es experimental y puede cambiar en el futuro de formas impredecibles que no sean retrocompatibles.
  Establece `allow_experimental_nlp_functions = 1` para habilitarla.
</Warning>

**Sintaxis**

```sql theme={null}
synonyms(ext_name, word)
```

**Argumentos**

* `ext_name` — Nombre de la extensión en la que se realizará la búsqueda. [`String`](/es/reference/data-types/string)
* `word` — Palabra que se buscará en la extensión. [`String`](/es/reference/data-types/string)

**Valor devuelto**

Devuelve un array de sinónimos para la palabra indicada. [`Array(String)`](/es/reference/data-types/array)

**Ejemplos**

**Buscar sinónimos**

```sql title=Query theme={null}
SELECT synonyms('list', 'important')
```

```response title=Response theme={null}
['important','big','critical','crucial']
```
