123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116 |
- // Copyright 2022 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.contactcenterinsights.v1;
- import "google/api/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/protobuf/duration.proto";
- import "google/protobuf/timestamp.proto";
- option csharp_namespace = "Google.Cloud.ContactCenterInsights.V1";
- option go_package = "google.golang.org/genproto/googleapis/cloud/contactcenterinsights/v1;contactcenterinsights";
- option java_multiple_files = true;
- 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/Participant"
- pattern: "projects/{project}/conversations/{conversation}/participants/{participant}"
- pattern: "projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}"
- };
- // The conversation resource.
- message Conversation {
- option (google.api.resource) = {
- type: "contactcenterinsights.googleapis.com/Conversation"
- pattern: "projects/{project}/locations/{location}/conversations/{conversation}"
- };
- // Call-specific metadata.
- message CallMetadata {
- // The audio channel that contains the customer.
- int32 customer_channel = 1;
- // The audio channel that contains the agent.
- int32 agent_channel = 2;
- }
- // A message representing the transcript of a conversation.
- message Transcript {
- // A segment of a full transcript.
- message TranscriptSegment {
- // Word-level info for words in a transcript.
- message WordInfo {
- // Time offset of the start of this word relative to the beginning of
- // the total conversation.
- google.protobuf.Duration start_offset = 1;
- // Time offset of the end of this word relative to the beginning of the
- // total conversation.
- google.protobuf.Duration end_offset = 2;
- // The word itself. Includes punctuation marks that surround the word.
- string word = 3;
- // A confidence estimate between 0.0 and 1.0 of the fidelity of this
- // word. A default value of 0.0 indicates that the value is unset.
- float confidence = 4;
- }
- // Metadata from Dialogflow relating to the current transcript segment.
- message DialogflowSegmentMetadata {
- // Whether the transcript segment was covered under the configured smart
- // reply allowlist in Agent Assist.
- bool smart_reply_allowlist_covered = 1;
- }
- // The time that the message occurred, if provided.
- google.protobuf.Timestamp message_time = 6;
- // The text of this segment.
- string text = 1;
- // A confidence estimate between 0.0 and 1.0 of the fidelity of this
- // segment. A default value of 0.0 indicates that the value is unset.
- float confidence = 2;
- // A list of the word-specific information for each word in the segment.
- repeated WordInfo words = 3;
- // The language code of this segment as a
- // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.
- // Example: "en-US".
- string language_code = 4;
- // For conversations derived from multi-channel audio, this is the channel
- // number corresponding to the audio from that channel. For
- // audioChannelCount = N, its output values can range from '1' to 'N'. A
- // channel tag of 0 indicates that the audio is mono.
- int32 channel_tag = 5;
- // The participant of this segment.
- ConversationParticipant segment_participant = 9;
- // CCAI metadata relating to the current transcript segment.
- DialogflowSegmentMetadata dialogflow_segment_metadata = 10;
- // The sentiment for this transcript segment.
- SentimentData sentiment = 11;
- }
- // A list of sequential transcript segments that comprise the conversation.
- repeated TranscriptSegment transcript_segments = 1;
- }
- // Possible media for the conversation.
- enum Medium {
- // Default value, if unspecified will default to PHONE_CALL.
- MEDIUM_UNSPECIFIED = 0;
- // The format for conversations that took place over the phone.
- PHONE_CALL = 1;
- // The format for conversations that took place over chat.
- CHAT = 2;
- }
- // Metadata that applies to the conversation.
- oneof metadata {
- // Call-specific metadata.
- CallMetadata call_metadata = 7;
- }
- // A time to live expiration setting, can be either a specified timestamp or a
- // duration from the time that the conversation creation request was received.
- // Conversations with an expiration set will be removed up to 24 hours after
- // the specified time.
- oneof expiration {
- // The time at which this conversation should expire. After this time, the
- // conversation data and any associated analyses will be deleted.
- google.protobuf.Timestamp expire_time = 15;
- // Input only. The TTL for this resource. If specified, then this TTL will
- // be used to calculate the expire time.
- google.protobuf.Duration ttl = 16 [(google.api.field_behavior) = INPUT_ONLY];
- }
- // Immutable. The resource name of the conversation.
- // Format:
- // projects/{project}/locations/{location}/conversations/{conversation}
- string name = 1 [(google.api.field_behavior) = IMMUTABLE];
- // The source of the audio and transcription for the conversation.
- ConversationDataSource data_source = 2;
- // Output only. The time at which the conversation was created.
- google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The most recent time at which the conversation was updated.
- google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The time at which the conversation started.
- google.protobuf.Timestamp start_time = 17;
- // A user-specified language code for the conversation.
- string language_code = 14;
- // An opaque, user-specified string representing the human agent who handled
- // the conversation.
- string agent_id = 5;
- // A map for the user to specify any custom fields. A maximum of 20 labels per
- // conversation is allowed, with a maximum of 256 characters per entry.
- map<string, string> labels = 6;
- // Output only. The conversation transcript.
- Transcript transcript = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Immutable. The conversation medium, if unspecified will default to PHONE_CALL.
- Medium medium = 9 [(google.api.field_behavior) = IMMUTABLE];
- // Output only. The duration of the conversation.
- google.protobuf.Duration duration = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The number of turns in the conversation.
- int32 turn_count = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The conversation's latest analysis, if one exists.
- Analysis latest_analysis = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The annotations that were generated during the customer and agent
- // interaction.
- repeated RuntimeAnnotation runtime_annotations = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. All the matched Dialogflow intents in the call. The key corresponds to a
- // Dialogflow intent, format:
- // projects/{project}/agent/{agent}/intents/{intent}
- map<string, DialogflowIntent> dialogflow_intents = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Obfuscated user ID which the customer sent to us.
- string obfuscated_user_id = 21;
- }
- // The analysis resource.
- message Analysis {
- option (google.api.resource) = {
- type: "contactcenterinsights.googleapis.com/Analysis"
- pattern: "projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis}"
- };
- // Immutable. The resource name of the analysis.
- // Format:
- // projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis}
- string name = 1 [(google.api.field_behavior) = IMMUTABLE];
- // Output only. The time at which the analysis was requested.
- google.protobuf.Timestamp request_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time at which the analysis was created, which occurs when the
- // long-running operation completes.
- google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The result of the analysis, which is populated when the analysis
- // finishes.
- AnalysisResult analysis_result = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // The conversation source, which is a combination of transcript and audio.
- message ConversationDataSource {
- // The source of the conversation.
- oneof source {
- // A Cloud Storage location specification for the audio and transcript.
- GcsSource gcs_source = 1;
- // The source when the conversation comes from Dialogflow.
- DialogflowSource dialogflow_source = 3;
- }
- }
- // A Cloud Storage source of conversation data.
- message GcsSource {
- // Cloud Storage URI that points to a file that contains the conversation
- // audio.
- string audio_uri = 1;
- // Immutable. Cloud Storage URI that points to a file that contains the conversation
- // transcript.
- string transcript_uri = 2 [(google.api.field_behavior) = IMMUTABLE];
- }
- // A Dialogflow source of conversation data.
- message DialogflowSource {
- // Output only. The name of the Dialogflow conversation that this conversation
- // resource is derived from. Format:
- // projects/{project}/locations/{location}/conversations/{conversation}
- string dialogflow_conversation = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Cloud Storage URI that points to a file that contains the conversation
- // audio.
- string audio_uri = 3;
- }
- // The result of an analysis.
- message AnalysisResult {
- // Call-specific metadata created during analysis.
- message CallAnalysisMetadata {
- // A list of call annotations that apply to this call.
- repeated CallAnnotation annotations = 2;
- // All the entities in the call.
- map<string, Entity> entities = 3;
- // Overall conversation-level sentiment for each channel of the call.
- repeated ConversationLevelSentiment sentiments = 4;
- // All the matched intents in the call.
- map<string, Intent> intents = 6;
- // All the matched phrase matchers in the call.
- map<string, PhraseMatchData> phrase_matchers = 7;
- // Overall conversation-level issue modeling result.
- IssueModelResult issue_model_result = 8;
- }
- // Metadata discovered during analysis.
- oneof metadata {
- // Call-specific metadata created by the analysis.
- CallAnalysisMetadata call_analysis_metadata = 2;
- }
- // The time at which the analysis ended.
- google.protobuf.Timestamp end_time = 1;
- }
- // Issue Modeling result on a conversation.
- message IssueModelResult {
- // Issue model that generates the result.
- // Format: projects/{project}/locations/{location}/issueModels/{issue_model}
- string issue_model = 1 [(google.api.resource_reference) = {
- type: "contactcenterinsights.googleapis.com/IssueModel"
- }];
- // All the matched issues.
- repeated IssueAssignment issues = 2;
- }
- // One channel of conversation-level sentiment data.
- message ConversationLevelSentiment {
- // The channel of the audio that the data applies to.
- int32 channel_tag = 1;
- // Data specifying sentiment.
- SentimentData sentiment_data = 2;
- }
- // Information about the issue.
- message IssueAssignment {
- // Resource name of the assigned issue.
- string issue = 1;
- // Score indicating the likelihood of the issue assignment.
- // currently bounded on [0,1].
- double score = 2;
- // Immutable. Display name of the assigned issue. This field is set at time of analyis
- // and immutable since then.
- string display_name = 3 [(google.api.field_behavior) = IMMUTABLE];
- }
- // A piece of metadata that applies to a window of a call.
- message CallAnnotation {
- // The data in the annotation.
- oneof data {
- // Data specifying an interruption.
- InterruptionData interruption_data = 10;
- // Data specifying sentiment.
- SentimentData sentiment_data = 11;
- // Data specifying silence.
- SilenceData silence_data = 12;
- // Data specifying a hold.
- HoldData hold_data = 13;
- // Data specifying an entity mention.
- EntityMentionData entity_mention_data = 15;
- // Data specifying an intent match.
- IntentMatchData intent_match_data = 16;
- // Data specifying a phrase match.
- PhraseMatchData phrase_match_data = 17;
- }
- // The channel of the audio where the annotation occurs. For single-channel
- // audio, this field is not populated.
- int32 channel_tag = 1;
- // The boundary in the conversation where the annotation starts, inclusive.
- AnnotationBoundary annotation_start_boundary = 4;
- // The boundary in the conversation where the annotation ends, inclusive.
- AnnotationBoundary annotation_end_boundary = 5;
- }
- // A point in a conversation that marks the start or the end of an annotation.
- message AnnotationBoundary {
- // A detailed boundary, which describes a more specific point.
- oneof detailed_boundary {
- // The word index of this boundary with respect to the first word in the
- // transcript piece. This index starts at zero.
- int32 word_index = 3;
- }
- // The index in the sequence of transcribed pieces of the conversation where
- // the boundary is located. This index starts at zero.
- int32 transcript_index = 1;
- }
- // The data for an entity annotation.
- // Represents a phrase in the conversation that is a known entity, such
- // as a person, an organization, or location.
- message Entity {
- // The type of the entity. For most entity types, the associated metadata is a
- // Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`). The table
- // below lists the associated fields for entities that have different
- // metadata.
- enum Type {
- // Unspecified.
- TYPE_UNSPECIFIED = 0;
- // Person.
- PERSON = 1;
- // Location.
- LOCATION = 2;
- // Organization.
- ORGANIZATION = 3;
- // Event.
- EVENT = 4;
- // Artwork.
- WORK_OF_ART = 5;
- // Consumer product.
- CONSUMER_GOOD = 6;
- // Other types of entities.
- OTHER = 7;
- // Phone number.
- //
- // The metadata lists the phone number (formatted according to local
- // convention), plus whichever additional elements appear in the text:
- //
- // * `number` - The actual number, broken down into sections according to
- // local convention.
- // * `national_prefix` - Country code, if detected.
- // * `area_code` - Region or area code, if detected.
- // * `extension` - Phone extension (to be dialed after connection), if
- // detected.
- PHONE_NUMBER = 9;
- // Address.
- //
- // The metadata identifies the street number and locality plus whichever
- // additional elements appear in the text:
- //
- // * `street_number` - Street number.
- // * `locality` - City or town.
- // * `street_name` - Street/route name, if detected.
- // * `postal_code` - Postal code, if detected.
- // * `country` - Country, if detected.
- // * `broad_region` - Administrative area, such as the state, if detected.
- // * `narrow_region` - Smaller administrative area, such as county, if
- // detected.
- // * `sublocality` - Used in Asian addresses to demark a district within a
- // city, if detected.
- ADDRESS = 10;
- // Date.
- //
- // The metadata identifies the components of the date:
- //
- // * `year` - Four digit year, if detected.
- // * `month` - Two digit month number, if detected.
- // * `day` - Two digit day number, if detected.
- DATE = 11;
- // Number.
- //
- // The metadata is the number itself.
- NUMBER = 12;
- // Price.
- //
- // The metadata identifies the `value` and `currency`.
- PRICE = 13;
- }
- // The representative name for the entity.
- string display_name = 1;
- // The entity type.
- Type type = 2;
- // Metadata associated with the entity.
- //
- // For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`)
- // and Knowledge Graph MID (`mid`), if they are available. For the metadata
- // associated with other entity types, see the Type table below.
- map<string, string> metadata = 3;
- // The salience score associated with the entity in the [0, 1.0] range.
- //
- // The salience score for an entity provides information about the
- // importance or centrality of that entity to the entire document text.
- // Scores closer to 0 are less salient, while scores closer to 1.0 are highly
- // salient.
- float salience = 4;
- // The aggregate sentiment expressed for this entity in the conversation.
- SentimentData sentiment = 5;
- }
- // The data for an intent.
- // Represents a detected intent in the conversation, for example MAKES_PROMISE.
- message Intent {
- // The unique identifier of the intent.
- string id = 1;
- // The human-readable name of the intent.
- string display_name = 2;
- }
- // The data for a matched phrase matcher.
- // Represents information identifying a phrase matcher for a given match.
- message PhraseMatchData {
- // The unique identifier (the resource name) of the phrase matcher.
- string phrase_matcher = 1;
- // The human-readable name of the phrase matcher.
- string display_name = 2;
- }
- // The data for a Dialogflow intent.
- // Represents a detected intent in the conversation, e.g. MAKES_PROMISE.
- message DialogflowIntent {
- // The human-readable name of the intent.
- string display_name = 1;
- }
- // The data for an interruption annotation.
- message InterruptionData {
- }
- // The data for a silence annotation.
- message SilenceData {
- }
- // The data for a hold annotation.
- message HoldData {
- }
- // The data for an entity mention annotation.
- // This represents a mention of an `Entity` in the conversation.
- message EntityMentionData {
- // The supported types of mentions.
- enum MentionType {
- // Unspecified.
- MENTION_TYPE_UNSPECIFIED = 0;
- // Proper noun.
- PROPER = 1;
- // Common noun (or noun compound).
- COMMON = 2;
- }
- // The key of this entity in conversation entities.
- // Can be used to retrieve the exact `Entity` this mention is attached to.
- string entity_unique_id = 1;
- // The type of the entity mention.
- MentionType type = 2;
- // Sentiment expressed for this mention of the entity.
- SentimentData sentiment = 3;
- }
- // The data for an intent match.
- // Represents an intent match for a text segment in the conversation. A text
- // segment can be part of a sentence, a complete sentence, or an utterance
- // with multiple sentences.
- message IntentMatchData {
- // The id of the matched intent.
- // Can be used to retrieve the corresponding intent information.
- string intent_unique_id = 1;
- }
- // The data for a sentiment annotation.
- message SentimentData {
- // A non-negative number from 0 to infinity which represents the abolute
- // magnitude of sentiment regardless of score.
- float magnitude = 1;
- // The sentiment score between -1.0 (negative) and 1.0 (positive).
- float score = 2;
- }
- // The issue model resource.
- message IssueModel {
- option (google.api.resource) = {
- type: "contactcenterinsights.googleapis.com/IssueModel"
- pattern: "projects/{project}/locations/{location}/issueModels/{issue_model}"
- };
- // Configs for the input data used to create the issue model.
- message InputDataConfig {
- // Medium of conversations used in training data. This field is being
- // deprecated. To specify the medium to be used in training a new issue
- // model, set the `medium` field on `filter`.
- Conversation.Medium medium = 1 [deprecated = true];
- // Output only. Number of conversations used in training. Output only.
- int64 training_conversations_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // A filter to reduce the conversations used for training the model to a
- // specific subset.
- string filter = 3;
- }
- // State of the model.
- enum State {
- // Unspecified.
- STATE_UNSPECIFIED = 0;
- // Model is not deployed but is ready to deploy.
- UNDEPLOYED = 1;
- // Model is being deployed.
- DEPLOYING = 2;
- // Model is deployed and is ready to be used. A model can only be used in
- // analysis if it's in this state.
- DEPLOYED = 3;
- // Model is being undeployed.
- UNDEPLOYING = 4;
- // Model is being deleted.
- DELETING = 5;
- }
- // Immutable. The resource name of the issue model.
- // Format:
- // projects/{project}/locations/{location}/issueModels/{issue_model}
- string name = 1 [(google.api.field_behavior) = IMMUTABLE];
- // The representative name for the issue model.
- string display_name = 2;
- // Output only. The time at which this issue model was created.
- google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The most recent time at which the issue model was updated.
- google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. State of the model.
- State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Configs for the input data that used to create the issue model.
- InputDataConfig input_data_config = 6;
- // Output only. Immutable. The issue model's label statistics on its training data.
- IssueModelLabelStats training_stats = 7 [
- (google.api.field_behavior) = OUTPUT_ONLY,
- (google.api.field_behavior) = IMMUTABLE
- ];
- }
- // The issue resource.
- message Issue {
- option (google.api.resource) = {
- type: "contactcenterinsights.googleapis.com/Issue"
- pattern: "projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}"
- };
- // Immutable. The resource name of the issue.
- // Format:
- // projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}
- string name = 1 [(google.api.field_behavior) = IMMUTABLE];
- // The representative name for the issue.
- string display_name = 2;
- // Output only. The time at which this issue was created.
- google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The most recent time that this issue was updated.
- google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // Aggregated statistics about an issue model.
- message IssueModelLabelStats {
- // Aggregated statistics about an issue.
- message IssueStats {
- // Issue resource.
- // Format:
- // projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}
- string issue = 1;
- // Number of conversations attached to the issue at this point in time.
- int64 labeled_conversations_count = 2;
- // Display name of the issue.
- string display_name = 3;
- }
- // Number of conversations the issue model has analyzed at this point in time.
- int64 analyzed_conversations_count = 1;
- // Number of analyzed conversations for which no issue was applicable at this
- // point in time.
- int64 unclassified_conversations_count = 2;
- // Statistics on each issue. Key is the issue's resource name.
- map<string, IssueStats> issue_stats = 3;
- }
- // The phrase matcher resource.
- message PhraseMatcher {
- option (google.api.resource) = {
- type: "contactcenterinsights.googleapis.com/PhraseMatcher"
- pattern: "projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}"
- };
- // Specifies how to combine each phrase match rule group to determine whether
- // there is a match.
- enum PhraseMatcherType {
- // Unspecified.
- PHRASE_MATCHER_TYPE_UNSPECIFIED = 0;
- // Must meet all phrase match rule groups or there is no match.
- ALL_OF = 1;
- // If any of the phrase match rule groups are met, there is a match.
- ANY_OF = 2;
- }
- // The resource name of the phrase matcher.
- // Format:
- // projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}
- string name = 1;
- // Output only. Immutable. The revision ID of the phrase matcher.
- // A new revision is committed whenever the matcher is changed, except when it
- // is activated or deactivated. A server generated random ID will be used.
- // Example: locations/global/phraseMatchers/my-first-matcher@1234567
- string revision_id = 2 [
- (google.api.field_behavior) = IMMUTABLE,
- (google.api.field_behavior) = OUTPUT_ONLY
- ];
- // The customized version tag to use for the phrase matcher. If not specified,
- // it will default to `revision_id`.
- string version_tag = 3;
- // Output only. The timestamp of when the revision was created. It is also the create time
- // when a new matcher is added.
- google.protobuf.Timestamp revision_create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The human-readable name of the phrase matcher.
- string display_name = 5;
- // Required. The type of this phrase matcher.
- PhraseMatcherType type = 6 [(google.api.field_behavior) = REQUIRED];
- // Applies the phrase matcher only when it is active.
- bool active = 7;
- // A list of phase match rule groups that are included in this matcher.
- repeated PhraseMatchRuleGroup phrase_match_rule_groups = 8;
- // Output only. The most recent time at which the activation status was updated.
- google.protobuf.Timestamp activation_update_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
- // The role whose utterances the phrase matcher should be matched
- // against. If the role is ROLE_UNSPECIFIED it will be matched against any
- // utterances in the transcript.
- ConversationParticipant.Role role_match = 10;
- // Output only. The most recent time at which the phrase matcher was updated.
- google.protobuf.Timestamp update_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
- }
- // A message representing a rule in the phrase matcher.
- message PhraseMatchRuleGroup {
- // Specifies how to combine each phrase match rule for whether there is a
- // match.
- enum PhraseMatchRuleGroupType {
- // Unspecified.
- PHRASE_MATCH_RULE_GROUP_TYPE_UNSPECIFIED = 0;
- // Must meet all phrase match rules or there is no match.
- ALL_OF = 1;
- // If any of the phrase match rules are met, there is a match.
- ANY_OF = 2;
- }
- // 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.
- repeated PhraseMatchRule phrase_match_rules = 2;
- }
- // The data for a phrase match rule.
- message PhraseMatchRule {
- // Required. The phrase to be matched.
- string query = 1 [(google.api.field_behavior) = REQUIRED];
- // Specifies whether the phrase must be missing from the transcript segment or
- // present in the transcript segment.
- bool negated = 2;
- // Provides additional information about the rule that specifies how to apply
- // the rule.
- PhraseMatchRuleConfig config = 3;
- }
- // Configuration information of a phrase match rule.
- message PhraseMatchRuleConfig {
- // The configuration of the phrase match rule.
- oneof config {
- // The configuration for the exact match rule.
- ExactMatchConfig exact_match_config = 1;
- }
- }
- // Exact match configuration.
- message ExactMatchConfig {
- // Whether to consider case sensitivity when performing an exact match.
- bool case_sensitive = 1;
- }
- // The settings resource.
- message Settings {
- option (google.api.resource) = {
- type: "contactcenterinsights.googleapis.com/Settings"
- pattern: "projects/{project}/locations/{location}/settings"
- };
- // Default configuration when creating Analyses in Insights.
- message AnalysisConfig {
- // Percentage of conversations created using Dialogflow runtime integration
- // to analyze automatically, between [0, 100].
- double runtime_integration_analysis_percentage = 1;
- }
- // Immutable. The resource name of the settings resource.
- // Format:
- // projects/{project}/locations/{location}/settings
- string name = 1 [(google.api.field_behavior) = IMMUTABLE];
- // Output only. The time at which the settings was created.
- google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The time at which the settings were last updated.
- google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // A language code to be applied to each transcript segment unless the segment
- // already specifies a language code. Language code defaults to "en-US" if it
- // is neither specified on the segment nor here.
- string language_code = 4;
- // The default TTL for newly-created conversations. If a conversation has a
- // specified expiration, that value will be used instead. Changing this
- // value will not change the expiration of existing conversations.
- // Conversations with no expire time persist until they are deleted.
- google.protobuf.Duration conversation_ttl = 5;
- // A map that maps a notification trigger to a Pub/Sub topic. Each time a
- // specified trigger occurs, Insights will notify the corresponding Pub/Sub
- // topic.
- //
- // Keys are notification triggers. Supported keys are:
- //
- // * "all-triggers": Notify each time any of the supported triggers occurs.
- // * "create-analysis": Notify each time an analysis is created.
- // * "create-conversation": Notify each time a conversation is created.
- // * "export-insights-data": Notify each time an export is complete.
- // * "update-conversation": Notify each time a conversation is updated via
- // UpdateConversation.
- //
- // Values are Pub/Sub topics. The format of each Pub/Sub topic is:
- // projects/{project}/topics/{topic}
- map<string, string> pubsub_notification_settings = 6;
- // Default analysis settings.
- AnalysisConfig analysis_config = 7;
- }
- // An annotation that was generated during the customer and agent interaction.
- message RuntimeAnnotation {
- // The data in the annotation.
- oneof data {
- // Agent Assist Article Suggestion data.
- ArticleSuggestionData article_suggestion = 6;
- // Agent Assist FAQ answer data.
- FaqAnswerData faq_answer = 7;
- // Agent Assist Smart Reply data.
- SmartReplyData smart_reply = 8;
- // Agent Assist Smart Compose suggestion data.
- SmartComposeSuggestionData smart_compose_suggestion = 9;
- // Dialogflow interaction data.
- DialogflowInteractionData dialogflow_interaction = 10;
- }
- // The unique identifier of the annotation.
- // Format:
- // projects/{project}/locations/{location}/conversationDatasets/{dataset}/conversationDataItems/{data_item}/conversationAnnotations/{annotation}
- string annotation_id = 1;
- // The time at which this annotation was created.
- google.protobuf.Timestamp create_time = 2;
- // The boundary in the conversation where the annotation starts, inclusive.
- AnnotationBoundary start_boundary = 3;
- // The boundary in the conversation where the annotation ends, inclusive.
- AnnotationBoundary end_boundary = 4;
- // The feedback that the customer has about the answer in `data`.
- AnswerFeedback answer_feedback = 5;
- }
- // The feedback that the customer has about a certain answer in the
- // conversation.
- message AnswerFeedback {
- // The correctness level of an answer.
- enum CorrectnessLevel {
- // Correctness level unspecified.
- CORRECTNESS_LEVEL_UNSPECIFIED = 0;
- // Answer is totally wrong.
- NOT_CORRECT = 1;
- // Answer is partially correct.
- PARTIALLY_CORRECT = 2;
- // Answer is fully correct.
- FULLY_CORRECT = 3;
- }
- // The correctness level of an answer.
- CorrectnessLevel correctness_level = 1;
- // Indicates whether an answer or item was clicked by the human agent.
- bool clicked = 2;
- // Indicates whether an answer or item was displayed to the human agent in the
- // agent desktop UI.
- bool displayed = 3;
- }
- // Agent Assist Article Suggestion data.
- message ArticleSuggestionData {
- // Article title.
- string title = 1;
- // Article URI.
- string uri = 2;
- // The system's confidence score that this article is a good match for this
- // conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely
- // certain).
- float confidence_score = 3;
- // Map that contains metadata about the Article Suggestion and the document
- // that it originates from.
- map<string, string> metadata = 4;
- // The name of the answer record.
- // Format:
- // projects/{project}/locations/{location}/answerRecords/{answer_record}
- string query_record = 5;
- // The knowledge document that this answer was extracted from.
- // Format:
- // projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}
- string source = 6;
- }
- // Agent Assist frequently-asked-question answer data.
- message FaqAnswerData {
- // The piece of text from the `source` knowledge base document.
- string answer = 1;
- // The system's confidence score that this answer is a good match for this
- // conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely
- // certain).
- float confidence_score = 2;
- // The corresponding FAQ question.
- string question = 3;
- // Map that contains metadata about the FAQ answer and the document that
- // it originates from.
- map<string, string> metadata = 4;
- // The name of the answer record.
- // Format:
- // projects/{project}/locations/{location}/answerRecords/{answer_record}
- string query_record = 5;
- // The knowledge document that this answer was extracted from.
- // Format:
- // projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}.
- string source = 6;
- }
- // Agent Assist Smart Reply data.
- message SmartReplyData {
- // The content of the reply.
- string reply = 1;
- // The system's confidence score that this reply is a good match for this
- // conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely
- // certain).
- double confidence_score = 2;
- // Map that contains metadata about the Smart Reply 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 query_record = 4;
- }
- // Agent Assist Smart Compose suggestion data.
- message SmartComposeSuggestionData {
- // The content of the suggestion.
- string suggestion = 1;
- // The system's confidence score that this suggestion is a good match for this
- // conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely
- // certain).
- double confidence_score = 2;
- // Map that contains metadata about the Smart Compose suggestion 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 query_record = 4;
- }
- // Dialogflow interaction data.
- message DialogflowInteractionData {
- // The Dialogflow intent resource path. Format:
- // projects/{project}/agent/{agent}/intents/{intent}
- string dialogflow_intent_id = 1;
- // The confidence of the match ranging from 0.0 (completely uncertain) to 1.0
- // (completely certain).
- float confidence = 2;
- }
- // The call participant speaking for a given utterance.
- message ConversationParticipant {
- // The role of the participant.
- enum Role {
- // Participant's role is not set.
- ROLE_UNSPECIFIED = 0;
- // Participant is a human agent.
- HUMAN_AGENT = 1;
- // Participant is an automated agent.
- AUTOMATED_AGENT = 2;
- // Participant is an end user who conversed with the contact center.
- END_USER = 3;
- // Participant is either a human or automated agent.
- ANY_AGENT = 4;
- }
- oneof participant {
- // The name of the participant provided by Dialogflow. Format:
- // projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
- string dialogflow_participant_name = 5 [(google.api.resource_reference) = {
- type: "dialogflow.googleapis.com/Participant"
- }];
- // A user-specified ID representing the participant.
- string user_id = 6;
- }
- // Deprecated. Use `dialogflow_participant_name` instead.
- // The name of the Dialogflow participant. Format:
- // projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}
- string dialogflow_participant = 1 [deprecated = true];
- // Obfuscated user ID from Dialogflow.
- string obfuscated_external_user_id = 3;
- // The role of the participant.
- Role role = 2;
- }
- // The View resource.
- message View {
- option (google.api.resource) = {
- type: "contactcenterinsights.googleapis.com/View"
- pattern: "projects/{project}/locations/{location}/views/{view}"
- };
- // Immutable. The resource name of the view.
- // Format:
- // projects/{project}/locations/{location}/views/{view}
- string name = 1 [(google.api.field_behavior) = IMMUTABLE];
- // The human-readable display name of the view.
- string display_name = 2;
- // Output only. The time at which this view was created.
- google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
- // Output only. The most recent time at which the view was updated.
- google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
- // String with specific view properties.
- string value = 5;
- }
|