In this chapter Knovvu Conversational Analytics components are defined. Interactions between the services are presented on topology document.
| Component | Description |
|---|---|
| Knovvu web application | Web application is a lightweight Angular application. Its main duty is sending requests to the Internal API according to the user activities through the GUI and rendering gathered data. |
| Knovvu identity server | Manages authorization and authentication processes of the solution. It authenticates and issues a token for a user with the roles defined. |
| Knovvu internal API | Internal API is the API that is used by the web service. It sends the requests delivered from the web service, triggers the backend services, or saves the data to DB to complete user request. For instance, if a user tries to create a new query defined query structure is delivered to DB with the help of Internal API. |
| Knovvu external API | External API is used for the integrations of clients to successful deliver conversations and manage other conversational data. For instance, through the Ext API it is possible to post conversations, get their details, issue user management by creating or editing users and departments There exist three different default roles to authorize using External API as Analyzer, Customer and Reporter. Each method defining External API’s abilities are listed under CA-Ext-API Reference. |
| Knovvu database server | Database stores all data delivered externally and the information generated by the solution. Please note that audio or video files are not stored in db. The customer must provide a MSSQL or PostGreSQL Database for the Knovvu Analytics solution. Therefore, customer is responsible for its redundancy. |
| Knovvu analysis worker | Analysis worker is an orchestrator and operator service used for speech recognition, acoustical, emotional and sentiment analysis of the audio data delivered by the clients. Analysis server gets the not analyzed conversations (only with audio or video data) and transforms into text data with the timestamps used for presenting it in a speaker-separated format. In addition to that acoustical and emotional metrics such as conversation overlap ratio, tension ratio and block ratio are the outputs of analysis server. Result of the analyzed data is the subject of indexer, evaluator, and other background services to provide useful insights of the client conversations. Analysis Worker supports using Whisper, Dolphin and Sestek models. If all models exist models are used with this order: Dolphin > Whisper > Sestek. |
| Knovvu background service | Background service is the managing application for the background events such as AI Topicalization, updating the analysis statuses, marking non first call resolution conversations, scheduling events of automatic evaluations, scheduling and triggering the email reports, creating the waveforms by getting the audio files from MinIO, compressing the audio files. Each Knovvu Conversational Analytics solution can have only one background service. |
| Knovvu background worker | Background workers are the operational workers that handles the assignments defined by the background service. |
| Knovvu index manager | Index manager creates an indexing message when a query is created, edited or a new conversation’s analysis result is arrived to the DB. Those messages are delivered to the indexer(s) for indexing purposes. Each Knovvu Conversational Analytics solution can have only one index manager service. |
| Knovvu indexer | In order to run most of the other features of Knovvu Conversational Analytics such as automatic evaluation and query-based filtering indexing operation should be completed. A solution can have multiple indexers as sufficient resources are supplied. Indexers shares the job given by the index manager. Indexing process is issued by considering last in first out principle. Notes for other cases If a conversation’s non-FCR status changes, the categories (including the non-FCR item) reindex that conversation, and it is included in the batch process. 1. If a new tag is added to a conversation, the categories (including the tag item) reindex that conversation immediately via direct flow. 2. If a conversation transcript is edited, the categories (including the text item) reindex that conversation immediately via direct flow. 3. If a conversation’s non-FCR status changes, the categories (including the non-FCR item) reindex that conversation, and it is included in the batch process. 4. If a new tag is added to a conversation, the categories (including the tag item) reindex that conversation immediately via direct flow. 5. If a conversation transcript is edited, the categories (including the text item) reindex that conversation immediately via direct flow. |
| Knovvu evaluator | Evaluator service does the automatic evaluations after indexing processes are completed. Evaluator follows the queue in RabbitMQ to issue evaluations. Evaluator service is scalable as well as Indexer to expedite evaluation process. |
| Knovvu Core components | Speech Recognition: Speech recognition is the technology that basically understands what your customers and agents have spoken and generates the text representation of this speech. Speech Recognition technologies power many widely known applications and systems. Knovvu SR uses ffmpeg to convert audio files. Main supported formats are G729, Mp3, Mp4, Wav and Opus. For supported languages please check here: Analytics Supported Languages. |
| Knovvu ML Services | Knovvu ML hosts and manages NLP and other AI services such as text normalization, and text clustering, textmanip, sentiment etc. AI model training and inference processes are also hosted by Knovvu ML. Text Normalization: For text-based conversations like chats, text correction service is used to correct typos or abbreviations in a conversation. It must be only deployed when the operation requires to correct its chat data. Text Clustering (Conversation classification): Clustering service is used to automatically classify the conversations. By training the past data. text-normalization and text-clustering model must be imported to use AI topic. Textmanip: Textmanip is a Named Entity Recognition (NER) service used to extract specific information such as names, dates, numbers, enabling structured analysis. Using its denormalization capabilities the service converts extracted numeric values between textual and numerical formats. LLM Gateway: LLM Gateway service is responsible for handling requests related to large language models (LLMs) as OpenAI and Azure OpenAI. The ML API sends requests to the LLM Gateway, which then forwards them to the chosen LLM for processing. Audio Emotion: This service scores the monotonicity and tension values of both the agent and the customer. Sentiment: Sentiment analysis inspects the given text and identifies the prevailing emotional tone within the text, especially to determine a writer's attitude as positive, negative, or neutral. Gender: Predicts the gender of the customer. Language Detection: For the customers who supports bilingual service, Knovvu CA can understand the language and issue speech recognition accordingly. It must be only deployed if the client does not have any language information to send. It is capable of detecting Arabic, English, Spanish, French, Russian and Turkish. Diarization: Diarization service is used for mono channel conversations to identify speakers. Supports maximum 20 speakers in a single conversation. It must be only deployed when supplied conversations are mono channel. |
| Private LLM (Offline) | The Private LLM is a locally hosted virtual Large Language Model (vLLM) being used instead of or alongside cloud-based LLM services. The LLM runs in an isolated, controlled environment, ensuring no external dependencies or cloud-based API calls. Data is not sent to external servers, which is beneficial for compliance, security, and data privacy regulations. |
| Audio File Storage (MinIO) | MinIO is used as a file storage which is the high-performance object storage native to Kubernetes. It is the only object storage suitable for every public, private cloud. MinIO can be deployed anywhere such as public or private cloud, baremetal infrastructure, orchestrated environments, and edge infrastructure. |
| Message broker (RabbitMQ) | RabbitMQ is a lightweight and widely used opensource message broker that’s main objective is creating a queue for the index manager, indexer, evaluator, and background servers. Rabbit MQ is capable of running on many cloud environments. |
| Knovvu Common | Redaction: Redaction is a service that is designed to enhance data privacy and compliance by removing sensitive information from recorded interactions. By automatically identifying and masking confidential data, the service ensures that sensitive details are securely handled. Redis: Redis is in-memory data structure store, used as a database and cache. For Knovvu Conversational Analytics solution Redis is used to cache session details, dialog history and tree information. Redis Sentinel provides high availability for Redis. Sentinel always checks master and slave instance whether they working as expected. In case of any failure in Master node, Sentinel will pick a slave instance and promote it to master. The other remaining slave instances will be automatically reconfigured to use the new master instance. Prometheus: Prometheus is a free software application used for event monitoring and alerting. It records real-time metrics in a time series database (allowing for high dimensionality) built using a HTTP pull model, with flexible queries and real-time alerting. Knovvu Conversational Analytics uses Prometheus for collecting various metrics from its own services. Grafana: Grafana is a multi-platform open-source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources. As a visualization tool, Grafana is a popular component in monitoring stacks, often used in combination with time series databases such as Prometheus. Knovvu Conversational Analytics product uses Grafana to visualize Prometheus data. Elasticsearch: Elasticsearch is a distributed, free and open search analytics engine for all types of data, including textual, numerical, geospatial, structured, and unstructured. Known for its simple REST APIs, distributed nature, speed, and scalability, Elasticsearch is the central component of the Elastic Stack, a set of free and open tools for data ingestion, enrichment, storage, analysis, and visualization. Knovvu Conversational Analytics product uses Elasticsearch as its distributed log provider. Kibana: Kibana is a free and open-source frontend application that sits on top of the Elastic Stack, providing search and data visualization capabilities for data indexed in Elasticsearch. Commonly known as the charting tool for the Elastic Stack (previously referred to as the ELK Stack after Elasticsearch, Logstash, and Kibana), Kibana also acts as the user interface for monitoring, managing, and securing an Elastic Stack cluster — as well as the centralized hub for built-in solutions developed on the Elastic Stack. Knovvu Conversational Analytics product uses Kibana for search and visualize Elasticsearch data. |

