jieba库:POSTokenizer类cut()方法详解

2021SC@SDUSC


cut方法

    def cut(self, sentence, HMM=True):
        for w in self.__cut_internal(sentence, HMM=HMM):
            yield w

看到__cut_internal(sentence,HMM=True)

    def __cut_internal(self, sentence, HMM=True):
        # 加载用户自定义词典到默认词典
        self.makesure_userdict_loaded()
        sentence = strdecode(sentence)
        # 拆分语料
        blocks = re_han_internal.split(sentence)
        # 使用HMM模型的最大概率路径寻找
        if HMM:
            cut_blk = self.__cut_DAG
        # 不使用HMM模型
        else:
            cut_blk = self.__cut_DAG_NO_HMM

        for blk in blocks:
            if re_han_internal.match(blk):
                # 将符合匹配的blk使用cut_blk寻找最大概率路径
                for word in cut_blk(blk):
                    yield word
            else:
                # 对于不匹配的部分,再次拆分
                tmp = re_skip_internal.split(blk)
                for x in tmp:
                    # 再次匹配
                    if re_skip_internal.match(x):
                        # 符合匹配的返回pair对象,词汇为x,词性为’x'
                        yield pair(x, 'x')
                    else:
                        # 还不符合匹配
                        for xx in x:
                            # 匹配数字
                            if re_num.match(xx):
                                yield pair(xx, 'm')
                            # 匹配字母
                            elif re_eng.match(x):
                                yield pair(xx, 'eng')
                            # 都匹配不到
                            else:
                                yield pair(xx, 'x')

pair类:

class pair(object):

    def __init__(self, word, flag):
        self.word = word
        self.flag = flag

makesure_userdict_loaded()

    # 如果用户自定义词典加载了,就把加载的词典更新到word_tag_tab中
    def makesure_userdict_loaded(self):
        if self.tokenizer.user_word_tag_tab:
            self.word_tag_tab.update(self.tokenizer.user_word_tag_tab)
            self.tokenizer.user_word_tag_tab = {}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cocos Creator是一个功能强大的游戏开发引擎,它允许开发者创建各种型的游戏,包括街霸游戏。但是,Cocos Creator本身并不提供街霸游戏的源码,开发者需要自己设计和编写游戏的逻辑、界面以及各种游戏元素。 要创建一个街霸游戏,首先需要进行角色的设计和动画制作。可以使用Cocos Creator内置的动画编辑器来创建和编辑角色的动画效果。然后,开发者需要设计游戏场景,包括背景、道路、建筑等等,可以使用Cocos Creator提供的场景编辑器进行创建和布置。 在街霸游戏中,角色之间的战斗是重要的内容。为了实现战斗机制,需要编写适当的代码来实现攻击、防御、技能等动作的触发和效果。开发者可以使用Cocos Creator的脚本编辑器来编写游戏逻辑脚本,实现战斗机制,并确保游戏的平衡性和可玩性。 此外,街霸游戏还可能包括多人对战模式,可以使用Cocos Creator的网络模块来实现多人对战功能。开发者还可以使用音效编辑工具来添加游戏音效,以提升游戏的体验和乐趣。 总体来说,创建一款街霸游戏需要进行多个方面的设计和开发工作,包括角色设计、动画制作、场景布置、战斗机制实现、网络功能等等。Cocos Creator作为游戏开发引擎,为开发者提供了一系列强大的功能和工具,可以帮助开发者创建出高质量、富有创意的街霸游戏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值