Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Kingdom ¶
type Kingdom struct {
NamesNumber int `json:"namesNumber"`
Kingdom string `json:"kingdom"`
NamesPercentage float32 `json:"namesPercentage"`
}
Kingdom contains names resolved to it and their percentage.
type Meta ¶
type Meta struct {
// Documentation
Documentation string `json:"documentation"`
// Date represents time when output was generated.
Date time.Time `json:"date"`
// FinderVersion the version of gnfinder.
FinderVersion string `json:"gnfinderVersion"`
// InputFile is the name of the source file.
InputFile string `json:"inputFile,omitempty"`
// TextExtractionSec is the time spent on converting the file
// into UTF8-encoded text.
TextExtractionSec float32 `json:"textExtractSec,omitempty"`
// NameFindingSec is the time spent on name-finding.
NameFindingSec float32 `json:"nameFindingSec"`
// NameVerifSec is the time spent on name-verification.
NameVerifSec float32 `json:"nameVerifSec,omitempty"`
// TotalSec is time spent for the whole process
TotalSec float32 `json:"totalSec"`
// WordsAround shows the number of tokens preserved before and after
// a name-string candidate.
WordsAround int `json:"wordsAround"`
// Language setting used by the name-finding algorithm.
Language string `json:"language"`
// LanguageDetected automatically for the text.
LanguageDetected string `json:"languageDetected,omitempty"`
// WithAllMatches is true if all verifcation results are shown.
WithAllMatches bool `json:"withAllMatches,omitempty"`
// WithAmbiguousNames is true if ambiguous uninomials are preserved.
// Examples of ambiguous uninomial names are `Cancer`, `America`.
WithAmbiguousNames bool `json:"withAmbiguousNames,omitempty"`
// WithUniqueNames is true when unique names are returned instead
// of every occurance of a name.
WithUniqueNames bool `json:"withUniqueNames,omitempty"`
// WithBayes use of bayes during name-finding
WithBayes bool `json:"withBayes,omitempty"`
// WithOddsAdjustment to adjust prior odds according to the density of
// scientific names in the text.
WithOddsAdjustment bool `json:"withOddsAdjustment,omitempty"`
// WithPositionInBytes names get start/enc positionx in bytes
// instead of UTF-8 chars.
WithPositionInBytes bool `json:"withPositionInBytes,omitempty"`
// WithVerification is true if results are checked by verification service.
WithVerification bool `json:"withVerification,omitempty"`
// WithLanguageDetection sets automatic language determination.
WithLanguageDetection bool `json:"withLanguageDetection,omitempty"`
// TotalWords is a number of 'normalized' words in the text
TotalWords int `json:"totalWords"`
// TotalNameCandidates is a number of words that might be a start of
// a scientific name
TotalNameCandidates int `json:"totalNameCandidates"`
// TotalNames is a number of scientific names found
TotalNames int `json:"totalNames"`
// Kingdoms are the kingdoms to which the names resolved by
// the Catalogue of Life are placed.
// Kingdoms are sorted by percentage in descending order.
// The first kingom contains the most number of names.
Kingdoms []Kingdom `json:"kingdoms,omitempty"`
// MainTaxon is the taxon containing the majority of resolved by
// the Catalogue of Life names.
MainTaxon string `json:"mainTaxon,omitempty"`
// MainTaxonRank is the rank of the MainTaxon.
MainTaxonRank string `json:"mainTaxonRank,omitempty"`
// MainTaxonPercentage is the percentage of names in MainTaxon.
MainTaxonPercentage float32 `json:"mainTaxonPercentage,omitempty"`
// StatsNamesNum is the number of names used for calculating statistics.
// It includes names that are genus and lower and are verified to
// Catalogue of Life.
StatsNamesNum int `json:"statsNamesNum,omitempty"`
}
Meta contains meta-information of name-finding result.
type Name ¶
type Name struct {
// Cardinality depicts number of elements in a name. 0 - Cannot determine
// cardinality, 1 - Uninomial, 2 - Binomial, 3 - Trinomial.
Cardinality int `json:"cardinality"`
// Verbatim shows name the way it was in the text.
Verbatim string `json:"verbatim,omitempty"`
// Name is a normalized version of a name.
Name string `json:"name"`
// Decision about the quality of name detection.
Decision token.Decision `json:"-"`
// Odds show a probability that name detection was correct.
Odds float64 `json:"-"`
// OddsLog10 show a Log10 of Odds.
OddsLog10 float64 `json:"oddsLog10,omitempty"`
// OddsDetails descibes how Odds were calculated.
OddsDetails boutput.OddsDetails `json:"oddsDetails,omitempty"`
// OffsetStart is a start of a name on a page.
OffsetStart int `json:"start"`
// OffsetEnd is the end of the name on a page.
OffsetEnd int `json:"end"`
// AnnotNomen is a nomenclatural annotation for new species or combination.
AnnotNomen string `json:"annotationNomen,omitempty"`
// AnnotNomenType is normalized nomenclatural annotation.
AnnotNomenType string `json:"annotationNomenType,omitempty"`
// WordsBefore are words that happened before the name.
WordsBefore []string `json:"wordsBefore,omitempty"`
// WordsAfter are words that happened right after the name.
WordsAfter []string `json:"wordsAfter,omitempty"`
// Verification gives results of verification process of the name.
Verification *vlib.Name `json:"verification,omitempty"`
}
Name represents one found name.
func FilterNames ¶
type OddsDatum ¶
OddsDatum is a simplified version of a name, that stores boolean decision (Name/NotName), and corresponding odds of the name.
type Output ¶
type Output struct {
Meta `json:"metadata"`
InputText string `json:"inputText,omitempty"`
Names []Name `json:"names"`
}
Output type is the result of name-finding.
func TokensToOutput ¶
TokensToOutput takes tagged tokens and assembles output out of them.
func (*Output) MergeVerification ¶
MergeVerification takes a map with verified names and incorporates into output.
func (*Output) UniqueNameStrings ¶
UniqueNameStrings takes a list of names, and returns a list of unique name-strings
Click to show internal directories.
Click to hide internal directories.