LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
ngramMatrices.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
16#ifndef LIMA_POSTAGGER_NGRAMMATRICES_H
17#define LIMA_POSTAGGER_NGRAMMATRICES_H
18
19#include "PosTaggerExport.h"
22#include <string>
23#include <map>
24#include <limits>
25
27
28#ifdef WIN32
29#undef min
30#undef max
31#endif
32
33namespace Lima
34{
35namespace LinguisticProcessing
36{
37namespace PosTagger
38{
39
40#define TRIGRAMMATRIX_CLASSID "TrigramMatrix"
41
43{
44 Q_OBJECT
45
46public:
47
49 m_language(std::numeric_limits< unsigned char >::max()),
50 m_trigrams() {}
51
52 virtual ~TrigramMatrix() {}
53
54 void init(
56 AbstractResource::Manager* manager) override;
57
58 void readTrigramMatrixFile(const std::string& fileName);
59
60 bool exists(LinguisticCode cat1,LinguisticCode cat2,LinguisticCode cat3) const;
61
62 float freq(LinguisticCode cat1,LinguisticCode cat2,LinguisticCode cat3) const;
63
64private:
65 MediaId m_language;
66 const Common::PropertyCode::PropertyManager* m_microManager;
67 std::map< LinguisticCode, std::map<LinguisticCode, std::map<LinguisticCode,float> > > m_trigrams;
68
69};
70
71#define BIGRAMMATRIX_CLASSID "BigramMatrix"
72
74{
75 Q_OBJECT
76public:
77
79 m_language(std::numeric_limits< unsigned char >::max()),
80 m_bigrams() {}
81
82 virtual ~BigramMatrix() {}
83
84 void init(
86 AbstractResource::Manager* manager) override;
87
88 void readBigramMatrixFile(const std::string& fileName);
89
90 bool exists(LinguisticCode cat1,LinguisticCode cat2) const;
91
92 float freq(LinguisticCode cat1,LinguisticCode cat2) const;
93
94private:
95
96 MediaId m_language;
97 const Common::PropertyCode::PropertyManager* m_microManager;
98 std::map< LinguisticCode, std::map<LinguisticCode, float> > m_bigrams;
99
100};
101
102} // closing namespace PosTagger
103} // closing namespace LinguisticProcessing
104} // closing namespace Lima
105
106#endif
#define LIMA_POSTAGGER_EXPORT
Provide tools to manage a specific property.
Manage initialization of InitializableObjects using configuration module and parameters.
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, AbstractResource::Manager *manager) override
initialize with parameters from configuration file.
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, AbstractResource::Manager *manager) override
initialize with parameters from configuration file.
NAUTITIA.
STL namespace.