Skip to content

Commit

Permalink
feat: support for generating summaries during conversation analysis
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 527631871
  • Loading branch information
Google APIs authored and Copybara-Service committed Apr 27, 2023
1 parent fd4c66c commit 375cea2
Showing 1 changed file with 73 additions and 1 deletion.
74 changes: 73 additions & 1 deletion google/cloud/contactcenterinsights/v1/resources.proto
Expand Up @@ -28,6 +28,10 @@ option java_outer_classname = "ResourcesProto";
option java_package = "com.google.cloud.contactcenterinsights.v1";
option php_namespace = "Google\\Cloud\\ContactCenterInsights\\V1";
option ruby_package = "Google::Cloud::ContactCenterInsights::V1";
option (google.api.resource_definition) = {
type: "dialogflow.googleapis.com/ConversationProfile"
pattern: "projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}"
};
option (google.api.resource_definition) = {
type: "dialogflow.googleapis.com/Participant"
pattern: "projects/{project}/conversations/{conversation}/participants/{participant}"
Expand Down Expand Up @@ -197,6 +201,10 @@ message Conversation {
// Output only. The conversation's latest analysis, if one exists.
Analysis latest_analysis = 12 [(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. Latest summary of the conversation.
ConversationSummarizationSuggestionData latest_summary = 20
[(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. The annotations that were generated during the customer and
// agent interaction.
repeated RuntimeAnnotation runtime_annotations = 13
Expand Down Expand Up @@ -819,7 +827,7 @@ message PhraseMatchRuleGroup {
// Required. The type of this phrase match rule group.
PhraseMatchRuleGroupType type = 1 [(google.api.field_behavior) = REQUIRED];

// A list of phase match rules that are included in this group.
// A list of phrase match rules that are included in this group.
repeated PhraseMatchRule phrase_match_rules = 2;
}

Expand Down Expand Up @@ -954,6 +962,10 @@ message RuntimeAnnotation {

// Dialogflow interaction data.
DialogflowInteractionData dialogflow_interaction = 10;

// Conversation summarization suggestion data.
ConversationSummarizationSuggestionData
conversation_summarization_suggestion = 12;
}

// The unique identifier of the annotation.
Expand Down Expand Up @@ -1110,6 +1122,34 @@ message DialogflowInteractionData {
float confidence = 2;
}

// Conversation summarization suggestion data.
message ConversationSummarizationSuggestionData {
// The summarization content that is concatenated into one string.
string text = 1;

// The summarization content that is divided into sections. The key is the
// section's name and the value is the section's content. There is no
// specific format for the key or value.
map<string, string> text_sections = 5;

// The confidence score of the summarization.
float confidence = 2;

// A map that contains metadata about the summarization and the document
// from which it originates.
map<string, string> metadata = 3;

// The name of the answer record.
// Format:
// projects/{project}/locations/{location}/answerRecords/{answer_record}
string answer_record = 4;

// The name of the model that generates this summary.
// Format:
// projects/{project}/locations/{location}/conversationModels/{conversation_model}
string conversation_model = 6;
}

// The call participant speaking for a given utterance.
message ConversationParticipant {
// The role of the participant.
Expand Down Expand Up @@ -1182,6 +1222,32 @@ message View {

// Selector of all available annotators and phrase matchers to run.
message AnnotatorSelector {
// Configuration for summarization.
message SummarizationConfig {
// Summarization model to use, if `conversation_profile` is not used.
enum SummarizationModel {
// Unspecified summarization model.
SUMMARIZATION_MODEL_UNSPECIFIED = 0;

// The Insights baseline model.
BASELINE_MODEL = 1;
}

// Summarization must use either a preexisting conversation profile or one
// of the supported default models.
oneof model_source {
// Resource name of the Dialogflow conversation profile.
// Format:
// projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}
string conversation_profile = 1 [(google.api.resource_reference) = {
type: "dialogflow.googleapis.com/ConversationProfile"
}];

// Default summarization model to be used.
SummarizationModel summarization_model = 2;
}
}

// Whether to run the interruption annotator.
bool run_interruption_annotator = 1;

Expand Down Expand Up @@ -1221,4 +1287,10 @@ message AnnotatorSelector {
repeated string issue_models = 10 [(google.api.resource_reference) = {
type: "contactcenterinsights.googleapis.com/IssueModel"
}];

// Whether to run the summarization annotator.
bool run_summarization_annotator = 9;

// Configuration for the summarization annotator.
SummarizationConfig summarization_config = 11;
}

0 comments on commit 375cea2

Please sign in to comment.