// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/automl/v1/text_extraction.proto

package automl

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	_ "google.golang.org/genproto/googleapis/api/annotations"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Annotation for identifying spans of text.
type TextExtractionAnnotation struct {
	// Required. Text extraction annotations can either be a text segment or a
	// text relation.
	//
	// Types that are valid to be assigned to Annotation:
	//	*TextExtractionAnnotation_TextSegment
	Annotation isTextExtractionAnnotation_Annotation `protobuf_oneof:"annotation"`
	// Output only. A confidence estimate between 0.0 and 1.0. A higher value
	// means greater confidence in correctness of the annotation.
	Score                float32  `protobuf:"fixed32,1,opt,name=score,proto3" json:"score,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TextExtractionAnnotation) Reset()         { *m = TextExtractionAnnotation{} }
func (m *TextExtractionAnnotation) String() string { return proto.CompactTextString(m) }
func (*TextExtractionAnnotation) ProtoMessage()    {}
func (*TextExtractionAnnotation) Descriptor() ([]byte, []int) {
	return fileDescriptor_d9a1af098e3392dc, []int{0}
}

func (m *TextExtractionAnnotation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TextExtractionAnnotation.Unmarshal(m, b)
}
func (m *TextExtractionAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TextExtractionAnnotation.Marshal(b, m, deterministic)
}
func (m *TextExtractionAnnotation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TextExtractionAnnotation.Merge(m, src)
}
func (m *TextExtractionAnnotation) XXX_Size() int {
	return xxx_messageInfo_TextExtractionAnnotation.Size(m)
}
func (m *TextExtractionAnnotation) XXX_DiscardUnknown() {
	xxx_messageInfo_TextExtractionAnnotation.DiscardUnknown(m)
}

var xxx_messageInfo_TextExtractionAnnotation proto.InternalMessageInfo

type isTextExtractionAnnotation_Annotation interface {
	isTextExtractionAnnotation_Annotation()
}

type TextExtractionAnnotation_TextSegment struct {
	TextSegment *TextSegment `protobuf:"bytes,3,opt,name=text_segment,json=textSegment,proto3,oneof"`
}

func (*TextExtractionAnnotation_TextSegment) isTextExtractionAnnotation_Annotation() {}

func (m *TextExtractionAnnotation) GetAnnotation() isTextExtractionAnnotation_Annotation {
	if m != nil {
		return m.Annotation
	}
	return nil
}

func (m *TextExtractionAnnotation) GetTextSegment() *TextSegment {
	if x, ok := m.GetAnnotation().(*TextExtractionAnnotation_TextSegment); ok {
		return x.TextSegment
	}
	return nil
}

func (m *TextExtractionAnnotation) GetScore() float32 {
	if m != nil {
		return m.Score
	}
	return 0
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*TextExtractionAnnotation) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*TextExtractionAnnotation_TextSegment)(nil),
	}
}

// Model evaluation metrics for text extraction problems.
type TextExtractionEvaluationMetrics struct {
	// Output only. The Area under precision recall curve metric.
	AuPrc float32 `protobuf:"fixed32,1,opt,name=au_prc,json=auPrc,proto3" json:"au_prc,omitempty"`
	// Output only. Metrics that have confidence thresholds.
	// Precision-recall curve can be derived from it.
	ConfidenceMetricsEntries []*TextExtractionEvaluationMetrics_ConfidenceMetricsEntry `protobuf:"bytes,2,rep,name=confidence_metrics_entries,json=confidenceMetricsEntries,proto3" json:"confidence_metrics_entries,omitempty"`
	XXX_NoUnkeyedLiteral     struct{}                                                  `json:"-"`
	XXX_unrecognized         []byte                                                    `json:"-"`
	XXX_sizecache            int32                                                     `json:"-"`
}

func (m *TextExtractionEvaluationMetrics) Reset()         { *m = TextExtractionEvaluationMetrics{} }
func (m *TextExtractionEvaluationMetrics) String() string { return proto.CompactTextString(m) }
func (*TextExtractionEvaluationMetrics) ProtoMessage()    {}
func (*TextExtractionEvaluationMetrics) Descriptor() ([]byte, []int) {
	return fileDescriptor_d9a1af098e3392dc, []int{1}
}

func (m *TextExtractionEvaluationMetrics) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TextExtractionEvaluationMetrics.Unmarshal(m, b)
}
func (m *TextExtractionEvaluationMetrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TextExtractionEvaluationMetrics.Marshal(b, m, deterministic)
}
func (m *TextExtractionEvaluationMetrics) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TextExtractionEvaluationMetrics.Merge(m, src)
}
func (m *TextExtractionEvaluationMetrics) XXX_Size() int {
	return xxx_messageInfo_TextExtractionEvaluationMetrics.Size(m)
}
func (m *TextExtractionEvaluationMetrics) XXX_DiscardUnknown() {
	xxx_messageInfo_TextExtractionEvaluationMetrics.DiscardUnknown(m)
}

var xxx_messageInfo_TextExtractionEvaluationMetrics proto.InternalMessageInfo

func (m *TextExtractionEvaluationMetrics) GetAuPrc() float32 {
	if m != nil {
		return m.AuPrc
	}
	return 0
}

func (m *TextExtractionEvaluationMetrics) GetConfidenceMetricsEntries() []*TextExtractionEvaluationMetrics_ConfidenceMetricsEntry {
	if m != nil {
		return m.ConfidenceMetricsEntries
	}
	return nil
}

// Metrics for a single confidence threshold.
type TextExtractionEvaluationMetrics_ConfidenceMetricsEntry struct {
	// Output only. The confidence threshold value used to compute the metrics.
	// Only annotations with score of at least this threshold are considered to
	// be ones the model would return.
	ConfidenceThreshold float32 `protobuf:"fixed32,1,opt,name=confidence_threshold,json=confidenceThreshold,proto3" json:"confidence_threshold,omitempty"`
	// Output only. Recall under the given confidence threshold.
	Recall float32 `protobuf:"fixed32,3,opt,name=recall,proto3" json:"recall,omitempty"`
	// Output only. Precision under the given confidence threshold.
	Precision float32 `protobuf:"fixed32,4,opt,name=precision,proto3" json:"precision,omitempty"`
	// Output only. The harmonic mean of recall and precision.
	F1Score              float32  `protobuf:"fixed32,5,opt,name=f1_score,json=f1Score,proto3" json:"f1_score,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) Reset() {
	*m = TextExtractionEvaluationMetrics_ConfidenceMetricsEntry{}
}
func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) String() string {
	return proto.CompactTextString(m)
}
func (*TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) ProtoMessage() {}
func (*TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) Descriptor() ([]byte, []int) {
	return fileDescriptor_d9a1af098e3392dc, []int{1, 0}
}

