mirror of
https://github.com/yanyiwu/cppjieba.git
synced 2025-07-18 00:00:12 +08:00
modify cmakelists.txt for gbk encoding
This commit is contained in:
parent
b1a71f0495
commit
d82ac83a8a
@ -1,7 +1,9 @@
|
||||
PROJECT(CPPJIEBA)
|
||||
SET(CMAKE_INSTALL_PREFIX /usr)
|
||||
ADD_DEFINITIONS(-std=c++0x -O3)
|
||||
#ADD_DEFINITIONS(-DCPPJIEBA_GBK)
|
||||
IF (DEFINED ENC)
|
||||
ADD_DEFINITIONS(-DCPPJIEBA_${ENC})
|
||||
ENDIF()
|
||||
ADD_SUBDIRECTORY(src)
|
||||
ADD_SUBDIRECTORY(dicts)
|
||||
ADD_SUBDIRECTORY(scripts)
|
||||
|
11
README.md
11
README.md
@ -8,9 +8,6 @@
|
||||
|
||||
现在支持utf8,gbk编码的分词。
|
||||
|
||||
- `master`分支支持`utf8`编码
|
||||
- `gbk`分支支持`gbk`编码
|
||||
|
||||
## 安装与使用
|
||||
|
||||
### 下载和安装
|
||||
@ -22,6 +19,8 @@ cd cppjieba-master
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
# 默认是utf8编码,如果要使用gbk编码则使用下句cmake命令
|
||||
# cmake .. -DENC=GBK
|
||||
make
|
||||
sudo make install
|
||||
```
|
||||
@ -122,14 +121,14 @@ Output:
|
||||
核心目录,包含主要源代码。
|
||||
|
||||
#### Trie树
|
||||
Trie.cpp/Trie.h 负责载入词典的trie树,主要供Segment模块使用。
|
||||
Trie.hpp 负责载入词典的trie树,主要供Segment模块使用。
|
||||
|
||||
#### Segment模块
|
||||
|
||||
MPSegment.cpp/MPSegment.h
|
||||
MPSegment.hpp
|
||||
(Maximum Probability)最大概率法:负责根据Trie树构建有向无环图和进行动态规划算法,是分词算法的核心。
|
||||
|
||||
HMMSegment.cpp/HMMSegment.h
|
||||
HMMSegment.hpp
|
||||
是根据HMM模型来进行分词,主要算法思路是根据(B,E,M,S)四个状态来代表每个字的隐藏状态。
|
||||
HMM模型由dicts/下面的`hmm_model.utf8`提供。
|
||||
分词算法即viterbi算法。
|
||||
|
@ -6,7 +6,7 @@
|
||||
namespace CppJieba
|
||||
{
|
||||
|
||||
enum CHAR_TYPE { CHWORD = 0, DIGIT_OR_LETTER = 1, OTHERS = 2};
|
||||
enum CHAR_TYPE { CHWORD = 0, DIGIT_OR_LETTER = 1};
|
||||
typedef Unicode::const_iterator UniConIter;
|
||||
class ChineseFilter;
|
||||
class ChFilterIterator
|
||||
@ -55,11 +55,7 @@ namespace CppJieba
|
||||
{
|
||||
return DIGIT_OR_LETTER;
|
||||
}
|
||||
if(x >= 0x4e00 && x <= 0x9fff)
|
||||
{
|
||||
return CHWORD;
|
||||
}
|
||||
return OTHERS;
|
||||
return CHWORD;
|
||||
}
|
||||
ChFilterIterator _get(UniConIter iter)
|
||||
{
|
||||
@ -67,7 +63,7 @@ namespace CppJieba
|
||||
const UniConIter& _end = ptUnico->end();
|
||||
if(iter == _end)
|
||||
{
|
||||
return ChFilterIterator(ptUnico, end, end, OTHERS);
|
||||
return ChFilterIterator(ptUnico, end, end, DIGIT_OR_LETTER);
|
||||
}
|
||||
CHAR_TYPE charType = _charType(*iter);
|
||||
iter ++;
|
||||
@ -99,7 +95,7 @@ namespace CppJieba
|
||||
}
|
||||
iterator end()
|
||||
{
|
||||
return iterator(&_unico, _unico.end(), _unico.end(), OTHERS);
|
||||
return iterator(&_unico, _unico.end(), _unico.end(), DIGIT_OR_LETTER);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user