1*993b0882SAndroid Build Coastguard Worker// 2*993b0882SAndroid Build Coastguard Worker// Copyright (C) 2018 The Android Open Source Project 3*993b0882SAndroid Build Coastguard Worker// 4*993b0882SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*993b0882SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*993b0882SAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*993b0882SAndroid Build Coastguard Worker// 8*993b0882SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*993b0882SAndroid Build Coastguard Worker// 10*993b0882SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*993b0882SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*993b0882SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*993b0882SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*993b0882SAndroid Build Coastguard Worker// limitations under the License. 15*993b0882SAndroid Build Coastguard Worker// 16*993b0882SAndroid Build Coastguard Worker 17*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_.Datetime_; 18*993b0882SAndroid Build Coastguard Workerenum Granularity : int { 19*993b0882SAndroid Build Coastguard Worker GRANULARITY_UNKNOWN = -1, 20*993b0882SAndroid Build Coastguard Worker GRANULARITY_YEAR = 0, 21*993b0882SAndroid Build Coastguard Worker GRANULARITY_MONTH = 1, 22*993b0882SAndroid Build Coastguard Worker GRANULARITY_WEEK = 2, 23*993b0882SAndroid Build Coastguard Worker GRANULARITY_DAY = 3, 24*993b0882SAndroid Build Coastguard Worker GRANULARITY_HOUR = 4, 25*993b0882SAndroid Build Coastguard Worker GRANULARITY_MINUTE = 5, 26*993b0882SAndroid Build Coastguard Worker GRANULARITY_SECOND = 6, 27*993b0882SAndroid Build Coastguard Worker} 28*993b0882SAndroid Build Coastguard Worker 29*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_.Datetime_.DatetimeComponent_; 30*993b0882SAndroid Build Coastguard Workerenum ComponentType : int { 31*993b0882SAndroid Build Coastguard Worker UNSPECIFIED = 0, 32*993b0882SAndroid Build Coastguard Worker YEAR = 1, 33*993b0882SAndroid Build Coastguard Worker MONTH = 2, 34*993b0882SAndroid Build Coastguard Worker WEEK = 3, 35*993b0882SAndroid Build Coastguard Worker DAY_OF_WEEK = 4, 36*993b0882SAndroid Build Coastguard Worker DAY_OF_MONTH = 5, 37*993b0882SAndroid Build Coastguard Worker HOUR = 6, 38*993b0882SAndroid Build Coastguard Worker MINUTE = 7, 39*993b0882SAndroid Build Coastguard Worker SECOND = 8, 40*993b0882SAndroid Build Coastguard Worker MERIDIEM = 9, 41*993b0882SAndroid Build Coastguard Worker ZONE_OFFSET = 10, 42*993b0882SAndroid Build Coastguard Worker DST_OFFSET = 11, 43*993b0882SAndroid Build Coastguard Worker} 44*993b0882SAndroid Build Coastguard Worker 45*993b0882SAndroid Build Coastguard Worker// Enum to identify if the datetime component are relative or absolute. 46*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_.Datetime_.DatetimeComponent_; 47*993b0882SAndroid Build Coastguard Workerenum RelationType : int { 48*993b0882SAndroid Build Coastguard Worker RELATION_UNSPECIFIED = 0, 49*993b0882SAndroid Build Coastguard Worker 50*993b0882SAndroid Build Coastguard Worker // Absolute represents the datetime component that need no further 51*993b0882SAndroid Build Coastguard Worker // calculation e.g. in a datetime span "21-03-2019" components 52*993b0882SAndroid Build Coastguard Worker // year=2019, month=3 and day=21 is explicitly mentioned in the span 53*993b0882SAndroid Build Coastguard Worker ABSOLUTE = 1, 54*993b0882SAndroid Build Coastguard Worker 55*993b0882SAndroid Build Coastguard Worker // Identify datetime component where datetime expressions are relative. 56*993b0882SAndroid Build Coastguard Worker // e.g. "three days ago", "2 days after March 1st", "next monday", 57*993b0882SAndroid Build Coastguard Worker // "last Mondays". 58*993b0882SAndroid Build Coastguard Worker RELATIVE = 2, 59*993b0882SAndroid Build Coastguard Worker} 60*993b0882SAndroid Build Coastguard Worker 61*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_.Datetime_; 62*993b0882SAndroid Build Coastguard Workertable DatetimeComponent { 63*993b0882SAndroid Build Coastguard Worker component_type:DatetimeComponent_.ComponentType = UNSPECIFIED; 64*993b0882SAndroid Build Coastguard Worker absolute_value:int; 65*993b0882SAndroid Build Coastguard Worker relative_count:int; 66*993b0882SAndroid Build Coastguard Worker relation_type:DatetimeComponent_.RelationType = RELATION_UNSPECIFIED; 67*993b0882SAndroid Build Coastguard Worker} 68*993b0882SAndroid Build Coastguard Worker 69*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_; 70*993b0882SAndroid Build Coastguard Workertable Datetime { 71*993b0882SAndroid Build Coastguard Worker time_ms_utc:long; 72*993b0882SAndroid Build Coastguard Worker granularity:Datetime_.Granularity = GRANULARITY_UNKNOWN; 73*993b0882SAndroid Build Coastguard Worker datetime_component:[Datetime_.DatetimeComponent]; 74*993b0882SAndroid Build Coastguard Worker} 75*993b0882SAndroid Build Coastguard Worker 76*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_.Contact_.AlternativeNameInfo_; 77*993b0882SAndroid Build Coastguard Workerenum AlternativeNameSource : int { 78*993b0882SAndroid Build Coastguard Worker NONE = 0, 79*993b0882SAndroid Build Coastguard Worker NAME_CORRECTION_LOG = 1, 80*993b0882SAndroid Build Coastguard Worker} 81*993b0882SAndroid Build Coastguard Worker 82*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_.Contact_; 83*993b0882SAndroid Build Coastguard Workertable AlternativeNameInfo { 84*993b0882SAndroid Build Coastguard Worker name:string (shared); 85*993b0882SAndroid Build Coastguard Worker source:AlternativeNameInfo_.AlternativeNameSource; 86*993b0882SAndroid Build Coastguard Worker} 87*993b0882SAndroid Build Coastguard Worker 88*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_; 89*993b0882SAndroid Build Coastguard Workertable Contact { 90*993b0882SAndroid Build Coastguard Worker name:string (shared); 91*993b0882SAndroid Build Coastguard Worker given_name:string (shared); 92*993b0882SAndroid Build Coastguard Worker nickname:string (shared); 93*993b0882SAndroid Build Coastguard Worker email_address:string (shared); 94*993b0882SAndroid Build Coastguard Worker phone_number:string (shared); 95*993b0882SAndroid Build Coastguard Worker contact_id:string (shared); 96*993b0882SAndroid Build Coastguard Worker alternative_name_info:[Contact_.AlternativeNameInfo]; 97*993b0882SAndroid Build Coastguard Worker} 98*993b0882SAndroid Build Coastguard Worker 99*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_; 100*993b0882SAndroid Build Coastguard Workertable App { 101*993b0882SAndroid Build Coastguard Worker name:string (shared); 102*993b0882SAndroid Build Coastguard Worker package_name:string (shared); 103*993b0882SAndroid Build Coastguard Worker} 104*993b0882SAndroid Build Coastguard Worker 105*993b0882SAndroid Build Coastguard Worker// The issuer/network of the payment card. 106*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_.PaymentCard_; 107*993b0882SAndroid Build Coastguard Workerenum CardNetwork : int { 108*993b0882SAndroid Build Coastguard Worker UNKNOWN_CARD_NETWORK = 0, 109*993b0882SAndroid Build Coastguard Worker AMEX = 1, 110*993b0882SAndroid Build Coastguard Worker DINERS_CLUB = 2, 111*993b0882SAndroid Build Coastguard Worker DISCOVER = 3, 112*993b0882SAndroid Build Coastguard Worker INTER_PAYMENT = 4, 113*993b0882SAndroid Build Coastguard Worker JCB = 5, 114*993b0882SAndroid Build Coastguard Worker MAESTRO = 6, 115*993b0882SAndroid Build Coastguard Worker MASTERCARD = 7, 116*993b0882SAndroid Build Coastguard Worker MIR = 8, 117*993b0882SAndroid Build Coastguard Worker TROY = 9, 118*993b0882SAndroid Build Coastguard Worker UNIONPAY = 10, 119*993b0882SAndroid Build Coastguard Worker VISA = 11, 120*993b0882SAndroid Build Coastguard Worker} 121*993b0882SAndroid Build Coastguard Worker 122*993b0882SAndroid Build Coastguard Worker// Details about a payment card. 123*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_; 124*993b0882SAndroid Build Coastguard Workertable PaymentCard { 125*993b0882SAndroid Build Coastguard Worker card_network:PaymentCard_.CardNetwork; 126*993b0882SAndroid Build Coastguard Worker 127*993b0882SAndroid Build Coastguard Worker // The card number. 128*993b0882SAndroid Build Coastguard Worker card_number:string (shared); 129*993b0882SAndroid Build Coastguard Worker} 130*993b0882SAndroid Build Coastguard Worker 131*993b0882SAndroid Build Coastguard Worker// Details about a flight number. 132*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_; 133*993b0882SAndroid Build Coastguard Workertable Flight { 134*993b0882SAndroid Build Coastguard Worker // The IATA or ICAO airline code of the flight number. 135*993b0882SAndroid Build Coastguard Worker airline_code:string (shared); 136*993b0882SAndroid Build Coastguard Worker 137*993b0882SAndroid Build Coastguard Worker // The flight number. 138*993b0882SAndroid Build Coastguard Worker flight_number:string (shared); 139*993b0882SAndroid Build Coastguard Worker} 140*993b0882SAndroid Build Coastguard Worker 141*993b0882SAndroid Build Coastguard Worker// Details about an ISBN number. 142*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_; 143*993b0882SAndroid Build Coastguard Workertable Isbn { 144*993b0882SAndroid Build Coastguard Worker // The (normalized) number. 145*993b0882SAndroid Build Coastguard Worker number:string (shared); 146*993b0882SAndroid Build Coastguard Worker} 147*993b0882SAndroid Build Coastguard Worker 148*993b0882SAndroid Build Coastguard Worker// Details about an IBAN number. 149*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_; 150*993b0882SAndroid Build Coastguard Workertable Iban { 151*993b0882SAndroid Build Coastguard Worker // The (normalized) number. 152*993b0882SAndroid Build Coastguard Worker number:string (shared); 153*993b0882SAndroid Build Coastguard Worker 154*993b0882SAndroid Build Coastguard Worker // The country code. 155*993b0882SAndroid Build Coastguard Worker country_code:string (shared); 156*993b0882SAndroid Build Coastguard Worker} 157*993b0882SAndroid Build Coastguard Worker 158*993b0882SAndroid Build Coastguard Worker// The issuer/network of the package tracking number. 159*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_.ParcelTracking_; 160*993b0882SAndroid Build Coastguard Workerenum Carrier : int { 161*993b0882SAndroid Build Coastguard Worker UNKNOWN_CARRIER = 0, 162*993b0882SAndroid Build Coastguard Worker FEDEX = 1, 163*993b0882SAndroid Build Coastguard Worker UPS = 2, 164*993b0882SAndroid Build Coastguard Worker DHL = 3, 165*993b0882SAndroid Build Coastguard Worker USPS = 4, 166*993b0882SAndroid Build Coastguard Worker ONTRAC = 5, 167*993b0882SAndroid Build Coastguard Worker LASERSHIP = 6, 168*993b0882SAndroid Build Coastguard Worker ISRAEL_POST = 7, 169*993b0882SAndroid Build Coastguard Worker SWISS_POST = 8, 170*993b0882SAndroid Build Coastguard Worker MSC = 9, 171*993b0882SAndroid Build Coastguard Worker AMAZON = 10, 172*993b0882SAndroid Build Coastguard Worker I_PARCEL = 11, 173*993b0882SAndroid Build Coastguard Worker} 174*993b0882SAndroid Build Coastguard Worker 175*993b0882SAndroid Build Coastguard Worker// Details about a tracking number. 176*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_; 177*993b0882SAndroid Build Coastguard Workertable ParcelTracking { 178*993b0882SAndroid Build Coastguard Worker carrier:ParcelTracking_.Carrier; 179*993b0882SAndroid Build Coastguard Worker tracking_number:string (shared); 180*993b0882SAndroid Build Coastguard Worker} 181*993b0882SAndroid Build Coastguard Worker 182*993b0882SAndroid Build Coastguard Worker// Parsed money amount. 183*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_; 184*993b0882SAndroid Build Coastguard Workertable Money { 185*993b0882SAndroid Build Coastguard Worker // String representation of currency, unnormalized. 186*993b0882SAndroid Build Coastguard Worker unnormalized_currency:string (shared); 187*993b0882SAndroid Build Coastguard Worker 188*993b0882SAndroid Build Coastguard Worker // Whole part of the amount (e.g. 123 from "CHF 123.45"). 189*993b0882SAndroid Build Coastguard Worker amount_whole_part:int; 190*993b0882SAndroid Build Coastguard Worker 191*993b0882SAndroid Build Coastguard Worker // Decimal part of the amount (e.g. 45 from "CHF 123.45"). Will be 192*993b0882SAndroid Build Coastguard Worker // deprecated, use nanos instead. 193*993b0882SAndroid Build Coastguard Worker amount_decimal_part:int; 194*993b0882SAndroid Build Coastguard Worker 195*993b0882SAndroid Build Coastguard Worker // Money amount (e.g. 123.45 from "CHF 123.45"). 196*993b0882SAndroid Build Coastguard Worker unnormalized_amount:string (shared); 197*993b0882SAndroid Build Coastguard Worker 198*993b0882SAndroid Build Coastguard Worker // Number of nano (10^-9) units of the amount fractional part. 199*993b0882SAndroid Build Coastguard Worker // The value must be between -999,999,999 and +999,999,999 inclusive. 200*993b0882SAndroid Build Coastguard Worker // If `units` is positive, `nanos` must be positive or zero. 201*993b0882SAndroid Build Coastguard Worker // If `units` is zero, `nanos` can be positive, zero, or negative. 202*993b0882SAndroid Build Coastguard Worker // If `units` is negative, `nanos` must be negative or zero. 203*993b0882SAndroid Build Coastguard Worker // For example $-1.75 is represented as `amount_whole_part`=-1 and 204*993b0882SAndroid Build Coastguard Worker // `nanos`=-750,000,000. 205*993b0882SAndroid Build Coastguard Worker nanos:int; 206*993b0882SAndroid Build Coastguard Worker 207*993b0882SAndroid Build Coastguard Worker // Money quantity (e.g. k from "CHF 123.45k"). 208*993b0882SAndroid Build Coastguard Worker quantity:string (shared); 209*993b0882SAndroid Build Coastguard Worker} 210*993b0882SAndroid Build Coastguard Worker 211*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_.Translate_; 212*993b0882SAndroid Build Coastguard Workertable LanguagePredictionResult { 213*993b0882SAndroid Build Coastguard Worker // BCP 47 tag for the language prediction result. 214*993b0882SAndroid Build Coastguard Worker language_tag:string (shared); 215*993b0882SAndroid Build Coastguard Worker 216*993b0882SAndroid Build Coastguard Worker // Confidence score for the language prediction result. 217*993b0882SAndroid Build Coastguard Worker confidence_score:float; 218*993b0882SAndroid Build Coastguard Worker} 219*993b0882SAndroid Build Coastguard Worker 220*993b0882SAndroid Build Coastguard Worker// Details about detected foreign text. 221*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3.EntityData_; 222*993b0882SAndroid Build Coastguard Workertable Translate { 223*993b0882SAndroid Build Coastguard Worker language_prediction_results:[Translate_.LanguagePredictionResult]; 224*993b0882SAndroid Build Coastguard Worker} 225*993b0882SAndroid Build Coastguard Worker 226*993b0882SAndroid Build Coastguard Worker// Represents an entity annotated in text. 227*993b0882SAndroid Build Coastguard Workernamespace libtextclassifier3; 228*993b0882SAndroid Build Coastguard Workertable EntityData { 229*993b0882SAndroid Build Coastguard Worker // Codepoint indices of the annotation, start is inclusive, end is 230*993b0882SAndroid Build Coastguard Worker // exclusive. 231*993b0882SAndroid Build Coastguard Worker start:int; 232*993b0882SAndroid Build Coastguard Worker 233*993b0882SAndroid Build Coastguard Worker end:int; 234*993b0882SAndroid Build Coastguard Worker 235*993b0882SAndroid Build Coastguard Worker // The entity type, as in the TextClassifier APIs. 236*993b0882SAndroid Build Coastguard Worker type:string (shared); 237*993b0882SAndroid Build Coastguard Worker 238*993b0882SAndroid Build Coastguard Worker datetime:EntityData_.Datetime; 239*993b0882SAndroid Build Coastguard Worker reserved_5:int (deprecated); 240*993b0882SAndroid Build Coastguard Worker contact:EntityData_.Contact; 241*993b0882SAndroid Build Coastguard Worker app:EntityData_.App; 242*993b0882SAndroid Build Coastguard Worker payment_card:EntityData_.PaymentCard; 243*993b0882SAndroid Build Coastguard Worker flight:EntityData_.Flight; 244*993b0882SAndroid Build Coastguard Worker isbn:EntityData_.Isbn; 245*993b0882SAndroid Build Coastguard Worker iban:EntityData_.Iban; 246*993b0882SAndroid Build Coastguard Worker parcel:EntityData_.ParcelTracking; 247*993b0882SAndroid Build Coastguard Worker money:EntityData_.Money; 248*993b0882SAndroid Build Coastguard Worker translate:EntityData_.Translate; 249*993b0882SAndroid Build Coastguard Worker} 250*993b0882SAndroid Build Coastguard Worker 251*993b0882SAndroid Build Coastguard Workerroot_type libtextclassifier3.EntityData; 252