// Copyright (c) 2018, Apple Inc. All rights reserved.
//
// Use of this source code is governed by a BSD-3-clause license that can be
// found in LICENSE.txt or at https://opensource.org/licenses/BSD-3-Clause
syntax = "proto3";
option optimize_for = LITE_RUNTIME;
import public "DataStructures.proto";
package CoreML.Specification.CoreMLModels;
/*
* A model which takes a single input string and outputs a
* sequence of tokens, tags for tokens, along with their
* locations and lengths, in the original string.
*/
message WordTagger {
/*
* Stores the resivion number for the model, revision 1 is available on
* iOS, tvOS 12.0+, macoOS 10.14+
*/
uint32 revision = 1;
/*
* Stores the language of the model, as specified in BCP-47 format,
* e.g. "en-US". See https://tools.ietf.org/html/bcp47
*/
string language = 10;
/*
* Stores the name of tokens output. The output will be
* a sequence of strings that contains the tokens in the
* input string
*/
string tokensOutputFeatureName = 20;
/*
* Stores the name of token tags output. The output will be
* a sequence of strings that contains the tags for each
* token in the input string
*/
string tokenTagsOutputFeatureName = 21;
/*
* Stores the name of token locations output. The output will be
* a sequence of integers that contains the locations (indices)
* for each token in the input string, location starts from 0
*/
string tokenLocationsOutputFeatureName = 22;
/*
* Stores the name of token lengths output. The output will be
* a sequence of integers that contains the lengths for each
* token in the input string
*/
string tokenLengthsOutputFeatureName = 23;
/*
* Stores the byte representation of learned model parameters
*/
bytes modelParameterData = 100;
/*
* Stores the set of output tags
*/
oneof Tags {
StringVector stringTags = 200;
}
}