func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TextExtractionEvaluationMetrics_ConfidenceMetricsEntry.Unmarshal(m, b)
}
func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TextExtractionEvaluationMetrics_ConfidenceMetricsEntry.Marshal(b, m, deterministic)
}
func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TextExtractionEvaluationMetrics_ConfidenceMetricsEntry.Merge(m, src)
}
func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) XXX_Size() int {
	return xxx_messageInfo_TextExtractionEvaluationMetrics_ConfidenceMetricsEntry.Size(m)
}
func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) XXX_DiscardUnknown() {
	xxx_messageInfo_TextExtractionEvaluationMetrics_ConfidenceMetricsEntry.DiscardUnknown(m)
}

var xxx_messageInfo_TextExtractionEvaluationMetrics_ConfidenceMetricsEntry proto.InternalMessageInfo

func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) GetConfidenceThreshold() float32 {
	if m != nil {
		return m.ConfidenceThreshold
	}
	return 0
}

func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) GetRecall() float32 {
	if m != nil {
		return m.Recall
	}
	return 0
}

func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) GetPrecision() float32 {
	if m != nil {
		return m.Precision
	}
	return 0
}

func (m *TextExtractionEvaluationMetrics_ConfidenceMetricsEntry) GetF1Score() float32 {
	if m != nil {
		return m.F1Score
	}
	return 0
}

func init() {
	proto.RegisterType((*TextExtractionAnnotation)(nil), "google.cloud.automl.v1.TextExtractionAnnotation")
	proto.RegisterType((*TextExtractionEvaluationMetrics)(nil), "google.cloud.automl.v1.TextExtractionEvaluationMetrics")
	proto.RegisterType((*TextExtractionEvaluationMetrics_ConfidenceMetricsEntry)(nil), "google.cloud.automl.v1.TextExtractionEvaluationMetrics.ConfidenceMetricsEntry")
}

func init() {
	proto.RegisterFile("google/cloud/automl/v1/text_extraction.proto", fileDescriptor_d9a1af098e3392dc)
}

