model

package
v0.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 4, 2024 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Overview

Package model defines structures for Stanford CoreNLP in its subpackages and provides functions to parse them from ProtoBuf wire encoding.

To fit different versions of CoreNLP, the structures are organized into subpackages named in the form:

github.com/donyori/gocorenlp/model/vX.Y.Z-abcdefabcdef/pb

where X.Y.Z is the version of CoreNLP, abcdefabcdef is a 12-character prefix of the commit hash of the retrieved .proto file in the Stanford CoreNLP project, and pb stands for Protocol Buffers (ProtoBuf).

The .proto files are edited from "edu.stanford.nlp.pipeline.CoreNLP.proto" in the Stanford CoreNLP project, which can be retrieved from GitHub: <https://github.com/stanfordnlp/CoreNLP/blob/main/src/edu/stanford/nlp/pipeline/CoreNLP.proto>.

Each .proto file has a unique name to avoid ProtoBuf file name conflicts. (This conflict might be a bug of protoc-gen-go as the files are in different packages and in different directories, but the conflict still exists.) Although this naming style seems verbose and redundant, it works.

The .pb.go files are auto-generated according to the corresponding .proto files. For more information, see <https://protobuf.dev/getting-started/gotutorial/>.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConsumeResponseBody added in v0.5.2

func ConsumeResponseBody(b []byte, msg proto.Message) (n int, err error)

ConsumeResponseBody is like the function DecodeResponseBody, but it additionally returns the number of bytes decoded from b. It enables the caller to determine the range of the response body (b[:n]).

ConsumeResponseBody may return a negative n upon an error. A negative n can be converted into an error value using google.golang.org/protobuf/encoding/protowire.ParseError.

If n is negative, the returned error err must be non-nil, have an underlying error of type *github.com/donyori/gocorenlp/errors.ProtoBufError, and wrap the protowire.ParseError(n). The function github.com/donyori/gocorenlp/errors.IsProtoBufError returns true for this error.

func DecodeMessage

func DecodeMessage(b []byte, msg proto.Message) error

DecodeMessage parses a ProtoBuf message from wire encoding in b and stores the result in msg.

To parse messages from a Stanford CoreNLP server response, use the function DecodeResponseBody instead.

The specified message msg must be a non-nil pointer to a ProtoBuf message.

If the returned error is non-nil, it has an underlying error of type *github.com/donyori/gocorenlp/errors.ProtoBufError. The function github.com/donyori/gocorenlp/errors.IsProtoBufError returns true for this error.

For more information about the wire encoding, see <https://protobuf.dev/programming-guides/encoding/>.

func DecodeResponseBody

func DecodeResponseBody(b []byte, msg proto.Message) error

DecodeResponseBody parses a ProtoBuf message (usually a Stanford CoreNLP document) from the body of a Stanford CoreNLP server response in b, and stores the result in msg.

If there are other contents after the response body in b, these contents are ignored.

The specified message msg must be a non-nil pointer to a ProtoBuf message.

If the returned error is non-nil, it has an underlying error of type *github.com/donyori/gocorenlp/errors.ProtoBufError. The function github.com/donyori/gocorenlp/errors.IsProtoBufError returns true for this error.

Example
package main

import (
	"encoding/base64"
	"fmt"

	"github.com/donyori/gocorenlp/model"
	"github.com/donyori/gocorenlp/model/v4.5.6-eb50467fa8e3/pb"
)

