• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

token.go

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
package sego

// 字串类型,可以用来表达
//    1. 一个字元,比如"中"又如"国", 英文的一个字元是一个词
//    2. 一个分词,比如"中国"又如"人口"
//    3. 一段文字,比如"中国有十三亿人口"
type Text []byte

// 一个分词
type Token struct {
    // 分词的字串,这实际上是个字元数组
    text []Text

    // 分词在语料库中的词频
    frequency int

    // log2(总词频/该分词词频),这相当于log2(1/p(分词)),用作动态规划中
    // 该分词的路径长度。求解prod(p(分词))的最大值相当于求解
    // sum(distance(分词))的最小值,这就是“最短路径”的来历。
    distance float32

    // 词性标注
    pos string

    // 该分词文本的进一步分词划分,见Segments函数注释。
    segments []*Segment
}

// 返回分词文本
func (token *Token) Text() string {
    return textSliceToString(token.text)
}

// 返回分词在语料库中的词频
func (token *Token) Frequency() int {
    return token.frequency
}

// 返回分词词性标注
func (token *Token) Pos() string {
    return token.pos
}

// 该分词文本的进一步分词划分,比如"中华人民共和国中央人民政府"这个分词
// 有两个子分词"中华人民共和国"和"中央人民政府"。子分词也可以进一步有子分词
// 形成一个树结构,遍历这个树就可以得到该分词的所有细致分词划分,这主要
// 用于搜索引擎对一段文本进行全文搜索。
func (token *Token) Segments() []*Segment {
    return token.segments
}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap