blob: c97c4b345fc591516f4645852c5e737e7cfa9b54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
from libcpp.vector cimport vector
from libcpp.string cimport string
from utils cimport *
from hypergraph cimport Hypergraph
cdef extern from "mteval/ns.h":
cdef cppclass SufficientStats:
SufficientStats()
SufficientStats(SufficientStats&)
unsigned size()
float operator[](unsigned i)
void swap(SufficientStats& other)
vector[float] fields
SufficientStats add "operator+" (SufficientStats&, SufficientStats&)
cdef cppclass SegmentEvaluator:
void Evaluate(vector[WordID]& hyp, SufficientStats* out)
cdef cppclass EvaluationMetric:
string& MetricId()
bint IsErrorMetric()
float ComputeScore(SufficientStats& stats)
string DetailedScore(SufficientStats& stats)
shared_ptr[SegmentEvaluator] CreateSegmentEvaluator(vector[vector[WordID]]& refs)
ComputeSufficientStatistics(vector[WordID]& hyp,
vector[WordID]& refs,
SufficientStats* out)
cdef EvaluationMetric* MetricInstance "EvaluationMetric::Instance" (string& metric_id)
cdef extern from "py_scorer.h":
ctypedef float (*MetricScoreCallback)(void*, SufficientStats* stats)
ctypedef void (*MetricStatsCallback)(void*,
string* hyp, vector[string]* refs, SufficientStats* out)
cdef EvaluationMetric* PyMetricInstance "PythonEvaluationMetric::Instance"(
string& metric_id, void*, MetricStatsCallback, MetricScoreCallback)
cdef extern from "training/candidate_set.h" namespace "training":
cdef cppclass Candidate:
vector[WordID] ewords
FastSparseVector[weight_t] fmap
SufficientStats eval_feats
ctypedef Candidate const_Candidate "const training::Candidate"
cdef cppclass CandidateSet:
CandidateSet()
unsigned size()
const_Candidate& operator[](unsigned i)
void ReadFromFile(string& file)
void WriteToFile(string& file)
void AddKBestCandidates(Hypergraph& hg,
unsigned kbest_size,
SegmentEvaluator* scorer)
|