Documentation
¶
Index ¶
- Constants
- Variables
- func Trim()
- type Jieba
- func (x *Jieba) AddWord(s string)
- func (x *Jieba) AddWordEx(s string, freq int, tag string)
- func (x *Jieba) Cut(s string, hmm bool) []string
- func (x *Jieba) CutAll(s string) []string
- func (x *Jieba) CutForSearch(s string, hmm bool) []string
- func (x *Jieba) Extract(s string, topk int) []string
- func (x *Jieba) ExtractWithWeight(s string, topk int) []WordWeight
- func (x *Jieba) ExtractWithWeightAndTempWords(s string, topk int, temporary []TemporaryWord) []WordWeight
- func (x *Jieba) Free()
- func (x *Jieba) FreeWithTrim()deprecated
- func (x *Jieba) RemoveWord(s string)
- func (x *Jieba) ResetSeparators(separators string)
- func (x *Jieba) SuggestFrequency(word string) int
- func (x *Jieba) Tag(s string) []string
- func (x *Jieba) Tokenize(s string, mode TokenizeMode, hmm bool) []Word
- func (x *Jieba) WithTrim() *Jiebadeprecated
- type TemporaryWord
- type TokenizeMode
- type Word
- type WordWeight
Examples ¶
Constants ¶
const TOTAL_DICT_PATH_NUMBER = 5
Variables ¶
Functions ¶
Types ¶
type Jieba ¶
type Jieba struct {
// contains filtered or unexported fields
}
Example ¶
var s string
var words []string
use_hmm := true
// equals with x := NewJieba(DICT_PATH, HMM_PATH, USER_DICT_PATH)
x := NewJieba()
defer x.Free()
s = "我来到北京清华大学"
words = x.CutAll(s)
fmt.Println(s)
fmt.Println("全模式:", strings.Join(words, "/"))
words = x.Cut(s, use_hmm)
fmt.Println(s)
fmt.Println("精确模式:", strings.Join(words, "/"))
s = "比特币"
words = x.Cut(s, use_hmm)
fmt.Println(s)
fmt.Println("精确模式:", strings.Join(words, "/"))
x.AddWord("比特币")
s = "比特币"
words = x.Cut(s, use_hmm)
fmt.Println(s)
fmt.Println("添加词典后,精确模式:", strings.Join(words, "/"))
x.AddWord("这是一个很长的关键字")
s = "这是一个很长的关键字"
words = x.Extract(s, 3)
fmt.Println(s)
fmt.Println("添加词典后,Extract:", strings.Join(words, "/"))
x.RemoveWord("这是一个很长的关键字")
s = "这是一个很长的关键字"
words = x.Extract(s, 3)
fmt.Println(s)
fmt.Println("从词典删除后,Extract:", strings.Join(words, "/"))
s = "他来到了网易杭研大厦"
words = x.Cut(s, use_hmm)
fmt.Println(s)
fmt.Println("新词识别:", strings.Join(words, "/"))
s = "小明硕士毕业于中国科学院计算所,后在日本京都大学深造"
words = x.CutForSearch(s, use_hmm)
fmt.Println(s)
fmt.Println("搜索引擎模式:", strings.Join(words, "/"))
s = "长春市长春药店"
words = x.Tag(s)
fmt.Println(s)
fmt.Println("词性标注:", strings.Join(words, ","))
s = "区块链"
words = x.Tag(s)
fmt.Println(s)
fmt.Println("词性标注:", strings.Join(words, ","))
s = "长江大桥"
words = x.CutForSearch(s, !use_hmm)
fmt.Println(s)
fmt.Println("搜索引擎模式:", strings.Join(words, "/"))
wordinfos := x.Tokenize(s, SearchMode, !use_hmm)
fmt.Println(s)
fmt.Println("Tokenize:", wordinfos)
Output: 我来到北京清华大学 全模式: 我/来到/北京/清华/清华大学/华大/大学 我来到北京清华大学 精确模式: 我/来到/北京/清华大学 比特币 精确模式: 比特/币 比特币 添加词典后,精确模式: 比特币 这是一个很长的关键字 添加词典后,Extract: 这是一个很长的关键字 这是一个很长的关键字 从词典删除后,Extract: 关键字/很长/这是 他来到了网易杭研大厦 新词识别: 他/来到/了/网易/杭研/大厦 小明硕士毕业于中国科学院计算所,后在日本京都大学深造 搜索引擎模式: 小明/硕士/毕业/于/中国/科学/学院/科学院/中国科学院/计算/计算所/,/后/在/日本/京都/大学/日本京都大学/深造 长春市长春药店 词性标注: 长春市/ns,长春/ns,药店/n 区块链 词性标注: 区块链/nz 长江大桥 搜索引擎模式: 长江/大桥/长江大桥 长江大桥 Tokenize: [{长江 0 6} {大桥 6 12} {长江大桥 0 12}]
func (*Jieba) Extract ¶
Example ¶
x := NewJieba()
defer x.Free()
s := "我是拖拉机学院手扶拖拉机专业的。不用多久,我就会升职加薪,当上CEO,走上人生巅峰。"
words := x.Extract(s, 5)
fmt.Println(s)
fmt.Println("关键词抽取:", strings.Join(words, "/"))
word_weights := x.ExtractWithWeight(s, 5)
fmt.Println("关键词抽取:", word_weights)
x.AddWord("人生巅峰")
words = x.Extract(s, 5)
fmt.Println("AddWord后关键词抽取:", strings.Join(words, "/"))
x.RemoveWord("人生巅峰")
words = x.Extract(s, 5)
fmt.Println("RemoveWord后关键词抽取:", strings.Join(words, "/"))
Output: 我是拖拉机学院手扶拖拉机专业的。不用多久,我就会升职加薪,当上CEO,走上人生巅峰。 关键词抽取: CEO/升职/加薪/手扶拖拉机/巅峰 关键词抽取: [{CEO 11.739204307083542} {升职 10.8561552143} {加薪 10.642581114} {手扶拖拉机 10.0088573539} {巅峰 9.49395840471}] AddWord后关键词抽取: CEO/人生巅峰/升职/加薪/手扶拖拉机 RemoveWord后关键词抽取: CEO/升职/加薪/手扶拖拉机/巅峰
func (*Jieba) ExtractWithWeight ¶
func (x *Jieba) ExtractWithWeight(s string, topk int) []WordWeight
func (*Jieba) ExtractWithWeightAndTempWords ¶ added in v0.0.2
func (x *Jieba) ExtractWithWeightAndTempWords(s string, topk int, temporary []TemporaryWord) []WordWeight
ExtractWithWeightAndTempWords applies temporary dictionary words only for this extraction call. The underlying trie is restored before the function returns, including when a temporary word overrides an existing word. Callers must still serialize access to the Jieba instance.
func (*Jieba) FreeWithTrim
deprecated
func (x *Jieba) FreeWithTrim()
Deprecated: Use Free() instead. Free() now calls Trim() automatically.
func (*Jieba) RemoveWord ¶
func (*Jieba) ResetSeparators ¶
ResetSeparators configures the characters that force segmentation boundaries. It applies to Cut, CutForSearch, Tag and keyword extraction. For example, pass "\\t\\n,。" to permit a user dictionary word to contain ASCII spaces while keeping tabs, newlines, Chinese commas and full stops as boundaries.
func (*Jieba) SuggestFrequency ¶ added in v0.0.2
SuggestFrequency returns the minimum trie frequency that makes word compete with its current HMM-disabled segmentation, following jieba.suggest_freq's probability calculation. Business callers may round it up further.
type TemporaryWord ¶ added in v0.0.2
type WordWeight ¶
Directories
¶
| Path | Synopsis |
|---|---|
|
deps
|
|
|
cppjieba/dict
Package dict contains the bundled cppjieba dictionaries.
|
Package dict contains the bundled cppjieba dictionaries. |
|
cppjieba/dict/pos_dict
Package pos_dict contains the bundled POS dictionaries.
|
Package pos_dict contains the bundled POS dictionaries. |
|
cppjieba/include/cppjieba
Package cppjieba contains the bundled C++ headers.
|
Package cppjieba contains the bundled C++ headers. |