func main() {
	// A standard base64 (as defined in RFC 4648) encoded response body.
	// It carries the annotation of the text:
	//
	// Roses are red.
	//   Violets are blue.
	// Sugar is sweet.
	//   And so are you.
	//
	// with annotators "tokenize,ssplit,pos".
	const RespBodyBase64 = `
jAcKRgpSb3NlcyBhcmUgcmVkLgogIFZpb2xldHMgYXJlIGJsdWUuClN1Z2FyIGlz
IHN3ZWV0LgogIEFuZCBzbyBhcmUgeW91LgoSwQEKMQoFUm9zZXMSBE5OUFMaBVJv
c2VzKgEKMgEgOgVSb3Nlc1gBYAaIAQCQAQGoAQCwAgAKKgoDYXJlEgNWQlAaA2Fy
ZSoBIDIBIDoDYXJlWAdgCogBAZABAqgBALACAAooCgNyZWQSAkpKGgNyZWQqASAy
ADoDcmVkWAtgDogBApABA6gBALACAAojCgEuEgEuGgEuKgAyAwogIDoBLlgOYA+I
AQOQAQSoAQCwAgAQABgEIAAoATAPmAMAsAMAiAQAEskBCjgKB1Zpb2xldHMSA05O
UxoHVmlvbGV0cyoDCiAgMgEgOgdWaW9sZXRzWBJgGYgBBJABBagBALACAAoqCgNh
cmUSA1ZCUBoDYXJlKgEgMgEgOgNhcmVYGmAdiAEFkAEGqAEAsAIACisKBGJsdWUS
AkpKGgRibHVlKgEgMgA6BGJsdWVYHmAiiAEGkAEHqAEAsAIACiEKAS4SAS4aAS4q
ADIBCjoBLlgiYCOIAQeQAQioAQCwAgAQBBgIIAEoEjAjmAMAsAMAiAQAEsMBCjAK
BVN1Z2FyEgNOTlAaBVN1Z2FyKgEKMgEgOgVTdWdhclgkYCmIAQiQAQmoAQCwAgAK
JwoCaXMSA1ZCWhoCaXMqASAyASA6AmlzWCpgLIgBCZABCqgBALACAAouCgVzd2Vl
dBICSkoaBXN3ZWV0KgEgMgA6BXN3ZWV0WC1gMogBCpABC6gBALACAAojCgEuEgEu
GgEuKgAyAwogIDoBLlgyYDOIAQuQAQyoAQCwAgAQCBgMIAIoJDAzmAMAsAMAiAQA
EuIBCisKA0FuZBICQ0MaA0FuZCoDCiAgMgEgOgNBbmRYNmA5iAEMkAENqAEAsAIA
CiYKAnNvEgJSQhoCc28qASAyASA6AnNvWDpgPIgBDZABDqgBALACAAoqCgNhcmUS
A1ZCUBoDYXJlKgEgMgEgOgNhcmVYPWBAiAEOkAEPqAEAsAIACikKA3lvdRIDUFJQ
GgN5b3UqASAyADoDeW91WEFgRIgBD5ABEKgBALACAAohCgEuEgEuGgEuKgAyAQo6
AS5YRGBFiAEQkAERqAEAsAIAEAwYESADKDYwRZgDALADAIgEAFgAaAB4AIABAA==
`

	// Retrieve the Stanford CoreNLP server response body.
	//
	// Here, we retrieve the response body from the base64 string.
	// You can retrieve it from where you saved it.
	b, err := base64.StdEncoding.DecodeString(RespBodyBase64)
	if err != nil {
		panic(err) // handle error
	}

	// Specify the document model.
	// Depending on your CoreNLP version, use the appropriate model.
	// See the documentation for this package for details.
	doc := new(pb.Document)

	// Decode the response body and place the result in doc.
	err = model.DecodeResponseBody(b, doc)
	if err != nil {
		panic(err) // handle error
	}

	// Work with doc.
	//
	// Here, we print the original text.
	// And then print the tokens in the last sentence
	// into a table along with their part-of-speech tags.
	fmt.Println("Original text:")
	fmt.Println(doc.GetText())
	sentences := doc.GetSentence()
	if len(sentences) == 0 {
		panic("doc.GetSentence returned an empty slice") // should not happen
	}
	fmt.Println("Last sentence tokens:")
	tokens := sentences[len(sentences)-1].GetToken()
	fmt.Println("+------+-----+")
	fmt.Println("| Word | POS |")
	fmt.Println("+------+-----+")
	for _, token := range tokens {
		fmt.Printf("| %-5s| %-4s|\n", token.GetWord(), token.GetPos())
	}
	fmt.Println("+------+-----+")

}
Output:

Original text:

Roses are red.
  Violets are blue.
Sugar is sweet.
  And so are you.

Last sentence tokens:
+------+-----+
| Word | POS |
+------+-----+
| And  | CC  |
| so   | RB  |
| are  | VBP |
| you  | PRP |
| .    | .   |
+------+-----+

Types

type ResponseBodyDecoder added in v0.5.2

type ResponseBodyDecoder interface {
	// Decode parses a ProtoBuf message
	// (usually a Stanford CoreNLP document)
	// from the body of a Stanford CoreNLP server response
	// read from the input stream.
	// The result is stored in msg.
	//
	// The specified message msg must be a non-nil pointer
	// to a ProtoBuf message.
	Decode(msg proto.Message) error
	// contains filtered or unexported methods
}

ResponseBodyDecoder reads and decodes Stanford CoreNLP server responses from an input stream.

Example
package main

import (
	"bytes"
	"encoding/base64"
	"errors"
	"fmt"
	"io"

	"github.com/donyori/gocorenlp/model"
	"github.com/donyori/gocorenlp/model/v4.5.6-eb50467fa8e3/pb"
)

func main() {
	// A standard base64 (as defined in RFC 4648) encoded response body.
	// It carries the annotation of the text:
	//
	//	Roses are red.
	//	  Violets are blue.
	//	Sugar is sweet.
	//	  And so are you.
	//
	// with annotators "tokenize,ssplit,pos".
	const RosesRespBodyBase64 = `
jAcKRgpSb3NlcyBhcmUgcmVkLgogIFZpb2xldHMgYXJlIGJsdWUuClN1Z2FyIGlz
IHN3ZWV0LgogIEFuZCBzbyBhcmUgeW91LgoSwQEKMQoFUm9zZXMSBE5OUFMaBVJv
c2VzKgEKMgEgOgVSb3Nlc1gBYAaIAQCQAQGoAQCwAgAKKgoDYXJlEgNWQlAaA2Fy
ZSoBIDIBIDoDYXJlWAdgCogBAZABAqgBALACAAooCgNyZWQSAkpKGgNyZWQqASAy
ADoDcmVkWAtgDogBApABA6gBALACAAojCgEuEgEuGgEuKgAyAwogIDoBLlgOYA+I
AQOQAQSoAQCwAgAQABgEIAAoATAPmAMAsAMAiAQAEskBCjgKB1Zpb2xldHMSA05O
UxoHVmlvbGV0cyoDCiAgMgEgOgdWaW9sZXRzWBJgGYgBBJABBagBALACAAoqCgNh
cmUSA1ZCUBoDYXJlKgEgMgEgOgNhcmVYGmAdiAEFkAEGqAEAsAIACisKBGJsdWUS
AkpKGgRibHVlKgEgMgA6BGJsdWVYHmAiiAEGkAEHqAEAsAIACiEKAS4SAS4aAS4q
ADIBCjoBLlgiYCOIAQeQAQioAQCwAgAQBBgIIAEoEjAjmAMAsAMAiAQAEsMBCjAK
BVN1Z2FyEgNOTlAaBVN1Z2FyKgEKMgEgOgVTdWdhclgkYCmIAQiQAQmoAQCwAgAK
JwoCaXMSA1ZCWhoCaXMqASAyASA6AmlzWCpgLIgBCZABCqgBALACAAouCgVzd2Vl
dBICSkoaBXN3ZWV0KgEgMgA6BXN3ZWV0WC1gMogBCpABC6gBALACAAojCgEuEgEu
GgEuKgAyAwogIDoBLlgyYDOIAQuQAQyoAQCwAgAQCBgMIAIoJDAzmAMAsAMAiAQA
EuIBCisKA0FuZBICQ0MaA0FuZCoDCiAgMgEgOgNBbmRYNmA5iAEMkAENqAEAsAIA
CiYKAnNvEgJSQhoCc28qASAyASA6AnNvWDpgPIgBDZABDqgBALACAAoqCgNhcmUS
A1ZCUBoDYXJlKgEgMgEgOgNhcmVYPWBAiAEOkAEPqAEAsAIACikKA3lvdRIDUFJQ
GgN5b3UqASAyADoDeW91WEFgRIgBD5ABEKgBALACAAohCgEuEgEuGgEuKgAyAQo6
AS5YRGBFiAEQkAERqAEAsAIAEAwYESADKDYwRZgDALADAIgEAFgAaAB4AIABAA==
`

	// A standard base64 (as defined in RFC 4648) encoded response body.
	// It carries the annotation of the text:
	//	Yesterday is history. Tomorrow is a mystery. Today is a gift. That’s why we call it 'The Present'
	// with annotators "tokenize,ssplit,pos".
	const YesterdayRespBodyBase64 = `
5AkKY1llc3RlcmRheSBpcyBoaXN0b3J5LiBUb21vcnJvdyBpcyBhIG15c3Rlcnku
IFRvZGF5IGlzIGEgZ2lmdC4gVGhhdOKAmXMgd2h5IHdlIGNhbGwgaXQgJ1RoZSBQ
cmVzZW50JxLRAQo6CglZZXN0ZXJkYXkSAk5OGglZZXN0ZXJkYXkqADIBIDoJWWVz
dGVyZGF5WABgCYgBAJABAagBALACAAonCgJpcxIDVkJaGgJpcyoBIDIBIDoCaXNY
CmAMiAEBkAECqAEAsAIACjQKB2hpc3RvcnkSAk5OGgdoaXN0b3J5KgEgMgA6B2hp
c3RvcnlYDWAUiAECkAEDqAEAsAIACiEKAS4SAS4aAS4qADIBIDoBLlgUYBWIAQOQ
AQSoAQCwAgAQABgEIAAoADAVmAMAsAMAiAQAEvQBCjgKCFRvbW9ycm93EgJOThoI
VG9tb3Jyb3cqASAyASA6CFRvbW9ycm93WBZgHogBBJABBagBALACAAonCgJpcxID
VkJaGgJpcyoBIDIBIDoCaXNYH2AhiAEFkAEGqAEAsAIACiMKAWESAkRUGgFhKgEg
MgEgOgFhWCJgI4gBBpABB6gBALACAAo0CgdteXN0ZXJ5EgJOThoHbXlzdGVyeSoB
IDIAOgdteXN0ZXJ5WCRgK4gBB5ABCKgBALACAAohCgEuEgEuGgEuKgAyASA6AS5Y
K2AsiAEIkAEJqAEAsAIAEAQYCSABKBYwLJgDALADAIgEABLiAQovCgVUb2RheRIC
Tk4aBVRvZGF5KgEgMgEgOgVUb2RheVgtYDKIAQmQAQqoAQCwAgAKJwoCaXMSA1ZC
WhoCaXMqASAyASA6AmlzWDNgNYgBCpABC6gBALACAAojCgFhEgJEVBoBYSoBIDIB
IDoBYVg2YDeIAQuQAQyoAQCwAgAKKwoEZ2lmdBICTk4aBGdpZnQqASAyADoEZ2lm
dFg4YDyIAQyQAQ2oAQCwAgAKIQoBLhIBLhoBLioAMgEgOgEuWDxgPYgBDZABDqgB
ALACABAJGA4gAigtMD2YAwCwAwCIBAASwwMKKwoEVGhhdBICSU4aBFRoYXQqASAy
ADoEVGhhdFg+YEKIAQ6QAQ+oAQCwAgAKLAoE4oCZcxIDUE9TGgTigJlzKgAyASA6
BOKAmXNYQmBEiAEPkAEQqAEAsAIACioKA3doeRIDV1JCGgN3aHkqASAyASA6A3do
eVhFYEiIARCQARGoAQCwAgAKJwoCd2USA1BSUBoCd2UqASAyASA6AndlWElgS4gB
EZABEqgBALACAAotCgRjYWxsEgNWQlAaBGNhbGwqASAyASA6BGNhbGxYTGBQiAES
kAETqAEAsAIACicKAml0EgNQUlAaAml0KgEgMgEgOgJpdFhRYFOIAROQARSoAQCw
AgAKIgoBJxICYGAaAScqASAyADoBJ1hUYFWIARSQARWoAQCwAgAKKAoDVGhlEgJE
VBoDVGhlKgAyASA6A1RoZVhVYFiIARWQARaoAQCwAgAKNQoHUHJlc2VudBIDTk5Q
GgdQcmVzZW50KgEgMgA6B1ByZXNlbnRYWWBgiAEWkAEXqAEAsAIACiEKAScSAicn
GgEnKgAyADoBJ1hgYGGIAReQARioAQCwAgAQDhgYIAMoPjBhmAMAsAMAiAQAWABo
AHgAgAEA
`

	// Retrieve the Stanford CoreNLP server response body.
	//
	// Here, we retrieve the response body from the base64 string.
	// You can retrieve it from where you saved it.
	roses, err := base64.StdEncoding.DecodeString(RosesRespBodyBase64)
	if err != nil {
		panic(err) // handle error
	}
	yesterday, err := base64.StdEncoding.DecodeString(YesterdayRespBodyBase64)
	if err != nil {
		panic(err) // handle error
	}

	// Concatenate two annotation results as the input stream.
	b := make([]byte, len(roses)+len(yesterday))
	copy(b[copy(b, roses):], yesterday)
	input := bytes.NewReader(b)

	// Create a ResponseBodyDecoder on it.
	dec := model.NewResponseBodyDecoder(input)

	// Specify the document model.
	// Depending on your CoreNLP version, use the appropriate model.
	// See the documentation for this package for details.
	var doc pb.Document
	// Decode the annotation results until EOF.
	for {
		// Decode the response body and place the result in doc.
		err = dec.Decode(&doc)
		if err != nil {
			if errors.Is(err, io.EOF) {
				break
			}
			panic(err) // handle error
		}

		// Work with doc.
		//
		// Here, we print the original text.
		// And then print the tokens in the first sentence
		// into a table along with their part-of-speech tags.
		fmt.Println("Original text:")
		fmt.Println(doc.GetText())
		sentences := doc.GetSentence()
		if len(sentences) == 0 {
			panic("doc.GetSentence returned an empty slice") // should not happen
		}
		fmt.Println("First sentence tokens:")
		tokens := sentences[0].GetToken()
		fmt.Println("+-----------+------+")
		fmt.Println("| Word      | POS  |")
		fmt.Println("+-----------+------+")
		for _, token := range tokens {
			fmt.Printf("| %-10s| %-5s|\n", token.GetWord(), token.GetPos())
		}
		fmt.Println("+-----------+------+")
	}

}
Output:

Original text:

Roses are red.
  Violets are blue.
Sugar is sweet.
  And so are you.

First sentence tokens:
+-----------+------+
| Word      | POS  |
+-----------+------+
| Roses     | NNPS |
| are       | VBP  |
| red       | JJ   |
| .         | .    |
+-----------+------+
Original text:
Yesterday is history. Tomorrow is a mystery. Today is a gift. That’s why we call it 'The Present'
First sentence tokens:
+-----------+------+
| Word      | POS  |
+-----------+------+
| Yesterday | NN   |
| is        | VBZ  |
| history   | NN   |
| .         | .    |
+-----------+------+

func NewResponseBodyDecoder added in v0.5.2

func NewResponseBodyDecoder(r io.Reader) ResponseBodyDecoder

NewResponseBodyDecoder creates a new ResponseBodyDecoder that reads from r.

If r does not implement io.ByteReader, the ResponseBodyDecoder introduces its own buffering and may read data from r beyond the response requested.

Directories

Path Synopsis
Package v3_6_0_29765338a2e8 corresponds to Stanford CoreNLP 3.6.0, with commit hash 29765338a2e8d82fc8cef5b34a5cf56a69b0669f.
Package v3_6_0_29765338a2e8 corresponds to Stanford CoreNLP 3.6.0, with commit hash 29765338a2e8d82fc8cef5b34a5cf56a69b0669f.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 3.6.0.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 3.6.0.
Package v4_0_0_2b3dd38abe00 corresponds to Stanford CoreNLP 4.0.0, with commit hash 2b3dd38abe002bf8407bb22e9fd6d0fa78e7f985.
Package v4_0_0_2b3dd38abe00 corresponds to Stanford CoreNLP 4.0.0, with commit hash 2b3dd38abe002bf8407bb22e9fd6d0fa78e7f985.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.0.0.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.0.0.
Package v4_1_0_a1427196ba6e corresponds to Stanford CoreNLP 4.1.0, with commit hash a1427196ba6efc79a60279dd95d9bf2baa8a3549.
Package v4_1_0_a1427196ba6e corresponds to Stanford CoreNLP 4.1.0, with commit hash a1427196ba6efc79a60279dd95d9bf2baa8a3549.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.1.0.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.1.0.
Package v4_2_0_3ad83fc2e42e corresponds to Stanford CoreNLP 4.2.0, with commit hash 3ad83fc2e42e9658f808e10619abc4f4cbc22069.
Package v4_2_0_3ad83fc2e42e corresponds to Stanford CoreNLP 4.2.0, with commit hash 3ad83fc2e42e9658f808e10619abc4f4cbc22069.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.2.0.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.2.0.
Package v4_2_1_d8d09b2c81a5 corresponds to Stanford CoreNLP 4.2.1 and 4.2.2, with commit hash d8d09b2c81a5094b83f1275af362329d495e7170.
Package v4_2_1_d8d09b2c81a5 corresponds to Stanford CoreNLP 4.2.1 and 4.2.2, with commit hash d8d09b2c81a5094b83f1275af362329d495e7170.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.2.1 and 4.2.2.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.2.1 and 4.2.2.
Package v4_3_0_f885cd198767 corresponds to Stanford CoreNLP 4.3.0, 4.3.1, and 4.3.2, with commit hash f885cd198767219875f08479d3819493bacc8637.
Package v4_3_0_f885cd198767 corresponds to Stanford CoreNLP 4.3.0, 4.3.1, and 4.3.2, with commit hash f885cd198767219875f08479d3819493bacc8637.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.3.0, 4.3.1, and 4.3.2.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.3.0, 4.3.1, and 4.3.2.
Package v4_4_0_e90f30f13c40 corresponds to Stanford CoreNLP 4.4.0, with commit hash e90f30f13c40fc00c41f67d48900c8760453c046.
Package v4_4_0_e90f30f13c40 corresponds to Stanford CoreNLP 4.4.0, with commit hash e90f30f13c40fc00c41f67d48900c8760453c046.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.4.0.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.4.0.
Package v4_5_0_45b47e245c36 corresponds to Stanford CoreNLP 4.5.0 and 4.5.1, with commit hash 45b47e245c367663bba2e81a26ea7c29262ad0d8.
Package v4_5_0_45b47e245c36 corresponds to Stanford CoreNLP 4.5.0 and 4.5.1, with commit hash 45b47e245c367663bba2e81a26ea7c29262ad0d8.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.5.0 and 4.5.1.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.5.0 and 4.5.1.
Package v4_5_2_9c3dfee5af50 corresponds to Stanford CoreNLP 4.5.2, with commit hash 9c3dfee5af50a2279429ae9e010ba51c8f91b351.
Package v4_5_2_9c3dfee5af50 corresponds to Stanford CoreNLP 4.5.2, with commit hash 9c3dfee5af50a2279429ae9e010ba51c8f91b351.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.5.2.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.5.2.
Package v4_5_3_5250f9faf9f1 corresponds to Stanford CoreNLP 4.5.3 and 4.5.4, with commit hash 5250f9faf9f192a2350000b7fecf65d1d5b63e13.
Package v4_5_3_5250f9faf9f1 corresponds to Stanford CoreNLP 4.5.3 and 4.5.4, with commit hash 5250f9faf9f192a2350000b7fecf65d1d5b63e13.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.5.3 and 4.5.4.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.5.3 and 4.5.4.
Package v4_5_5_f1b929e47a57 corresponds to Stanford CoreNLP 4.5.5, with commit hash f1b929e47a57d9ff0a17b2d6789fe73705ad24b3.
Package v4_5_5_f1b929e47a57 corresponds to Stanford CoreNLP 4.5.5, with commit hash f1b929e47a57d9ff0a17b2d6789fe73705ad24b3.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.5.5.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.5.5.
Package v4_5_6_eb50467fa8e3 corresponds to Stanford CoreNLP 4.5.6, with commit hash eb50467fa8e3f44b5aee53394231d2f68e6d130b.
Package v4_5_6_eb50467fa8e3 corresponds to Stanford CoreNLP 4.5.6, with commit hash eb50467fa8e3f44b5aee53394231d2f68e6d130b.
pb
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.5.6.
Package pb provides auto-generated structures for the data set of Stanford CoreNLP 4.5.6.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL