From 28246fba5d57c5df1a9574ca6574b9fdfea24047 Mon Sep 17 00:00:00 2001 From: wyy Date: Sun, 28 Sep 2014 11:59:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=20PosTagger=20=E6=9E=84?= =?UTF-8?q?=E9=80=A0=E5=87=BD=E6=95=B0=E9=87=8C=E4=B8=80=E4=BA=9B=E6=9A=82?= =?UTF-8?q?=E6=97=B6=E6=97=A0=E7=94=A8=E7=9A=84=E5=8F=82=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E5=92=8C=E5=A2=9E=E5=8A=A0=20PosTagger=20=E7=9A=84=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/PosTagger.hpp | 9 ++++++--- test/tagging_demo.cpp | 2 +- test/unittest/CMakeLists.txt | 8 +++++++- test/unittest/TPosTagger.cpp | 17 +++++++++++++++++ 4 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 test/unittest/TPosTagger.cpp diff --git a/src/PosTagger.hpp b/src/PosTagger.hpp index 63f13c0..b63f1de 100644 --- a/src/PosTagger.hpp +++ b/src/PosTagger.hpp @@ -17,13 +17,16 @@ namespace CppJieba public: PosTagger(){}; - PosTagger(const string& dictPath, const string& hmmFilePath, const string& charStatus, const string& startProb, const string& emitProb, const string& endProb, const string& transProb) + PosTagger( + const string& dictPath, + const string& hmmFilePath + ) { - LIMONP_CHECK(init(dictPath, hmmFilePath, charStatus, startProb, emitProb, endProb, transProb)); + LIMONP_CHECK(init(dictPath, hmmFilePath)); }; ~PosTagger(){}; public: - bool init(const string& dictPath, const string& hmmFilePath, const string& charStatus, const string& startProb, const string& emitProb, const string& endProb, const string& transProb) + bool init(const string& dictPath, const string& hmmFilePath) { LIMONP_CHECK(_dictTrie.init(dictPath)); LIMONP_CHECK(_segment.init(dictPath, hmmFilePath)); diff --git a/test/tagging_demo.cpp b/test/tagging_demo.cpp index 5b341f9..638352a 100644 --- a/test/tagging_demo.cpp +++ b/test/tagging_demo.cpp @@ -3,7 +3,7 @@ using namespace CppJieba; int main(int argc, char ** argv) { - PosTagger tagger("../dict/jieba.dict.utf8", "../dict/hmm_model.utf8", "", "", "", "", ""); + PosTagger tagger("../dict/jieba.dict.utf8", "../dict/hmm_model.utf8"); string s("我是蓝翔技工拖拉机学院手扶拖拉机专业的。不用多久,我就会升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰。"); vector > res; tagger.tag(s, res); diff --git a/test/unittest/CMakeLists.txt b/test/unittest/CMakeLists.txt index c252213..a6c8de4 100644 --- a/test/unittest/CMakeLists.txt +++ b/test/unittest/CMakeLists.txt @@ -16,7 +16,13 @@ ADD_LIBRARY(gtest STATIC ${GTEST_ROOT_DIR}/src/gtest-all.cc) #ADD_EXECUTABLE(keyword.test gtest_main.cpp TKeywordExtractor.cpp) #TARGET_LINK_LIBRARIES(keyword.test gtest pthread) -ADD_EXECUTABLE(test.run gtest_main.cpp TKeywordExtractor.cpp TTrie.cpp TSegments.cpp ) +ADD_EXECUTABLE(test.run + gtest_main.cpp + TKeywordExtractor.cpp + TTrie.cpp + TSegments.cpp + TPosTagger.cpp +) TARGET_LINK_LIBRARIES(gtest pthread) TARGET_LINK_LIBRARIES(test.run gtest pthread) diff --git a/test/unittest/TPosTagger.cpp b/test/unittest/TPosTagger.cpp new file mode 100644 index 0000000..3f32e7e --- /dev/null +++ b/test/unittest/TPosTagger.cpp @@ -0,0 +1,17 @@ +#include "src/PosTagger.hpp" +#include "gtest/gtest.h" + +using namespace CppJieba; + +const char * const QUERY_TEST1 = "我是蓝翔技工拖拉机学院手扶拖拉机专业的。不用多久,我就会升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰。"; +const char * const ANS_TEST1 = "[\"我:r\", \"是:v\", \"蓝翔:x\", \"技工:n\", \"拖拉机:n\", \"学院:n\", \"手扶拖拉机:n\", \"专业:n\", \"的:uj\", \"。:x\", \"不用:v\", \"多久:m\", \",:x\", \"我:r\", \"就:d\", \"会:v\", \"升职:v\", \"加薪:nr\", \",:x\", \"当上:t\", \"总经理:n\", \",:x\", \"出任:v\", \"CEO:x\", \",:x\", \"迎娶:v\", \"白富:x\", \"美:ns\", \",:x\", \"走上:v\", \"人生:n\", \"巅峰:n\", \"。:x\"]"; + +TEST(PosTaggerTest, Test1) +{ + PosTagger tagger("../dict/jieba.dict.utf8", "../dict/hmm_model.utf8"); + vector > res; + tagger.tag(QUERY_TEST1, res); + string s; + s << res; + ASSERT_TRUE(s == ANS_TEST1); +}