LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
SelectionalPreferences.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 SELECTIONALPREFERENCES_H
17#define SELECTIONALPREFERENCES_H
18
22
23#include <boost/tuple/tuple.hpp>
24
25#include <set>
26#include <map>
27
28namespace Lima
29{
30namespace LinguisticProcessing
31{
32namespace SyntacticAnalysis
33{
34
35#define SELECTIONALPREFERENCES_CLASSID "SelectionalPreferences"
36
38{
39 Q_OBJECT
40public:
42
44
45 void init(
47 Manager* manager) override;
48
49 void loadFromFile(const std::string& fileName);
50
51 inline MediaId language() const {return m_language;};
52
53 double dependencyProbability(std::string target, LinguisticCode targetCode, std::string dependency, std::string source, LinguisticCode sourceCode) const;
54
55private:
56 class compareTuple : public std::less< boost::tuple< std::string, LinguisticCode, std::string, std::string, LinguisticCode > >
57 {
58 public:
59 bool operator()(const boost::tuple< std::string, LinguisticCode, std::string, std::string, LinguisticCode >& t1,
60 const boost::tuple< std::string, LinguisticCode, std::string, std::string, LinguisticCode >& t2) const;
61 };
62
63 MediaId m_language;
64 std::map< boost::tuple< std::string, LinguisticCode, std::string, std::string, LinguisticCode >, double, compareTuple > m_preferences;
65
66};
67
68} // namespace SyntacticAnalysis
69} // namespace LinguisticProcessing
70} // namespace Lima
71
72#endif
#define LIMA_SYNTACTICANALYSIS_EXPORT
Manage initialization of InitializableObjects using configuration module and parameters.
NAUTITIA.