コード例 #1
0
ファイル: core.py プロジェクト: xliuqq/python-pinyin
def load_phrases_dict(phrases_dict, style='default'):
    """载入用户自定义的词语拼音库

    :param phrases_dict: 词语拼音库。比如: ``{u"阿爸": [[u"ā"], [u"bà"]]}``
    :param style: phrases_dict 参数值的拼音库风格. 支持 'default', 'tone2'
    :type phrases_dict: dict
    """
    if style == 'tone2':
        for k, value in phrases_dict.items():
            v = [list(map(tone2_to_tone, pys)) for pys in value]
            PHRASES_DICT[k] = v
    else:
        PHRASES_DICT.update(phrases_dict)

    mmseg.retrain(mmseg.seg)
コード例 #2
0
def retrain(seg_instance):
    """重新使用内置词典训练 seg_instance。

    比如在增加自定义词语信息后需要调用这个模块重新训练分词器

    :type seg_instance: Seg
    """
    seg_instance.train(PHRASES_DICT.keys())
コード例 #3
0
ファイル: mmseg.py プロジェクト: LeLiu/python-pinyin
def retrain(seg_instance):
    """重新使用内置词典训练 seg_instance。

    比如在增加自定义词语信息后需要调用这个模块重新训练分词器

    :type seg_instance: Seg
    """
    seg_instance.train(PHRASES_DICT.keys())
コード例 #4
0
ファイル: core.py プロジェクト: marcos0318/python-pinyin
def load_phrases_dict(phrases_dict, style='default'):
    """载入用户自定义的词语拼音库

    :param phrases_dict: 词语拼音库。比如: ``{u"阿爸": [[u"ā"], [u"bà"]]}``
    :param style: phrases_dict 参数值的拼音库风格. 支持 'default', 'tone2'
    :type phrases_dict: dict
    """
    if style == 'tone2':
        for k, value in phrases_dict.items():
            v = [
                list(map(_replace_tone2_style_dict_to_default, pys))
                for pys in value
            ]
            PHRASES_DICT[k] = v
    else:
        PHRASES_DICT.update(phrases_dict)

    mmseg.retrain(mmseg.seg)
コード例 #5
0
        :param word_s: 词语库列表
        :type word_s: iterable
        :return: None
        """
        for word in word_s:
            # 把词语的每个前缀更新到 prefix_set 中
            for index in range(len(word)):
                self._set.add(word[:index + 1])

    def __contains__(self, key):
        return key in self._set


p_set = PrefixSet()
p_set.train(PHRASES_DICT.keys())

#: 基于内置词库的最大正向匹配分词器。使用:
#:
#: .. code-block:: python
#:
#:     >>> from pypinyin.contrib.mmseg import seg
#:     >>> text = '你好,我是中国人,我爱我的祖国'
#:     >>> seg.cut(text)
#:     <generator object Seg.cut at 0x10b2df2b0>
#:     >>> list(seg.cut(text))
#:     ['你好', ',', '我', '是', '中国人', ',', '我', '爱',
#:      '我的', '祖', '国']
#:     >>> seg.train(['祖国', '我是'])
#:     >>> list(seg.cut(text))
#:     ['你好', ',', '我是', '中国人', ',', '我', '爱',
コード例 #6
0
ファイル: mmseg.py プロジェクト: LeLiu/python-pinyin
        :param word_s: 词语库列表
        :type word_s: iterable
        :return: None
        """
        for word in word_s:
            # 把词语的每个前缀更新到 prefix_set 中
            for index in range(len(word)):
                self._set.add(word[:index + 1])

    def __contains__(self, key):
        return key in self._set


p_set = PrefixSet()
p_set.train(PHRASES_DICT.keys())

#: 基于内置词库的最大正向匹配分词器。使用::
#:
#:    >>> from pypinyin.contrib.mmseg import seg
#:    >>> text = '你好,我是中国人,我爱我的祖国'
#:    >>> seg.cut(text)
#:    <generator object Seg.cut at 0x10b2df2b0>
#:    >>> list(seg.cut(text))
#:    ['你好', ',', '我', '是', '中国人', ',', '我', '爱',
#:     '我的', '祖', '国']
#:    >>> seg.train(['祖国', '我是'])
#:    >>> list(seg.cut(text))
#:    ['你好', ',', '我是', '中国人', ',', '我', '爱',
#:     '我的', '祖国']
#:    >>>