Skip to main content
Lucidworks AI supports general and ecommerce recurrent neural network (RNN) models. Lucidworks recommends you use RNN models for ecommerce use cases. The following table contains the default information for the general and ecommerce RNN models. The suggested default information is pertinent to most use cases.

Text processor

This determines which type of tokenization and embedding is used as the base for the recurrent neural network (RNN) model. For example, word or byte-pair encoding (BPE). The word text processor defaults to English, and uses word-based tokenization and English pre-trained word embeddings. The maximum word vocabulary result is 100,000. The BPE text processors use the same tokenization, but different vocabulary sizes:
  • bpe_*_small embeddings have 10,000 vocabulary tokens
  • bpe_*_large embeddings have 100,000 vocabulary tokens
  • bpe_multi multilingual embeddings have 320,000 vocabulary tokens
The options for text processors are:
  • word_en (default)
  • bpe_en_small
  • bpe_en_large
  • all_minilm_l6
  • e5_small_v2
  • e5_base_v2
  • e5_large_v2
  • gte_small
  • gte_base
  • gte_large
  • snowflake_arctic_embed_xs
  • bpe_multi
  • multilingual_e5_small
  • multilingual_e5_base
  • multilingual_e5_large
  • snowflake-arctic-embed-l
  • bpe_bg_small
  • bpe_bg_large
  • bpe_de_small
  • bpe_de_large
  • bpe_es_small
  • bpe_es_large
  • bpe_fr_small
  • bpe_fr_large
  • bpe_it_small
  • bpe_it_large
  • bpe_ja_small
  • bpe_ja_large
  • bpe_ko_small
  • bpe_ko_large
  • bpe_nl_small
  • bpe_nl_large
  • bpe_ro_small
  • bpe_ro_large
  • bpe_zh_small
  • bpe_zh_large
  • word_custom
  • bpe_custom

Word text processor

Although word_en is trained primarily on English text, the underlying word embeddings are derived from a broad multilingual crawl and include vocabulary from many other languages. For most basic multilingual use cases, word_en will work well. For more extensive multilingual support, see the Multilingual text processors.
If you use the defaults or explicitly set the word_en text processor, the training process uses pre-trained English word embeddings. It builds vocabulary based on your training data and selects word embeddings that correspond to it. Preprocessing completes the following changes:
  • Text is set to all lowercase characters.
  • Numbers are split into single digits. For example, "12345" is set to ["1", "2", "3", "4", "5"].
  • Corrects as many misspelled words as possible.
  • Identifies words that are identified as Out-Of-Vocabulary (OOV) and matches to as many known words as possible. The resulting vocabulary is restricted to a maximum of 100,000 words.

BPE text processors

To use pre-trained byte pair encoding (BPE) tokenization and embeddings, set the text processor to one of the bpe_* values based on the language you want to train. The BPE versions use the same tokenization, but different vocabulary sizes:
  • bpe_*_small embeddings have 10,000 vocabulary tokens
  • bpe_*_large embeddings have 100,000 vocabulary tokens
  • bpe_multi multilingual embeddings have 320,000 vocabulary tokens
ImportantPre-trained BPE tokenization replaces all numbers with a zero (0) token. These pre-trained models cannot be changed. If your data contains semantically-meaningful numbers, consider using custom trained BPE embeddings. For more information, see custom text processors.

Custom text processors

If your content includes unusual, very domain-specific vocabulary or you need to train a model for a non-supported language, you can train custom word or BPE embeddings. This training is language-agnostic, but Lucidworks recommends you use custom BPE training for non-Latin languages or in multilingual scenarios. To train custom token embeddings, set textProcessor to one of the following:
  • word_custom trains word embeddings with up to 100,000 vocabulary size
  • bpe_custom trains BPE embeddings with up to 10,000 vocabulary size
    The bpe_custom text processor also learns a custom tokenization function over your data. The value of 10,000 is sufficient for most use cases.