网站推广过程,公司邮箱满了怎么处理,公司服务器租用,微信名片制作小程序PaddleNLP Taskflow https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/model_zoo/taskflow.md#paddlenlp-taskflow
PaddleNLP Taskflow
PaddleNLP Taskflow 介绍 任务清单 用法 查看使用示例中文分词词性标注命名实体识别文本纠错句法分析情感分析文本相似度『解…PaddleNLP Taskflow https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/model_zoo/taskflow.md#paddlenlp-taskflow
PaddleNLP Taskflow
PaddleNLP Taskflow 介绍 任务清单 用法 查看使用示例中文分词词性标注命名实体识别文本纠错句法分析情感分析文本相似度『解语』-词类知识标注『解语』-名词短语标注生成式问答智能写诗开放域对话 自定义任务FAQ
介绍
paddlenlp.Taskflow提供开箱即用的NLP预置任务覆盖自然语言理解与自然语言生成两大核心应用在中文场景上提供产业级的效果与极致的预测性能。
任务清单
自然语言理解任务自然语言生成任务中文分词生成式问答词性标注智能写诗命名实体识别开放域对话文本纠错文本翻译(TODO)句法分析自动对联(TODO)情感分析文本相似度『解语』-词类知识标注『解语』-名词短语标注
随着版本迭代会持续开放更多的应用场景。
安装
环境依赖
python 3.6paddlepaddle 2.2.0paddlenlp 2.2.0
用法
查看使用示例
from paddlenlp import Taskflowseg Taskflow(word_segmentation)
seg.help()Examples:from paddlenlp import Taskflowseg Taskflow(word_segmentation)seg(第十四届全运会在西安举办)[第十四届, 全运会, 在, 西安, 举办]seg([第十四届全运会在西安举办, 三亚是一个美丽的城市])[[第十四届, 全运会, 在, 西安, 举办], [三亚, 是, 一个, 美丽, 的, 城市]]中文分词 支持三种模式分词 Base模式默认 from paddlenlp import Taskflowseg Taskflow(word_segmentation)
seg(第十四届全运会在西安举办)[第十四届, 全运会, 在, 西安, 举办]seg([第十四届全运会在西安举办, 三亚是一个美丽的城市])[[第十四届, 全运会, 在, 西安, 举办], [三亚, 是, 一个, 美丽, 的, 城市]]快速模式 利用『结巴』中文分词工具实现文本快速切分。 from paddlenlp import Taskflowseg Taskflow(word_segmentation, modefast)
seg(第十四届全运会在西安举办)[第十四届, 全运会, 在, 西安, 举办]精确模式 试图将句子中的实体词完整切分分词精确度高。 seg Taskflow(word_segmentation, modeaccurate)
seg(李伟拿出具有科学性、可操作性的《陕西省高校管理体制改革实施方案》)[李伟, 拿出, 具有, 科学性, 、, 可操作性, 的, 《, 陕西省高校管理体制改革实施方案, 》]自定义词典 快速模式词典载入方式 用户可以在词典文件每一行有两个部分词语、词频可省略用空格隔开。词频省略则自动计算能保证分出该词的词频。 词典文件user_dict.txt示例 新冠肺炎 8
国家卫健委国家卫健委修订完成了新冠肺炎诊疗方案原本的输出结果为 [国家, 卫健委, 修订, 完成, 了, 新冠, 肺炎, 诊疗, 方案]装载自定义词典及输出结果示例 from paddlenlp import Taskflowmy_seg Taskflow(word_segmentation, modefast, user_dictuser_dict.txt)
my_seg(国家卫健委修订完成了新冠肺炎诊疗方案)[国家卫健委, 修订, 完成, 了, 新冠肺炎, 诊疗, 方案]Base、精确模式词典载入方式 词典文件每一行表示一个自定义item。 词典文件user_dict.txt示例 平原上的火焰
年 末以默认模型为例平原上的火焰计划于年末上映原本的输出结果为 [平原, 上, 的, 火焰, 计划, 于, 年末, 上映]装载自定义词典及输出结果示例 from paddlenlp import Taskflowmy_seg Taskflow(word_segmentation, user_dictuser_dict.txt)
my_seg(平原上的火焰计划于年末上映)[平原上的火焰, 计划, 于, 年, 末, 上映]可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。user_dict用户自定义词典文件默认为None。task_path自定义任务路径默认为None。
词性标注
from paddlenlp import Taskflowtag Taskflow(pos_tagging)
tag(第十四届全运会在西安举办)
[(第十四届, m), (全运会, nz), (在, p), (西安, LOC), (举办, v)]tag([第十四届全运会在西安举办, 三亚是一个美丽的城市])[[(第十四届, m), (全运会, nz), (在, p), (西安, LOC), (举办, v)], [(三亚, LOC), (是, v), (一个, m), (美丽, a), (的, u), (城市, n)]]标签集合
标签含义标签含义标签含义标签含义n普通名词f方位名词s处所名词t时间nr人名ns地名nt机构名nw作品名nz其他专名v普通动词vd动副词vn名动词a形容词ad副形词an名形词d副词m数量词q量词r代词p介词c连词u助词xc其他虚词w标点符号PER人名LOC地名ORG机构名TIME时间自定义词典 用户可以通过装载自定义词典来定制化分词和词性标注结果。词典文件每一行表示一个自定义item可以由一个单词或者多个单词组成单词后面可以添加自定义标签格式为item/tag如果不添加自定义标签则使用模型默认标签。 词典文件user_dict.txt示例 赛里木湖/LAKE
高/a 山/n
海拔最高
湖 泊以赛里木湖是新疆海拔最高的高山湖泊为例原本的输出结果为 [(赛里木湖, LOC), (是, v), (新疆, LOC), (海拔, n), (最高, a), (的, u), (高山, n), (湖泊, n)]装载自定义词典及输出结果示例 from paddlenlp import Taskflowmy_tag Taskflow(pos_tagging, user_dictuser_dict.txt)
my_tag(赛里木湖是新疆海拔最高的高山湖泊)[(赛里木湖, LAKE), (是, v), (新疆, LOC), (海拔最高, n), (的, u), (高, a), (山, n), (湖, n), (泊, n)]可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。user_dict用户自定义词典文件默认为None。task_path自定义任务路径默认为None。
命名实体识别 支持两种模式 快速模式 from paddlenlp import Taskflowner Taskflow(ner, modefast)
ner(三亚是一个美丽的城市)[(三亚, LOC), (是, v), (一个, m), (美丽, a), (的, u), (城市, n)]精确模式默认 from paddlenlp import Taskflowner Taskflow(ner)
ner(《孤女》是2010年九州出版社出版的小说作者是余兼羽)[(《, w), (孤女, 作品类_实体), (》, w), (是, 肯定词), (2010年, 时间类), (九州出版社, 组织机构类), (出版, 场景事件), (的, 助词), (小说, 作品类_概念), (, w), (作者, 人物类_概念), (是, 肯定词), (余兼羽, 人物类_实体)]ner([热梅茶是一道以梅子为主要原料制作的茶饮, 《孤女》是2010年九州出版社出版的小说作者是余兼羽])[[(热梅茶, 饮食类_饮品), (是, 肯定词), (一道, 数量词), (以, 介词), (梅子, 饮食类), (为, 肯定词), (主要原料, 物体类), (制作, 场景事件), (的, 助词), (茶饮, 饮食类_饮品)], [(《, w), (孤女, 作品类_实体), (》, w), (是, 肯定词), (2010年, 时间类), (九州出版社, 组织机构类), (出版, 场景事件), (的, 助词), (小说, 作品类_概念), (, w), (作者, 人物类_概念), (是, 肯定词), (余兼羽, 人物类_实体)]]只返回实体/概念词
from paddlenlp import Taskflowner Taskflow(ner, modeaccurate, entity_onlyTrue)
ner(《孤女》是2010年九州出版社出版的小说作者是余兼羽)[(孤女, 作品类_实体), (2010年, 时间类), (九州出版社, 组织机构类), (出版, 场景事件), (小说, 作品类_概念), (作者, 人物类_概念), (余兼羽, 人物类_实体)]自定义词典 用户可以通过装载自定义词典来定制化分词和词性标注结果。词典文件每一行表示一个自定义item可以由一个单词或者多个单词组成单词后面可以添加自定义标签格式为item/tag如果不添加自定义标签则使用模型默认标签。 词典文件user_dict.txt示例 长津湖/电影类_实体
收/词汇用语 尾/术语类
最 大
海外票仓以《长津湖》收尾北美是最大海外票仓为例原本的输出结果为 [(《, w), (长津湖, 作品类_实体), (》, w), (收尾, 场景事件), (, w), (北美, 世界地区类), (是, 肯定词), (最大, 修饰词), (海外, 场所类), (票仓, 词汇用语)]装载自定义词典及输出结果示例 from paddlenlp import Taskflowmy_ner Taskflow(ner, user_dictuser_dict.txt)
my_ner(《长津湖》收尾北美是最大海外票仓)[(《, w), (长津湖, 电影类_实体), (》, w), (收, 词汇用语), (尾, 术语类), (, w), (北美, 世界地区类), (是, 肯定词), (最, 修饰词), (大, 修饰词), (海外票仓, 场所类)]可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。user_dict用户自定义词典文件默认为None。task_path自定义任务路径默认为None。entity_only是否返回所有词性标签若设置为True则只返回实体/概念词默认为False。
文本纠错
from paddlenlp import Taskflowcorrector Taskflow(text_correction)
corrector(遇到逆竟时我们必须勇于面对而且要愈挫愈勇这样我们才能朝著成功之路前进。)[{source: 遇到逆竟时我们必须勇于面对而且要愈挫愈勇这样我们才能朝著成功之路前进。, target: 遇到逆境时我们必须勇于面对而且要愈挫愈勇这样我们才能朝著成功之路前进。, errors: [{position: 3, correction: {竟: 境}}]}]corrector([遇到逆竟时我们必须勇于面对而且要愈挫愈勇这样我们才能朝著成功之路前进。,人生就是如此经过磨练才能让自己更加拙壮才能使自己更加乐观。])[{source: 遇到逆竟时我们必须勇于面对而且要愈挫愈勇这样我们才能朝著成功之路前进。, target: 遇到逆境时我们必须勇于面对而且要愈挫愈勇这样我们才能朝著成功之路前进。, errors: [{position: 3, correction: {竟: 境}}]}, {source: 人生就是如此经过磨练才能让自己更加拙壮才能使自己更加乐观。, target: 人生就是如此经过磨练才能让自己更加茁壮才能使自己更加乐观。, errors: [{position: 18, correction: {拙: 茁}}]}]可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。task_path自定义任务路径默认为None。
句法分析
from paddlenlp import Taskflowddp Taskflow(dependency_parsing)
ddp(9月9日上午纳达尔在亚瑟·阿什球场击败俄罗斯球员梅德韦杰夫)[{word: [9月9日, 上午, 纳达尔, 在, 亚瑟·阿什球场, 击败, 俄罗斯, 球员, 梅德韦杰夫], head: [2, 6, 6, 5, 6, 0, 8, 9, 6], deprel: [ATT, ADV, SBV, MT, ADV, HED, ATT, ATT, VOB]}]ddp([9月9日上午纳达尔在亚瑟·阿什球场击败俄罗斯球员梅德韦杰夫, 他送了一本书])[{word: [9月9日, 上午, 纳达尔, 在, 亚瑟·阿什球场, 击败, 俄罗斯, 球员, 梅德韦杰夫], head: [2, 6, 6, 5, 6, 0, 8, 9, 6], deprel: [ATT, ADV, SBV, MT, ADV, HED, ATT, ATT, VOB]}, {word: [他, 送, 了, 一本, 书], head: [2, 0, 2, 5, 2], deprel: [SBV, HED, MT, ATT, VOB]}]输出概率值和词性标签:
ddp Taskflow(dependency_parsing, probTrue, use_posTrue)
ddp(9月9日上午纳达尔在亚瑟·阿什球场击败俄罗斯球员梅德韦杰夫)[{word: [9月9日, 上午, 纳达尔, 在, 亚瑟·阿什, 球场, 击败, 俄罗斯, 球员, 梅德韦杰夫], head: [2, 7, 7, 6, 6, 7, 0, 9, 10, 7], deprel: [ATT, ADV, SBV, MT, ATT, ADV, HED, ATT, ATT, VOB], postag: [TIME, TIME, PER, p, PER, n, v, LOC, n, PER], prob: [0.79, 0.98, 1.0, 0.49, 0.97, 0.86, 1.0, 0.85, 0.97, 0.99]}]使用ddparser-ernie-1.0进行预测:
ddp Taskflow(dependency_parsing, modelddparser-ernie-1.0)
ddp(9月9日上午纳达尔在亚瑟·阿什球场击败俄罗斯球员梅德韦杰夫)[{word: [9月9日, 上午, 纳达尔, 在, 亚瑟·阿什球场, 击败, 俄罗斯, 球员, 梅德韦杰夫], head: [2, 6, 6, 5, 6, 0, 8, 9, 6], deprel: [ATT, ADV, SBV, MT, ADV, HED, ATT, ATT, VOB]}]使用分词结果来输入:
ddp Taskflow(dependency_parsing)
ddp.from_segments([[9月9日, 上午, 纳达尔, 在, 亚瑟·阿什球场, 击败, 俄罗斯, 球员, 梅德韦杰夫]])[{word: [9月9日, 上午, 纳达尔, 在, 亚瑟·阿什球场, 击败, 俄罗斯, 球员, 梅德韦杰夫], head: [2, 6, 6, 5, 6, 0, 8, 9, 6], deprel: [ATT, ADV, SBV, MT, ADV, HED, ATT, ATT, VOB]}]依存关系可视化
from paddlenlp import Taskflowddp Taskflow(dependency_parsing, return_visualTrue)
result ddp(9月9日上午纳达尔在亚瑟·阿什球场击败俄罗斯球员梅德韦杰夫)[0][visual]
import cv2
cv2.imwrite(test.png, result)标注关系说明
Label关系类型说明示例SBV主谓关系主语与谓词间的关系他送了一本书(他–送)VOB动宾关系宾语与谓词间的关系他送了一本书(送–书)POB介宾关系介词与宾语间的关系我把书卖了把–书ADV状中关系状语与中心词间的关系我昨天买书了昨天–买CMP动补关系补语与中心词间的关系我都吃完了吃–完ATT定中关系定语与中心词间的关系他送了一本书(一本–书)F方位关系方位词与中心词的关系在公园里玩耍(公园–里)COO并列关系同类型词语间关系叔叔阿姨(叔叔–阿姨)DBL兼语结构主谓短语做宾语的结构他请我吃饭(请–我请–吃饭)DOB双宾语结构谓语后出现两个宾语他送我一本书(送–我送–书)VV连谓结构同主语的多个谓词间关系他外出吃饭(外出–吃饭)IC子句结构两个结构独立或关联的单句你好书店怎么走(你好–走)MT虚词成分虚词与中心词间的关系他送了一本书(送–了)HED核心关系指整个句子的核心
可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。model选择任务使用的模型可选有ddparserddparser-ernie-1.0和ddparser-ernie-gram-zh。tree确保输出结果是正确的依存句法树默认为True。prob是否输出每个弧对应的概率值默认为False。use_pos是否返回词性标签默认为False。use_cuda是否使用GPU进行切词默认为False。return_visual是否返回句法树的可视化结果默认为False。task_path自定义任务路径默认为None。
情感分析
使用BiLSTM模型
from paddlenlp import Taskflowsenta Taskflow(sentiment_analysis)
senta(这个产品用起来真的很流畅我非常喜欢)[{text: 这个产品用起来真的很流畅我非常喜欢, label: positive, score: 0.9938690066337585}]senta([这个产品用起来真的很流畅我非常喜欢, 作为老的四星酒店房间依然很整洁相当不错。机场接机服务很好可以在车上办理入住手续节省时间])[{text: 这个产品用起来真的很流畅我非常喜欢, label: positive, score: 0.9938690066337585}, {text: 作为老的四星酒店房间依然很整洁相当不错。机场接机服务很好可以在车上办理入住手续节省时间, label: positive, score: 0.985750675201416}]使用SKEP情感分析预训练模型进行预测
senta Taskflow(sentiment_analysis, modelskep_ernie_1.0_large_ch)
senta(作为老的四星酒店房间依然很整洁相当不错。机场接机服务很好可以在车上办理入住手续节省时间。)[{text: 作为老的四星酒店房间依然很整洁相当不错。机场接机服务很好可以在车上办理入住手续节省时间。, label: positive, score: 0.984320878982544}]可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。model选择任务使用的模型可选有bilstm和skep_ernie_1.0_large_ch。task_path自定义任务路径默认为None。
文本相似度
from paddlenlp import Taskflowsimilarity Taskflow(text_similarity)
similarity([[世界上什么东西最小, 世界上什么东西最小]])[{text1: 世界上什么东西最小, text2: 世界上什么东西最小, similarity: 0.992725}]similarity([[光眼睛大就好看吗, 眼睛好看吗], [小蝌蚪找妈妈怎么样, 小蝌蚪找妈妈是谁画的]])[{text1: 光眼睛大就好看吗, text2: 眼睛好看吗, similarity: 0.74502707}, {text1: 小蝌蚪找妈妈怎么样, text2: 小蝌蚪找妈妈是谁画的, similarity: 0.8192149}]可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。max_seq_len最大序列长度默认为128。task_path自定义任务路径默认为None。
知识挖掘-词类知识标注
from paddlenlp import Taskflowwordtag Taskflow(knowledge_mining)
wordtag(《孤女》是2010年九州出版社出版的小说作者是余兼羽)[{text: 《孤女》是2010年九州出版社出版的小说作者是余兼羽, items: [{item: 《, offset: 0, wordtag_label: w, length: 1}, {item: 孤女, offset: 1, wordtag_label: 作品类_实体, length: 2}, {item: 》, offset: 3, wordtag_label: w, length: 1}, {item: 是, offset: 4, wordtag_label: 肯定词, length: 1, termid: 肯定否定词_cb_是}, {item: 2010年, offset: 5, wordtag_label: 时间类, length: 5, termid: 时间阶段_cb_2010年}, {item: 九州出版社, offset: 10, wordtag_label: 组织机构类, length: 5, termid: 组织机构_eb_九州出版社}, {item: 出版, offset: 15, wordtag_label: 场景事件, length: 2, termid: 场景事件_cb_出版}, {item: 的, offset: 17, wordtag_label: 助词, length: 1, termid: 助词_cb_的}, {item: 小说, offset: 18, wordtag_label: 作品类_概念, length: 2, termid: 小说_cb_小说}, {item: , offset: 20, wordtag_label: w, length: 1}, {item: 作者, offset: 21, wordtag_label: 人物类_概念, length: 2, termid: 人物_cb_作者}, {item: 是, offset: 23, wordtag_label: 肯定词, length: 1, termid: 肯定否定词_cb_是}, {item: 余兼羽, offset: 24, wordtag_label: 人物类_实体, length: 3}]}]wordtag([热梅茶是一道以梅子为主要原料制作的茶饮,《孤女》是2010年九州出版社出版的小说作者是余兼羽])[{text: 热梅茶是一道以梅子为主要原料制作的茶饮, items: [{item: 热梅茶, offset: 0, wordtag_label: 饮食类_饮品, length: 3}, {item: 是, offset: 3, wordtag_label: 肯定词, length: 1, termid: 肯定否定词_cb_是}, {item: 一道, offset: 4, wordtag_label: 数量词, length: 2}, {item: 以, offset: 6, wordtag_label: 介词, length: 1, termid: 介词_cb_以}, {item: 梅子, offset: 7, wordtag_label: 饮食类, length: 2, termid: 饮食_cb_梅}, {item: 为, offset: 9, wordtag_label: 肯定词, length: 1, termid: 肯定否定词_cb_为}, {item: 主要原料, offset: 10, wordtag_label: 物体类, length: 4, termid: 物品_cb_主要原料}, {item: 制作, offset: 14, wordtag_label: 场景事件, length: 2, termid: 场景事件_cb_制作}, {item: 的, offset: 16, wordtag_label: 助词, length: 1, termid: 助词_cb_的}, {item: 茶饮, offset: 17, wordtag_label: 饮食类_饮品, length: 2, termid: 饮品_cb_茶饮}]}, {text: 《孤女》是2010年九州出版社出版的小说作者是余兼羽, items: [{item: 《, offset: 0, wordtag_label: w, length: 1}, {item: 孤女, offset: 1, wordtag_label: 作品类_实体, length: 2}, {item: 》, offset: 3, wordtag_label: w, length: 1}, {item: 是, offset: 4, wordtag_label: 肯定词, length: 1, termid: 肯定否定词_cb_是}, {item: 2010年, offset: 5, wordtag_label: 时间类, length: 5, termid: 时间阶段_cb_2010年}, {item: 九州出版社, offset: 10, wordtag_label: 组织机构类, length: 5, termid: 组织机构_eb_九州出版社}, {item: 出版, offset: 15, wordtag_label: 场景事件, length: 2, termid: 场景事件_cb_出版}, {item: 的, offset: 17, wordtag_label: 助词, length: 1, termid: 助词_cb_的}, {item: 小说, offset: 18, wordtag_label: 作品类_概念, length: 2, termid: 小说_cb_小说}, {item: , offset: 20, wordtag_label: w, length: 1}, {item: 作者, offset: 21, wordtag_label: 人物类_概念, length: 2, termid: 人物_cb_作者}, {item: 是, offset: 23, wordtag_label: 肯定词, length: 1, termid: 肯定否定词_cb_是}, {item: 余兼羽, offset: 24, wordtag_label: 人物类_实体, length: 3}]}]标签集合
知识挖掘-词类知识标注任务共包含66种词性及专名类别标签标签集合如下表
WordTag标签集合 人物类_实体物体类生物类_动物医学术语类链接地址肯定词 人物类_概念物体类_兵器品牌名术语类_生物体个性特征否定词 作品类_实体物体类_化学物质场所类疾病损伤类感官特征数量词 作品类_概念其他角色类场所类_交通场所疾病损伤类_植物病虫害场景事件叹词 组织机构类文化类位置方位宇宙类介词拟声词 组织机构类_企事业单位文化类_语言文字世界地区类事件类介词_方位介词修饰词 组织机构类_医疗卫生机构文化类_奖项赛事活动饮食类时间类助词外语单词 组织机构类_国家机关文化类_制度政策协议饮食类_菜品时间类_特殊日代词英语单词 组织机构类_体育组织机构文化类_姓氏与人名饮食类_饮品术语类连词汉语拼音 组织机构类_教育组织机构生物类药物类术语类_符号指标类副词词汇用语 组织机构类_军事组织机构生物类_植物药物类_中药信息资料疑问词w(标点) 自定义词典 用户可以通过装载自定义词典来定制化分词和词性标注结果。词典文件每一行表示一个自定义item可以由一个单词或者多个单词组成单词后面可以添加自定义标签格式为item/tag如果不添加自定义标签则使用模型默认标签。 词典文件user_dict.txt示例 长津湖/电影类_实体
收/词汇用语 尾/术语类
最 大
海外票仓以《长津湖》收尾北美是最大海外票仓为例原本的输出结果为 [{text: 《长津湖》收尾北美是最大海外票仓, items: [{item: 《, offset: 0, wordtag_label: w, length: 1}, {item: 长津湖, offset: 1, wordtag_label: 作品类_实体, length: 3, termid: 影视作品_eb_长津湖}, {item: 》, offset: 4, wordtag_label: w, length: 1}, {item: 收尾, offset: 5, wordtag_label: 场景事件, length: 2, termid: 场景事件_cb_收尾}, {item: , offset: 7, wordtag_label: w, length: 1}, {item: 北美, offset: 8, wordtag_label: 世界地区类, length: 2, termid: 世界地区_cb_北美}, {item: 是, offset: 10, wordtag_label: 肯定词, length: 1, termid: 肯定否定词_cb_是}, {item: 最大, offset: 11, wordtag_label: 修饰词, length: 2, termid: 修饰词_cb_最大}, {item: 海外, offset: 13, wordtag_label: 场所类, length: 2, termid: 区域场所_cb_海外}, {item: 票仓, offset: 15, wordtag_label: 词汇用语, length: 2}]}]装载自定义词典及输出结果示例 from paddlenlp import Taskflowmy_wordtag Taskflow(knowledge_mining, user_dictuser_dict.txt)
my_wordtag(《长津湖》收尾北美是最大海外票仓)[{text: 《长津湖》收尾北美是最大海外票仓, items: [{item: 《, offset: 0, wordtag_label: w, length: 1}, {item: 长津湖, offset: 1, wordtag_label: 电影类_实体, length: 3}, {item: 》, offset: 4, wordtag_label: w, length: 1}, {item: 收, offset: 5, wordtag_label: 词汇用语, length: 1}, {item: 尾, offset: 6, wordtag_label: 术语类, length: 1, termid: 动物体构造_cb_动物尾巴}, {item: , offset: 7, wordtag_label: w, length: 1}, {item: 北美, offset: 8, wordtag_label: 世界地区类, length: 2, termid: 世界地区_cb_北美}, {item: 是, offset: 10, wordtag_label: 肯定词, length: 1, termid: 肯定否定词_cb_是}, {item: 最, offset: 11, wordtag_label: 修饰词, length: 1}, {item: 大, offset: 12, wordtag_label: 修饰词, length: 1, termid: 修饰词_cb_大}, {item: 海外票仓, offset: 13, wordtag_label: 场所类, length: 4}]}]可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。linking实现基于词类的linking默认为True。task_path自定义任务路径默认为None。user_dict用户自定义词典文件默认为None。
知识挖掘-名词短语标注
from paddlenlp import Taskflownptag Taskflow(knowledge_mining, modelnptag)
nptag(糖醋排骨)[{text: 糖醋排骨, label: 菜品}]nptag([糖醋排骨, 红曲霉菌])[{text: 糖醋排骨, label: 菜品}, {text: 红曲霉菌, label: 微生物}]# 使用linking输出粗粒度类别标签category即WordTag的词汇标签。
nptag Taskflow(knowledge_mining, modelnptag, linkingTrue)
nptag([糖醋排骨, 红曲霉菌])[{text: 糖醋排骨, label: 菜品, category: 饮食类_菜品}, {text: 红曲霉菌, label: 微生物, category: 生物类_微生物}]可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。max_seq_len最大序列长度默认为64。linking实现与WordTag类别标签的linking默认为False。task_path自定义任务路径默认为None。
生成式问答
from paddlenlp import Taskflowqa Taskflow(question_answering)
qa(中国的国土面积有多大)[{text: 中国的国土面积有多大, answer: 960万平方公里。}]qa([中国国土面积有多大, 中国的首都在哪里])[{text: 中国国土面积有多大, answer: 960万平方公里。}, {text: 中国的首都在哪里, answer: 北京。}]可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。
智能写诗
from paddlenlp import Taskflowpoetry Taskflow(poetry_generation)
poetry(林密不见人)[{text: 林密不见人, answer: ,但闻人语响。}]poetry([林密不见人, 举头邀明月])[{text: 林密不见人, answer: ,但闻人语响。}, {text: 举头邀明月, answer: ,低头思故乡。}]可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。
开放域对话 支持两种模式 非交互模式 from paddlenlp import Taskflowdialogue Taskflow(dialogue)
dialogue([吃饭了吗])[刚吃完饭,你在干什么呢?]dialogue([你好, 吃饭了吗], [你是谁])[吃过了,你呢, 我是李明啊]交互模式 交互模式下Taskflow具备多轮对话记忆功能。 from paddlenlp import Taskflowdialogue Taskflow(dialogue)
# 输入exit可退出交互模式
dialogue.interactive_mode(max_turn3)
[Human]:你好
[Bot]:你好,很高兴认识你,我想问你一下,你喜欢运动吗?
[Human]:喜欢
[Bot]:那你喜欢什么运动啊?
[Human]:篮球,你喜欢篮球吗
[Bot]:当然了,我很喜欢打篮球的可配置参数说明
batch_size批处理大小请结合机器情况进行调整默认为1。max_seq_len最大序列长度默认为512。max_turn仅在交互模式有效表示任务能记忆的对话轮数当max_turn为1时模型只能记住当前对话无法获知之前的对话内容。
自定义任务
Taskflow提供了定制接口来使用自己的数据对模型进行微调/训练适配任务如下
任务名称默认路径Taskflow(word_segmentation, modebase)$HOME/.paddlenlp/taskflow/word_segmentation/lac示例Taskflow(word_segmentation, modeaccurate)$HOME/.paddlenlp/taskflow/word_segmentation/wordtag示例Taskflow(ner, modefast)$HOME/.paddlenlp/taskflow/ner/lac示例Taskflow(ner, modeaccurate)$HOME/.paddlenlp/taskflow/ner/wordtag示例Taskflow(text_correction, modelcsc-ernie-1.0)$HOME/.paddlenlp/taskflow/text_correction/csc-ernie-1.0示例Taskflow(dependency_parsing, modelddparser)$HOME/.paddlenlp/taskflow/dependency_parsing/ddparser示例Taskflow(dependency_parsing, modelddparser-ernie-1.0)$HOME/.paddlenlp/taskflow/dependency_parsing/ddparser-ernie-1.0示例Taskflow(dependency_parsing, modelddparser-ernie-gram-zh)$HOME/.paddlenlp/taskflow/dependency_parsing/ddparser-ernie-gram-zh示例Taskflow(sentiment_analysis, modelbilstm)$HOME/.paddlenlp/taskflow/sentiment_analysis/bilstm暂无Taskflow(sentiment_analysis, modelskep_ernie_1.0_large_ch)$HOME/.paddlenlp/taskflow/sentiment_analysis/skep_ernie_1.0_large_ch示例Taskflow(knowledge_mining, modelwordtag)$HOME/.paddlenlp/taskflow/knowledge_mining/wordtag示例Taskflow(knowledge_mining, modelnptag)$HOME/.paddlenlp/taskflow/knowledge_mining/nptag示例
定制任务示例
这里我们以命名实体识别Taskflow(ner, modeaccurate)为例展示如何定制自己的模型。
任务的默认路径为$HOME/.paddlenlp/taskflow/ner/wordtag/该默认路径包含以下文件:
$HOME/.paddlenlp/taskflow/ner/wordtag/
├── model_state.pdparams # 默认模型参数文件
├── model_config.json # 默认模型配置文件
└── tags.txt # 默认标签文件参考表中对应示例准备数据集和标签文件tags.txt执行相应训练脚本得到自己的model_state.pdparams和model_config.json。 通过task_path指定用户自定义路径自定义路径下的文件需要和默认路径的文件一致:
custom_task_path/
├── model_state.pdparams # 定制模型参数文件
├── model_config.json # 定制模型配置文件
└── tags.txt # 定制标签文件使用Taskflow加载自定义模型进行一键预测
from paddlenlp import Taskflowmy_ner Taskflow(ner, modeaccurate, task_path./custom_task_path/)FAQ
Q1 Taskflow如何修改任务保存路径
A: Taskflow默认会将任务相关模型等文件保存到$HOME/.paddlenlp下可以在任务初始化的时候通过home_path自定义修改保存路径。
示例
from paddlenlp import Taskflowner Taskflow(ner, home_path/workspace)通过以上方式即可将ner任务相关文件保存至/workspace路径下。
参考资料
fxsjy/jieba