From ef5766904ad62a5af5023f55b5f4f92d8f8b4717 Mon Sep 17 00:00:00 2001 From: wyy Date: Sun, 28 Sep 2014 13:43:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E8=AF=8D=E6=80=A7=E7=9A=84=E6=A0=BC=E5=BC=8F=E4=B8=BA=EF=BC=9A?= =?UTF-8?q?=20`word=20tag`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 +++++++++++++ dict/user.dict.utf8 | 2 +- src/DictTrie.hpp | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0bbb929..48d6f38 100644 --- a/README.md +++ b/README.md @@ -172,6 +172,19 @@ make && ./keyword.demo ["我:r", "是:v", "蓝翔:x", "技工:n", "拖拉机:n", "学院:n", "手扶拖拉机:n", "专业:n", "的:uj", "。:x", "不用:v", "多久:m", ",:x", "我:r", "就:d", "会:v", "升职:v", "加薪:nr", ",:x", "当:t", "上:f", "总经理:n", ",:x", "出任:v", "CEO:x", ",:x", "迎娶:v", "白富美:x", ",:x", "走上:v", "人生:n", "巅峰:n", "。:x"] ``` +支持自定义词性。 +比如在(`dict/user.dict.utf8`)增加一行 + +``` +蓝翔 nz +``` + +结果如下: + +``` +["我:r", "是:v", "蓝翔:nz", "技工:n", "拖拉机:n", "学院:n", "手扶拖拉机:n", "专业:n", "的:uj", "。:x", "不用:v", "多久:m", ",:x", "我:r", "就:d", "会:v", "升职:v", "加薪:nr", ",:x", "当:t", "上:f", "总经理:n", ",:x", "出任:v", "CEO:x", ",:x", "迎娶:v", "白富美:x", ",:x", "走上:v", "人生:n", "巅峰:n", "。:x"] +``` + ## 服务使用 ### 启动服务 diff --git a/dict/user.dict.utf8 b/dict/user.dict.utf8 index d7f7a08..a422594 100644 --- a/dict/user.dict.utf8 +++ b/dict/user.dict.utf8 @@ -1,3 +1,3 @@ 云计算 韩玉鉴赏 -蓝翔 3 nz +蓝翔 nz diff --git a/src/DictTrie.hpp b/src/DictTrie.hpp index 29f88a4..16a46e5 100644 --- a/src/DictTrie.hpp +++ b/src/DictTrie.hpp @@ -146,8 +146,8 @@ namespace CppJieba { _userDictSingleChineseWord.insert(nodeInfo.word[0]); } - nodeInfo.weight = (buf.size() == DICT_COLUMN_NUM ? atoi(buf[1].c_str()) : defaultWeight); - nodeInfo.tag = (buf.size() == DICT_COLUMN_NUM ? buf[2] : defaultTag); + nodeInfo.weight = defaultWeight; + nodeInfo.tag = (buf.size() == 2 ? buf[1] : defaultTag); _nodeInfos.push_back(nodeInfo); } LogInfo("load userdict[%s] ok. lines[%u]", filePath.c_str(), lineno);