Skip to content

分词 说明文档

冬日新雨 edited this page Mar 24, 2022 · 4 revisions

word 转 tag

jio.cws.word2tag

将分词数据由词汇列表格式转为适合模型处理的 tag 格式。

>>> import jionlp as jio
>>> word_list = ["他", "指出", ":", "近", "几", "年", "来", ",", "足球场", "风气", "差劲", "。"]
>>> print(jio.cws.word2tag(word_list))

# [['他', '指', '出', ':', '近', '几', '年', '来', ',', '足', '球', '场', '风', '气', '差', '劲', '。'],
#  ['B', 'B', 'I', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'I', 'I', 'B', 'I', 'B', 'I', 'B']]

  • 该函数仅针对单条样本数据进行处理,执行BI标注标准。

tag 转 word

jio.cws.tag2word

将分词数据由 tag 格式转为词汇列表格式。

>>> import jionlp as jio
>>> char_list = ['他', '指', '出', ':', '近', '几', '年', '来', ',', '足', '球', '场', '风', '气', '差', '劲', '。']
>>> tags = ['B', 'B', 'I', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'I', 'I', 'B', 'I', 'B', 'I', 'B']
>>> print(jio.cws.tag2word(char_list, tags))

# ["他", "指出", ":", "近", "几", "年", "来", ",", "足球场", "风气", "差劲", "。"]
  • 该函数执行BI标注标准。仅支持单条数据的处理。

统计 F1 值

jio.cws.f1

计算 分词 任务的 F1 值。

>>> import jionlp as jio
>>> gold_lists = [['B', 'I', 'I', 'B', 'I', 'B', 'B'], ['B', 'B', 'I', 'I']]
>>> pred_lists = [['B', 'B', 'I', 'B', 'I', 'B', 'I'], ['B', 'I', 'B', 'I']]
>>> precision, recall, average_f1 = jio.cws.f1(gold_lists, pred_lists)
>>> print(precision, recall, average_f1)

# 0.941, 0.934, 0.937
  • 该函数执行BI标注标准。

分词数据矫正-标准词典

jio.cws.CWSDCWithStandardWords

给定一条分词标注数据,依据标准的词汇库,调整分词标注数据。

>>> import jionlp as jio
>>> sample_list = [['学习', '区', '块链', '。'], ['没有', '条', '不紊', '地', '。']]
>>> words = ['区块链', '有条不紊']

>>> dc_with_standard_words = jio.cws.CWSDCWithStandardWords(words)
>>> for sample in sample_list:
>>> ... res = dc_with_standard_words(sample, verbose=True)
>>> ... print(res)

# ['学习', '区块链', '。']
# ['没', '有条不紊', '地', '。']

  • verbose(bool) 参数用于输出日志,方便开发者查阅词典修复数据的情况。
  • 此种方法是采用词典来调整分词数据,其基本条件为,标准词汇数据不可以具有前后歧义,例如:['女领导', '亲口', '交代', '工作', '业务'],标准词典为 ['代工', '振作'],则最后处理结果为 ['女领导', '亲口', '交', '代工', '作', '业务'],反而造成错误。