LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
frequencyCost.h
Go to the documentation of this file.
1// Copyright 2002-2013 CEA LIST
2// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3//
4// SPDX-License-Identifier: MIT
5
6#ifndef LIMA_POSTAGGER_FREQUENCYCOST_H
7#define LIMA_POSTAGGER_FREQUENCYCOST_H
8
9#include "PosTaggerExport.h"
10#include "ngramMatrices.h"
11#include <iostream>
12
13namespace Lima
14{
15namespace LinguisticProcessing
16{
17namespace PosTagger
18{
19
21{
22
23 friend LIMA_POSTAGGER_EXPORT std::ostream& operator<<(std::ostream& out,const FrequencyCost& cost);
24
25public:
27
29 uint64_t nbtrigrams,
30 uint64_t nbbigrams,
31 uint64_t nbunigrams,
32 float trigramproba,
33 float bigramproba);
34
35// FrequencyCost(const FrequencyCost& fc);
36
37 virtual ~FrequencyCost();
38
39 bool operator<(const FrequencyCost& fc) const;
40 bool operator==(const FrequencyCost& fc) const;
41 FrequencyCost operator+(const FrequencyCost& fc) const;
42 FrequencyCost& operator+=(const FrequencyCost& fc);
43
44 inline bool operator!=(const FrequencyCost& fc) const { return !(operator==(fc));}
45
46private:
47
48 uint64_t m_nbtrigrams;
49 uint64_t m_nbbigrams;
50 uint64_t m_nbunigrams;
51
52 float m_trigramproba;
53 float m_bigramproba;
54
55};
56
57
59{
60public:
61
63 const TrigramMatrix* trigrams,
64 const BigramMatrix* bigrams);
65
67 const FrequencyCostFunction& cf);
68
69 virtual ~FrequencyCostFunction();
70
71 FrequencyCost operator()(LinguisticCode cat1, LinguisticCode cat2, LinguisticCode cat3) const;
72
73 inline FrequencyCost getMinimumCost() const { return m_minimumCost; }
74
75 inline FrequencyCost getMaximumCost() const { return m_maximumCost; }
76
77private:
78
79 const TrigramMatrix* m_trigrams;
80 const BigramMatrix* m_bigrams;
81
82 static FrequencyCost m_minimumCost;
83 static FrequencyCost m_maximumCost;
84
85};
86
87} // PosTagger
88} // LinguisticProcessing
89} // Lima
90
91#endif
QDebug & operator<<(QDebug &qd, const std::string &str)
Definition QsLog.cpp:39
#define LIMA_POSTAGGER_EXPORT
bool operator!=(const FrequencyCost &fc) const
NAUTITIA.
Defines Bigrams and Trigrams matrices *.
static bool operator<(const QStringView &entityStr, const TextHtmlEntity &entity)