Semantic analysis is the technique to understand the meaning and interpretation of words, signs, and sentence structure.
SearchAssist’s Indexing Pipeline supports a Semantic Meaning stage. This stage uses Deep Neural Network algorithms to create inserts of free text and saves them in a dense vector field. SearchAssist uses these embeddings to rank the documents by semantic relevance. The dense vectors are then indexed in the search and similarity is obtained between the user’s query vector and the indexed content vector.
Currently you can apply semantic meanings only only on web content source. When SearchAssist semantically interprets the source from natural language perspective, the relevant results get priority over others.
You can:
- Add multiple semantics to be analyzed from the source field.
- Define a condition for the semantic meaning stage. The semantics from only the documents that satisfy the given condition would be analyzed.
- Re-order or delete semantic meaning rules.
- Simulate the changes before saving them.
Ensure to click Train your App each time you make changes to any index configuration. This builds the index based on the updated configurations.
Configuration
To configure for applying semantic meaning, take the following steps:
- Click the Indices tab on the top.
- On the left pane, under the Index Configuration section, click Workbench.
- On the Workbench (Index Configuration) page, on the Stages column, click the + icon.
- Select Semantic Meaning from the Stage Type dropdown list.
- Enter a name in the Stage Name field.
- Enter a condition in the Condition field. You can add multiple conditions using the AND/OR connectors. SearchAssists considers only the documents that satisfy the conditions as part of the stage. Refer Conditions for Applying Semantic Meanings.
- Select the field you want to extract Semantic Meaning from as Source Field.
- Define where you want to store the extracted Semantic Meaning as Target Field. This field is created by the application.
- Choose a model from the Choose Model dropdown list. See here for details.
- Click Simulate to verify the configurations. The simulator displays the Source and the number of documents to which the mapping was applied, and the result. You can change the Source if there is no mention in the condition and the number of documents.
- Once ready, click Save Configuration on the upper-right.
Supported Models in Semantic Analysis
The following models are supported:
- Universal Sentence Encoder – It encodes text into high-dimensional vectors that are used for semantic similarity.
- Sentence Transformers – it’s a framework for sentence and text embeddings.
- InferSent – it’s a sentence embedding method that provides semantic sentence representations.
Conditions for Semantic Analysis
Condition is of the following format: ctx.fieldtype==value or ctx.fieldtype!=value. The field_name can be obtained from the Fields table under Index Configuration.
For example, ctx.contentType==”web” to restrict the extraction to the content from a web source.