Working with dialogs
When in a dialog, you can get detailed information about the dialog, listen to the conversation audio, and look up the customer's text chat with the agent or bot.
Viewing a list of dialogs
- Open the SpeechSense home page
. - Go to the space you need and select a project.
By default, the Dialogs tab shows 100 most recent dialogs. To see the previous dialogs, click Show more at the end of the list.
Finding dialogs
Use the following to search for dialogs:
To get more information about each dialog, customize the columns.
Filters
To apply a filter to dialogs:
- Open the SpeechSense home page
. - Go to the space you need and select a project.
- In the Dialogs tab, click
Add filter. - Select the required filter and enter its value.
- Click Apply.
You can add multiple filters. They will be combined by the logical AND
operation to find the dialogs satisfying all the conditions that were specified.
Full-text search
Full-text search allows you to find dialogs containing a specific word or phrase. The better the dialog text matches the search query and the more frequently it occurs, the higher is the dialog placed in the search results.
To perform a search:
- Open the SpeechSense home page
. - Go to the space you need and select a project.
- Navigate to the Dialogs tab.
- In the drop-down list above the search bar, select
Text. - Enter the text fragment you are looking for in the search bar.
- Optionally, to refine your search results, select the channel you want to search in from the drop-down list below the search bar: All participants, Agent, or Customer.
- Click Search.
Dictionary search
The dictionary search allows you to find dialogs containing one or more specified key phrases.
To perform a search:
-
Open the SpeechSense home page
. -
Go to the space you need and select a project.
-
Navigate to the Dialogs tab.
-
In the drop-down list above the search bar, select
Dictionary. -
Enter a key phrase or phrases in the search bar. Use a new row for each one.
-
(Optional) To refine your search results:
- Select the channel you want to search in from the drop-down list: All participants, Agent, or Customer.
- Select the allowable distance between words in the key phrase.
- Enable Exact match by keywords.
-
Click Search.
Semantic search
The semantic search allows you to find dialogs that match the meaning of the search query in the context of the selected semantic attribute. The search results will only contain dialogs matching the search query, arranged in descending order of the likelihood of matching.
To perform a search:
-
Open the SpeechSense home page
. -
Go to the space you need and select a project.
-
Navigate to the Dialogs tab.
-
In the drop-down list above the search bar, select
Semantic. -
Select one of the semantic attributes from the drop-down list.
-
In the search bar, select a search query from the auto suggestions or enter it manually.
If there are more than 1,000 dialogs in the project, SpeechSense will analyze only 1,000 random dialogs to generate suggestions. If not happy with the auto suggestions, you can click Update. SpeechSense will select 1,000 more random dialogs, analyze them, and generate new suggestions.
-
Click Search.
Customizing column display
By default, not all columns are displayed in the dialog list. You can display additional columns, hide the ones you do not need, and reorder them.
To customize column display:
-
Open the SpeechSense home page
. -
Go to the space you need and select a project.
-
In the title row for the list of dialogs, click
. This will open the list of all columns. -
Do one of the following in the list of columns:
- Check any additional columns you want displayed.
- Uncheck columns you do not need to hide them. Some columns cannot be hidden, so you cannot uncheck them.
- To reorder columns, click
to the left of the column name and drag the column to a new position in the list.
-
Click Apply.
Viewing a dialog
-
Open the SpeechSense home page
. -
Go to the space you need and select a project.
-
Open the dialog in one of the following ways:
- To open a dialog preview, click the dialog line.
- To open the dialog in a new window, click
on the right in the dialog line.
The dialog page displays the following information:
- Metadata such as agent and customer names, call or message date, dialog language.
- Conversation audio (only for audio).
- Conversation contents on the Dialog tab.
- Semantic analysis of the conversation on the YandexGPT analysis tab.
- Tags assigned to the dialog.
To learn more, see Detailed info about a dialog.
Editing dialog metadata
Editing dialog metadata can be of use in some situations. For example, you can add a score to an already uploaded dialog after the customer has rated it.
You can update metadata values for keys that were added when creating the connection. You cannot add metadata if there is none in the connection settings.
You can edit dialog metadata via the Yandex Cloud gRPC API. To do this:
- Get the dialog ID.
- Get your infrastructure ready for the Yandex Cloud gRPC API.
- Get the dialog information.
- Edit the dialog metadata.
Get the dialog ID
Find the dialog you need and copy its ID:
- Open the SpeechSense home page
. - Go to the space you need and select a project.
- On the Dialogs tab, find the dialog and navigate to it.
- Copy the dialog ID from the upper-left corner.
Get your infrastructure ready for the Yandex Cloud gRPC API
To use the Yandex Cloud API, you will need Git, Python 3.6 or higher, and the grpcio-tools
package. Learn how to install Python
-
In the management console, create a service account.
-
Add the service account to the namespace with the
Data editor
role. This will allow the service account to upload data to SpeechSense. -
To authenticate to the Yandex Cloud API, create an API key or IAM token for the service account.
-
Clone the Yandex Cloud API repository
:git clone https://github.com/yandex-cloud/cloudapi
-
Install the
grpcio-tools
package using the pip package manager:pip install grpcio-tools
Get the dialog information
Use the TalkService/Get call and send the following request, e.g., via gRPCurl
The examples use demo data.
Request:
grpcurl \
-format json \
-import-path ~/cloudapi/ \
-import-path ~/cloudapi/third_party/googleapis/ \
-proto ~/yandex/cloud/speechsense/v1/talk_service.proto \
-rpc-header "Authorization: Bearer $IAM_TOKEN" \
-d '{
"space_id": "f3fuc***************",
"project_id": "eagpe***************",
"talk_ids": [
"aud78***************"
]
}' \
api.speechsense.yandexcloud.net:443 \
yandex.cloud.api.speechsense.v1.TalkService.Get
Response:
{
"talk": [
{
"id": "aud78***************",
"organizationId": "yc.organization-manager.example",
"spaceId": "f3fuc***************",
"connectionId": "eagjj***************",
"projectIds": [
"eagpe***************"
],
"createdBy": "ajegr***************",
"createdAt": "2025-04-24T14:35:19.882Z",
"modifiedBy": "CLASSIFIER",
"modifiedAt": "2025-04-24T14:35:24.470980Z",
"talkFields": [
{
"name": "operator_name",
"value": "John",
"type": "FIELD_TYPE_STRING"
},
{
"name": "operator_id",
"value": "11111",
"type": "FIELD_TYPE_STRING"
},
{
"name": "client_name",
"value": "Alexander",
"type": "FIELD_TYPE_STRING"
},
{
"name": "client_id",
"value": "22222",
"type": "FIELD_TYPE_STRING"
},
{
"name": "date",
"value": "2025-04-24T14:34:19Z",
"type": "FIELD_TYPE_DATE"
},
{
"name": "direction_outgoing",
"value": "true",
"type": "FIELD_TYPE_BOOLEAN"
},
{
"name": "language",
"value": "ru-ru",
"type": "FIELD_TYPE_STRING"
},
{
"name": "score_main",
"type": "FIELD_TYPE_STRING"
}
],
// ...
}
]
}
The response contains the dialog metadata in the talkFields
field:
-
operator_name
: Agent name. -
operator_id
: Agent ID. -
client_name
: Customer name. -
client_id
: Customer ID. -
date
: Dialog start date and time, inYYYY-MM-DDTHH:MM:SSSZ
format.The dates are ISO 8601 UTC with zero time offset. For Moscow time, add
+03:00
instead ofZ
at the end of the line:2025-04-24T14:34:19+03:00
. -
direction_outgoing
: Dialog direction (incoming or outgoing). -
language
: Dialog language. -
score_main
: Dialog score. Optional key; the value will be added when editing the metadata.
Edit the dialog metadata
Note
When editing the dialog metadata, remember to provide all keys; otherwise, their values will be deleted.
Use the TalkService/Upload call and send the following request, e.g., via gRPCurl
The example uses demo data.
Request:
The request adds a new score_main
key value; other key values are provided unchanged.
grpcurl \
-format json \
-import-path ~/cloudapi/ \
-import-path ~/cloudapi/third_party/googleapis/ \
-proto ~/cloudapi/yandex/cloud/speechsense/v1/talk_service.proto \
-rpc-header "Authorization: Bearer $IAM_TOKEN" \
-d '{
"talkId": "aud78***************",
"metadata": {
"connectionId": "eagjj***************",
"fields": {
"date": "2025-04-24T14:34:19Z",
"direction_outgoing": "true",
"language": "ru-ru",
"operator_name": "John",
"operator_id": "11111",
"client_name": "Alexander",
"client_id": "22222",
"score_main": "4"
}
}
}' \
api.speechsense.yandexcloud.net:443 \
yandex.cloud.speechsense.v1.TalkService.Upload
Example of searching dialogs by time period and text fragment
Search criteria:
- Period:
10.11.2023 - 16.11.2023
. - Contains the customer's utterance:
good service
.
Follow these steps:
- Open the SpeechSense home page
. - Go to the space you need and select a project.
- In the Dialogs tab, enter
good service
in the search bar. - To the right of the search bar, select the Customer channel from the drop-down list.
- Click
Add filter. - In the Shared metadata group, select the Start date filter. As the filter value, specify the
10.11.2023 - 16.11.2023
date range. - Click Apply.
The filtered dialogs will be displayed as a result.
Example of ranking dialogs depending on the found text fragments:
No. |
Dialog date |
Dialog fragment |
1 |
16.11.2023 |
thank you for |
2 |
13.11.2023 |
|
3 |
15.11.2023 |
full system |