var fileDescriptor_d9a1af098e3392dc = []byte{
	// 439 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0x41, 0x6e, 0x13, 0x31,
	0x14, 0x86, 0x99, 0x29, 0x0d, 0xe0, 0x74, 0x65, 0x4a, 0x34, 0x8d, 0x2a, 0x11, 0x95, 0x4d, 0x90,
	0x90, 0x47, 0x2e, 0xbb, 0x81, 0x4d, 0xa9, 0x22, 0xba, 0xa0, 0xa8, 0x4a, 0xab, 0x2c, 0x50, 0xa4,
	0x91, 0x71, 0x5e, 0xa6, 0x96, 0x3c, 0xf6, 0xc8, 0xf6, 0x44, 0xe1, 0x06, 0x2c, 0x38, 0x02, 0x27,
	0xe8, 0x51, 0x38, 0x08, 0x0b, 0x4e, 0x81, 0x6a, 0x4f, 0x32, 0x01, 0xa5, 0xd9, 0xcd, 0x7b, 0xdf,
	0xff, 0xfe, 0xf7, 0xe6, 0x97, 0xd1, 0x9b, 0x42, 0xeb, 0x42, 0x42, 0xca, 0xa5, 0xae, 0x67, 0x29,
	0xab, 0x9d, 0x2e, 0x65, 0xba, 0xa0, 0xa9, 0x83, 0xa5, 0xcb, 0x61, 0xe9, 0x0c, 0xe3, 0x4e, 0x68,
	0x45, 0x2a, 0xa3, 0x9d, 0xc6, 0xbd, 0xa0, 0x26, 0x5e, 0x4d, 0x82, 0x9a, 0x2c, 0x68, 0xff, 0xf5,
	0x2e, 0x17, 0x0b, 0x45, 0x09, 0xca, 0x05, 0x8b, 0xfe, 0x71, 0x23, 0x65, 0x95, 0x48, 0x99, 0x52,
	0xda, 0xb1, 0x7b, 0x7f, 0x1b, 0xe8, 0xc9, 0xf7, 0x08, 0x25, 0x37, 0xb0, 0x74, 0xa3, 0xf5, 0xe6,
	0xb3, 0xb5, 0x06, 0x5f, 0xa0, 0x83, 0x4d, 0xc3, 0x64, 0x6f, 0x10, 0x0d, 0xbb, 0xa7, 0xaf, 0xc8,
	0xf6, 0xa3, 0xc8, 0xbd, 0xcf, 0x75, 0x90, 0x5e, 0x3c, 0x1a, 0x77, 0x5d, 0x5b, 0xe2, 0x43, 0xb4,
	0x6f, 0xb9, 0x36, 0x90, 0x44, 0x83, 0x68, 0x18, 0x8f, 0x43, 0xf1, 0xe1, 0x00, 0xa1, 0xf6, 0xa2,
	0x93, 0xdf, 0x31, 0x7a, 0xf9, 0xef, 0x29, 0xa3, 0x05, 0x93, 0xb5, 0x87, 0x97, 0xe0, 0x8c, 0xe0,
	0x16, 0xbf, 0x40, 0x1d, 0x56, 0xe7, 0x95, 0xe1, 0x2b, 0x23, 0x56, 0x5f, 0x19, 0x8e, 0x7f, 0x44,
	0xa8, 0xcf, 0xb5, 0x9a, 0x8b, 0x19, 0x28, 0x0e, 0x79, 0x19, 0xd4, 0x39, 0x28, 0x67, 0x04, 0xd8,
	0x24, 0x1e, 0xec, 0x0d, 0xbb, 0xa7, 0x9f, 0x77, 0xdd, 0xbd, 0x63, 0x29, 0x39, 0x5f, 0x3b, 0x37,
	0x9d, 0x91, 0x72, 0xe6, 0xdb, 0x38, 0xe1, 0xdb, 0xfa, 0x02, 0x6c, 0xff, 0x67, 0x84, 0x7a, 0xdb,
	0x87, 0x30, 0x45, 0x87, 0x1b, 0x87, 0xba, 0x5b, 0x03, 0xf6, 0x56, 0xcb, 0x59, 0xf3, 0x3b, 0xcf,
	0x5b, 0x76, 0xb3, 0x42, 0xb8, 0x87, 0x3a, 0x06, 0x38, 0x93, 0xd2, 0xe7, 0x1f, 0x8f, 0x9b, 0x0a,
	0x1f, 0xa3, 0x67, 0x95, 0x01, 0x2e, 0xac, 0xd0, 0x2a, 0x79, 0xec, 0x51, 0xdb, 0xc0, 0x47, 0xe8,
	0xe9, 0x9c, 0xe6, 0x21, 0xf4, 0x7d, 0x0f, 0x9f, 0xcc, 0xe9, 0xb5, 0x8f, 0xfd, 0xce, 0xa7, 0x55,
	0x3e, 0x10, 0xc7, 0x55, 0xf4, 0xe5, 0x7d, 0x43, 0x0a, 0x2d, 0x99, 0x2a, 0x88, 0x36, 0x45, 0x5a,
	0x80, 0xf2, 0x0f, 0x26, 0x0d, 0x88, 0x55, 0xc2, 0xfe, 0xff, 0xf8, 0xde, 0x85, 0xaf, 0xbb, 0xb8,
	0xf7, 0x31, 0x8c, 0x9f, 0x7b, 0xe3, 0xb3, 0xda, 0xe9, 0xcb, 0x4f, 0x64, 0x42, 0x7f, 0xad, 0xc0,
	0xd4, 0x83, 0xa9, 0x07, 0x72, 0x3a, 0xa1, 0x7f, 0xe2, 0xa3, 0x00, 0xb2, 0xcc, 0x93, 0x2c, 0x0b,
	0x33, 0x59, 0x36, 0xa1, 0x5f, 0x3b, 0x7e, 0xed, 0xdb, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd0,
	0xaa, 0xd4, 0xda, 0x38, 0x03, 0x00, 0x00,
}
