LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
LangDetector.cpp
Go to the documentation of this file.
1
#include "
LangDetector.h
"
2
#include "
LangDetectorCore.h
"
3
#include "
common/AbstractFactoryPattern/SimpleFactory.h
"
4
#include "
linguisticProcessing/core/LinguisticResources/LinguisticResources.h
"
5
#include "
linguisticProcessing/common/linguisticData/LimaStringText.h
"
6
#include "
common/XMLConfigurationFiles/xmlConfigurationFileExceptions.h
"
7
#include "
common/tools/FileUtils.h
"
8
#include "
common/MediaticData/mediaticData.h
"
9
#include <iostream>
10
#include <QtCore/QString>
11
12
using namespace
Lima::Common::XMLConfigurationFiles
;
13
using namespace
Lima::Common::Misc
;
14
15
namespace
Lima::LinguisticProcessing::LDetector
16
{
17
18
static
SimpleFactory<MediaProcessUnit,LangDetector>
langdetectorFactory
(
LANGDETECTOR_CLASSID
);
// clazy:exclude=non-pod-global-static
19
20
LangDetector::LangDetector
():m_d(new
LangDetectorCore
())
21
{
22
23
}
24
25
LangDetector::~LangDetector
()
26
{
27
delete
m_d;
28
}
29
30
31
void
LangDetector::init
(
Common::XMLConfigurationFiles::GroupConfigurationStructure
& unitConfiguration,
Manager
* manager)
32
{
33
QString fileName =
Common::Misc::findFileInPaths
(
34
Common::MediaticData::MediaticData::single
().getResourcesPath().c_str(),
35
unitConfiguration.
getParamsValueAtKey
(
"langDetectorModel"
).c_str() );
36
m_d->
loadModel
(fileName.toStdString());
37
}
38
39
LimaStatusCode
LangDetector::process
(
AnalysisContent
&analysis)
const
{
40
LANGDETECTORLOGINIT
;
41
LINFO
<<
"start langdetector process"
;
42
QString* originalText=
dynamic_cast<
QString*
>
(analysis.
getData
(
"Text"
).get());
43
std::string langLabel = m_d->
detectLang
(originalText->toStdString());
44
std::string language =
Lima::LinguisticProcessing::LDetector::LangDetectorCore::labelToPrintable
(langLabel);
45
LINFO
<<
"The detected language is: "
<<language;
46
return
SUCCESS_ID
;
47
}
48
49
50
}
FileUtils.h
LangDetectorCore.h
LangDetector.h
LANGDETECTOR_CLASSID
#define LANGDETECTOR_CLASSID
Definition
LangDetector.h:15
LINFO
#define LINFO
Definition
LimaCommon.h:158
LimaStringText.h
LANGDETECTORLOGINIT
#define LANGDETECTORLOGINIT
Definition
LinguisticProcessingCommon.h:121
LinguisticResources.h
SimpleFactory.h
Defines a Factory to create Object of type Base.
Lima::AnalysisContent
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
Definition
AnalysisContent.h:37
Lima::AnalysisContent::getData
std::shared_ptr< AnalysisData > getData(const QString &id)
return AnalysisData by id
Definition
AnalysisContent.cpp:39
Lima::Common::XMLConfigurationFiles::GroupConfigurationStructure
Definition
groupConfigurationStructure.h:32
Lima::Common::XMLConfigurationFiles::GroupConfigurationStructure::getParamsValueAtKey
std::string & getParamsValueAtKey(const std::string &key)
Definition
groupConfigurationStructure.cpp:207
Lima::InitializableObjectManager
Manage initialization of InitializableObjects using configuration module and parameters.
Definition
InitializableObjectManager.h:32
Lima::LinguisticProcessing::LDetector::LangDetectorCore
Definition
LangDetectorCore.h:20
Lima::LinguisticProcessing::LDetector::LangDetectorCore::labelToPrintable
static std::string labelToPrintable(const std::string &label)
Definition
LangDetectorCore.cpp:36
Lima::LinguisticProcessing::LDetector::LangDetectorCore::detectLang
std::string detectLang(const std::string &text) const
Definition
LangDetectorCore.cpp:25
Lima::LinguisticProcessing::LDetector::LangDetectorCore::loadModel
void loadModel(const std::string &modelPath)
Definition
LangDetectorCore.cpp:40
Lima::LinguisticProcessing::LDetector::LangDetector::LangDetector
LangDetector()
Definition
LangDetector.cpp:20
Lima::LinguisticProcessing::LDetector::LangDetector::process
LimaStatusCode process(AnalysisContent &analysis) const override
Process on data in analysisContent.
Definition
LangDetector.cpp:39
Lima::LinguisticProcessing::LDetector::LangDetector::~LangDetector
virtual ~LangDetector()
Definition
LangDetector.cpp:25
Lima::LinguisticProcessing::LDetector::LangDetector::init
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
initialize with parameters from configuration file.
Definition
LangDetector.cpp:31
Lima::SimpleFactory
Definition
SimpleFactory.h:28
Lima::Singleton< MediaticData >::single
static const MediaticData & single()
const singleton accessor
Definition
Singleton.h:51
mediaticData.h
Lima::Common::Misc
Definition
genericDocumentProperties.cpp:29
Lima::Common::Misc::findFileInPaths
QString findFileInPaths(const QString &paths, const QString &fileName, const QChar &separator)
Find the given file in the given paths.
Definition
FileUtils.cpp:220
Lima::Common::XMLConfigurationFiles
Definition
MediaAnalysisDumper.h:19
Lima::LinguisticProcessing::LDetector
Definition
LangDetector.cpp:16
Lima::LinguisticProcessing::LDetector::langdetectorFactory
static SimpleFactory< MediaProcessUnit, LangDetector > langdetectorFactory(LANGDETECTOR_CLASSID)
Lima::LimaStatusCode
LimaStatusCode
Definition
LimaCommon.h:236
Lima::SUCCESS_ID
@ SUCCESS_ID
Definition
LimaCommon.h:237
xmlConfigurationFileExceptions.h
launch exception related to the configuration file parsing
lima_linguisticprocessing
src
linguisticProcessing
core
LangDetector
LangDetector.cpp
Generated by
1.9.8