0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Taskflow API之三大特性

深度學習自然語言處理 ? 來源:深度學習自然語言處理 ? 作者:深度學習自然語言 ? 2022-09-20 16:36 ? 次閱讀

0. PaddleNLP 一鍵預測能力 Taskflow API之三大特性

功能全面

全場景支持:覆蓋NLUNLG領域十一大經(jīng)典任務。

文檔級輸入:支持文檔級輸入,解決預訓練模型對輸入文本的長度限制問題,大大節(jié)省用戶輸入長文本時的代碼開發(fā)量。

定制化訓練:支持用戶使用自己的數(shù)據(jù)集進行定制化訓練,通過自定義路徑一鍵使用定制化訓練好的模型。

簡捷易用

開箱即用,學習成本低,幾行代碼便可完成調用。

產(chǎn)業(yè)級效果

聚合眾多百度自然語言處理領域自研算法以及社區(qū)優(yōu)秀開源模型,模型效果領先。

1. 環(huán)境準備

!pipinstall--upgradepaddlenlp
!pipinstallpypinyin
!pipinstallLAC

2. 基礎能力

這一章節(jié)將會學到的Taskflow技能:

利用PaddleNLP Taskflow提取句子中的語言學特征:中文分詞、詞性識別,依存關系,命名實體識別、關系抽取、事件抽取等。

2.0 信息抽取

PaddleNLP 5.16新發(fā)開放域信息抽取能力,只有你想不到的schema,沒有UIE抽取不到的結果哦!

詳情可參考:信息抽取一鍵預測能力[1]

如需定制化訓練,全套代碼在此:傳送門[2]

2.0.1 實體抽取

frompprintimportpprint
frompaddlenlpimportTaskflow

schema=['時間','選手','賽事名稱']#Definetheschemaforentityextraction
ie=Taskflow('information_extraction',schema=schema)
pprint(ie("2月8日上午北京冬奧會自由式滑雪女子大跳臺決賽中中國選手谷愛凌以188.25分獲得金牌!"))#Betterprintresultsusingpprint
[{'時間':[{'end':6,
'probability':0.9857378532473966,
'start':0,
'text':'2月8日上午'}],
'賽事名稱':[{'end':23,
'probability':0.8503082243989795,
'start':6,
'text':'北京冬奧會自由式滑雪女子大跳臺決賽'}],
'選手':[{'end':31,
'probability':0.8981535684051067,
'start':28,
'text':'谷愛凌'}]}]

2.0.2 關系抽取

#
schema={'歌曲名稱':['歌手','所屬專輯']}#Definetheschemaforrelationextraction
ie.set_schema(schema)#Resetschema
ie('《告別了》是孫耀威在專輯愛的故事里面的歌曲')
[{'歌曲名稱':[{'text':'告別了',
'start':1,
'end':4,
'probability':0.6296147448952354,
'relations':{'歌手':[{'text':'孫耀威',
'start':6,
'end':9,
'probability':0.9988380409852198}],
'所屬專輯':[{'text':'愛的故事',
'start':12,
'end':16,
'probability':0.9968462078543183}]}},
{'text':'愛的故事',
'start':12,
'end':16,
'probability':0.28168534139751955,
'relations':{'歌手':[{'text':'孫耀威',
'start':6,
'end':9,
'probability':0.9951413914998}]}}]}]

2.0.3 事件抽取

schema={'地震觸發(fā)詞':['地震強度','時間','震中位置','震源深度']}#Definetheschemaforeventextraction
ie.set_schema(schema)#Resetschema
ie('中國地震臺網(wǎng)正式測定:5月16日06時08分在云南臨滄市鳳慶縣(北緯24.34度,東經(jīng)99.98度)發(fā)生3.5級地震,震源深度10千米。')
[{'地震觸發(fā)詞':[{'text':'地震',
'start':56,
'end':58,
'probability':0.9977425555988333,
'relations':{'地震強度':[{'text':'3.5級',
'start':52,
'end':56,
'probability':0.998080158269417}],
'時間':[{'text':'5月16日06時08分',
'start':11,
'end':22,
'probability':0.9853299181377793}],
'震中位置':[{'text':'云南臨滄市鳳慶縣(北緯24.34度,東經(jīng)99.98度)',
'start':23,
'end':50,
'probability':0.7874013050677604}],
'震源深度':[{'text':'10千米',
'start':63,
'end':67,
'probability':0.9937973233053299}]}}]}]

2.0.4 句子級情感分類

schema='情感傾向[正向,負向]'#Definetheschemaforsentence-levelsentimentclassification
ie.set_schema(schema)#Resetschema
ie('這個產(chǎn)品用起來真的很流暢,我非常喜歡')
[{'情感傾向[正向,負向]':[{'text':'正向','probability':0.9990024058203417}]}]

2.0.5 評價維度、觀點抽取,對象級情感分析

schema={'評價維度':['觀點詞','情感傾向[正向,負向]']}#Definetheschemaforopinionextraction
ie.set_schema(schema)#Resetschema
pprint(ie("地址不錯,服務一般,設施陳舊"))#Betterprintresultsusingpprint
[{'評價維度':[{'end':2,
'probability':0.9888138676472664,
'relations':{'情感傾向[正向,負向]':[{'probability':0.998228967796706,
'text':'正向'}],
'觀點詞':[{'end':4,
'probability':0.9927846479537372,
'start':2,
'text':'不錯'}]},
'start':0,
'text':'地址'},
{'end':12,
'probability':0.9588297379365116,
'relations':{'情感傾向[正向,負向]':[{'probability':0.9949388606013692,
'text':'負向'}],
'觀點詞':[{'end':14,
'probability':0.9286749937276362,
'start':12,
'text':'陳舊'}]},
'start':10,
'text':'設施'},
{'end':7,
'probability':0.959285414999755,
'relations':{'情感傾向[正向,負向]':[{'probability':0.9952498258302498,
'text':'負向'}],
'觀點詞':[{'end':9,
'probability':0.9949358587838901,
'start':7,
'text':'一般'}]},
'start':5,
'text':'服務'}]}]

2.0.6 跨任務跨領域抽取

schema=['寺廟',{'丈夫':'妻子'}]
ie.set_schema(schema)
pprint(ie('李治即位后,讓身在感業(yè)寺的武則天續(xù)起頭發(fā),重新納入后宮。'))
[{'丈夫':[{'end':2,
'probability':0.989690572797457,
'relations':{'妻子':[{'end':16,
'probability':0.9987625986569526,
'start':13,
'text':'武則天'}]},
'start':0,
'text':'李治'}],
'寺廟':[{'end':12,
'probability':0.9888578809890554,
'start':9,
'text':'感業(yè)寺'}]}]

2.1 中文分詞

分詞作為許多NLP任務的第一道工序,如何在不同場景中『用好』、『用對』尤為重要。

Taskflow提供了多種中文分詞模式供大家選擇,我們列舉了幾種不同的場景,來示例不同使用方式。

2.1.1 文檔級輸入

支持超長文本輸入,無需擔心『文本截斷』問題

#首次調用會有模型下載的額外時間開銷
seg=Taskflow("word_segmentation")

doc="蘇錦一直記得那個午后,明晃晃的光線穿過教室的窗玻璃灑到自己臉上,有種特別暖和的感覺。那陽光仿佛是能夠鉆進人的心里,繼而延展到身體全部的毛孔中,然后以一種溫柔的霸道占據(jù)體內各個淋巴細胞。蘇錦覺得連自己的每一個氣息里都似乎是能流竄出明亮的光。她坐著有些微醉于這份上帝恩賜的福祉當中。是在這樣一個午后。她記住了段見城的臉。輪廓俊朗的少年。有著羈傲的眼神和清晰的聲線。怎么看這都是少女漫畫里必經(jīng)的情節(jié)。教語文的老太太此刻正兀自在講臺上口若懸河的講解著《孔雀東南飛》,畢竟是已經(jīng)年過半百的老教師,經(jīng)歷的學生多了,倒也不在乎講臺下那一張張臉上是否掛著的無精打采,昏昏欲睡的表情,按著自己的性子眉飛色舞的描繪著千年前的那段愛情傳奇。蘇錦一邊數(shù)著從老太太口里橫飛出來的唾沫星子,一邊念想著,讓理科班這群腦子里已全被物理公式填充了的家伙,去對幾千年前焦仲卿和劉蘭芝的愛情產(chǎn)生興趣未免是件太困難的事情了。老太太講到焦仲卿和劉蘭芝雙雙殉情而死之時咳嗽了一聲,提醒底下那群不知已經(jīng)神游到何方的學生們是時候為文章的主旨做筆記了。蘇錦把課文翻到最后,快速掃過大致內容,目光卻在那句:府吏聞此事,心知長別離。徘徊庭樹下,自掛東南枝上硬生生地停了下來。思緒仿若戛然而止,被某種莫名的感懷而包圍,心中有些鈍痛,卻不知從何而來。“懦弱?!币粋€略帶鄙夷的聲音傳入蘇錦的耳,攔截住了她空白的思緒。蘇錦轉過頭,瞥見后桌的段見城?;腥婚g有種錯覺,這個男生好似是被光線包裹著一般。段見城淡淡說。若他是焦仲卿,定不會讓自己和深愛的女子走到這步田地,若是真走到山窮水盡的地步,定是決然赴死。何來徘徊。那清淡口氣帶著些不屑,卻是這般篤定至極。他說,平生最鄙夷懦弱的男子。蘇錦靜默的注視著這個男生。終究是沒有說出話來。蘇錦莫名其妙的做了段見城的女友是一年以后的事情。全班在KTV里唱歌,美名曰:升高三前最后的狂歡。包廂里都是擁擠的人,但蘇錦卻還是能夠感受到空調的溫度調得異常的低,她躲在冷風吹不到的角落,捧著大杯的雪花啤酒像是喝水一樣沒有節(jié)制,她覺得心里有所郁結并且心思混亂,恍恍惚惚的注視著麥克風被傳了一輪又一輪,聽著音像里傳出或高或低的雜亂音符,而自己卻似是置身于別處,與此間的喧囂起伏無關,只覺得空蕩蕩。蘇錦記得自己與同桌曾談及過自己這種從暑假開始無法擺脫的混沌狀態(tài),同桌是一副了然于胸的模樣,義正言辭的對蘇錦說,這是高三前期綜合癥。她說,蘇錦你別太看重所謂的高三,高考和大學都只是一個過程而并非最終的意義,我們要以平常心去對待這些。蘇錦想,其實自己并非執(zhí)著什么,而是自幼便對于那些未知的一切充滿恐懼。因為無法掌控,所以感到束手無策,身不由己。仿佛有種被命運捏在手里隨意擺弄的感覺,特別難受正當蘇錦失足于自己龐大的幻覺之時,身邊的朋友開始玩起了真心話大冒險之類的游戲。在一邊起哄的女生提議游戲從今晚沒有唱歌過的人開始,于是因為忙著在沙發(fā)上的打牌的段見城那撥人便是首先被開刷的對象,而作為聚眾賭博的頭子,段見城自然是第一個被逮到。幾個暗自對段見城有好感的姑娘早就揣摩好了問題,蘇錦被旁邊興奮過頭的女生推攘著,神志也漸漸清明起來。不知是誰直白的問出了那句:阿城,你有意中人么?KTV中的嘈雜如同頓時沉淀了一般,縱然空氣里似乎還遺留著些噪音過境的痕跡,更多的卻是一種屏氣凝神的靜。段見城沉默的捏著手中那張還沒打出去撲克牌,幾乎是在所有人的耐心倒塌的前一秒,清晰地說出了蘇錦的名字。"

print("1. 輸入長度:",len(doc))
print("2. 分詞結果:",seg(doc))
1.輸入長度:1413
2.分詞結果:['蘇錦','一直','記得','那個','午后',',','明晃晃','的','光線','穿過','教室','的','窗','玻璃','灑','到','自己','臉上',',','有種','特別','暖和','的','感覺','。','那','陽光','仿佛','是','能夠','鉆進','人','的','心里',',','繼而','延展','到','身體','全部','的','毛孔','中',',','然后','以','一種','溫柔','的','霸道','占據(jù)','體內','各','個','淋巴細胞','。','蘇錦','覺得','連','自己','的','每一個','氣息','里','都','似乎','是','能','流竄','出',...........

2.1.2 快速模式分詞

示例如何通過快速模式分詞對數(shù)據(jù)集進行詞頻統(tǒng)計、構建詞表

importtime
fromcollectionsimportdefaultdict

frompaddlenlp.datasetsimportload_dataset
frompaddlenlpimportTaskflow

seg_fast=Taskflow("word_segmentation",mode="fast")

#加載ChnSentiCorp數(shù)據(jù)集
train_ds,dev_ds=load_dataset("chnsenticorp",splits=["train","dev"])
texts=[]
fordataintrain_ds:
texts.append(data["text"])
fordataindev_ds:
texts.append(data["text"])
inputs_length=len(texts)

print("1. 句子數(shù)量:",inputs_length)

tic_seg=time.time()

#快速分詞
results=seg_fast(texts)

time_diff=time.time()-tic_seg

print("2. 平均速率:%.2f句/s"%(inputs_length/time_diff))

#詞頻統(tǒng)計
word_counts=defaultdict(int)
forresultinresults:
forwordinresult:
word_counts[word]+=1

#打印頻次最高的前20個單詞及其對應詞頻
print("3. Top 20 Words:",sorted(word_counts.items(),key=lambdad:d[1],reverse=True)[:20])
100%|██████████|1909/1909[00:00<00:00,?7614.49it/s]
1.?句子數(shù)量:?10800
Building?prefix?dict?from?the?default?dictionary?...
Dumping?model?to?file?cache?/tmp/jieba.cache
Loading?model?cost?0.995?seconds.
Prefix?dict?has?been?built?successfully.
2.?平均速率:1429.74句/s
3.?Top?20?Words:?[(',',?59389),?('的',?41468),?('。',?23207),?('了',?15048),?('?',?11426),?('是',?10479),?(',',?9204),?('我',?9167),?('很',?6881),?('!',?6169),?('也',?5793),?('在',?5180),?('酒店',?4829),?('不',?4784),?('都',?4604),?('有',?4589),?('就',?4169),?('.',?4099),?('沒有',?3594),?('還',?3455)]

2.1.3 精確模式分詞

使用Taskflow精確模式,實體粒度分詞精度最高,語義片段完整,在知識圖譜構建等應用中優(yōu)勢明顯。

實體詞容易被切開,例如『陜西省高校管理體制改革實施方案』、『諾戴商務咨詢(上海)有限公司』希望能夠被完整識別。

frompaddlenlpimportTaskflow

#精確模式模型體積較大,可結合機器情況適當調整batch_size,采用批量樣本輸入的方式。
seg_accurate=Taskflow("word_segmentation",mode="accurate",batch_size=32)

#批量樣本輸入,輸入為多個句子組成的list,平均速率更快
texts=["李偉拿出具有科學性、可操作性的《陜西省高校管理體制改革實施方案》","諾戴商務咨詢(上海)有限公司于2016年08月22日成立"]
print(seg_accurate(texts))
[['李偉','拿出','具有','科學性','、','可操作性','的','《','陜西省高校管理體制改革實施方案','》'],['諾戴商務咨詢(上海)有限公司','于','2016年08月22日','成立']]

2.1.4 用戶詞典

快速配置用戶詞典來對分詞結果進行干預

frompaddlenlpimportTaskflow

seg=Taskflow("word_segmentation")

print(seg("平原上的火焰宣布延期上映"))`

[‘平原’, ‘上’, ‘的’, ‘火焰’, ‘宣布’, ‘延期’, ‘上映’]

例如我們想把『平原上的火焰』作為一個完整詞來識別,而『上映』希望能夠被切開,則可以按照如下格式配置自定義詞典文件user_dict.txt

平原上的火焰
上 映

配置后通過user_dict一鍵裝載在這里插入代碼片

seg=Taskflow("word_segmentation",user_dict="/home/aistudio/user_dict.txt")

print(seg("平原上的火焰宣布延期上映"))

[‘平原上的火焰’, ‘宣布’, ‘延期’, ‘上’, ‘映’]

2.2 詞性標注

基于百度詞法分析工具LAC,訓練語料包含近2200萬句子,覆蓋多種場景

frompaddlenlpimportTaskflow

tag=Taskflow("pos_tagging")

print(tag("第十四屆全運會在西安舉辦"))

[(‘第十四屆’, ‘m’), (‘全運會’, ‘nz’), (‘在’, ‘p’), (‘西安’, ‘LOC’), (‘舉辦’, ‘v’)]

2.3 命名實體識別

2.3.1 精確模式

基于百度解語的精確模式:最全中文實體標簽的命名實體識別工具,不僅適用于通用領域,也適用于生物醫(yī)療、教育等垂類領域。包含66種詞性及專名類別標簽(同類產(chǎn)品的標簽數(shù)是15個左右)

frompaddlenlpimportTaskflow

ner=Taskflow("ner")

print(ner(["李偉拿出具有科學性、可操作性的《陜西省高校管理體制改革實施方案》","諾戴商務咨詢(上海)有限公司于2016年08月22日成立"]))

[[('李偉','人物類_實體'),('拿出','場景事件'),('具有','肯定詞'),('科學性','修飾詞_性質'),('、','w'),('可操作性','修飾詞_性質'),('的','助詞'),('《','w'),('陜西省高校管理體制改革實施方案','作品類_實體'),('》','w')],[('諾戴商務咨詢(上海)有限公司','組織機構類_企事業(yè)單位'),('于','介詞'),('2016年08月22日','時間類_具體時間'),('成立','場景事件')]]`在這里插入代碼片`

精確模式標簽集合

人物類_實體物體類生物類_動物醫(yī)學術語類
人物類_概念物體類_兵器品牌術語類_生物體
作品類_實體物體類_化學物質場所類疾病損傷類
作品類_概念其他角色類場所類_交通場所疾病損傷類_植物病蟲害
組織機構類文化類位置方位宇宙類
組織機構類_企事業(yè)單位文化類_語言文字世界地區(qū)類事件類
組織機構類_醫(yī)療衛(wèi)生機構文化類_獎項賽事活動飲食類時間類
組織機構類_國家機關文化類_制度政策協(xié)議飲食類_菜品時間類_特殊日
組織機構類_體育組織機構文化類_姓氏與人名飲食類_飲品術語類
組織機構類_教育組織機構生物類藥物類術語類_符號指標類
組織機構類_軍事組織機構生物類_植物藥物類_中藥信息資料
鏈接地址肯定詞個性特征否定詞
感官特征數(shù)量詞場景事件嘆詞
介詞擬聲詞介詞_方位介詞修飾詞
助詞外語單詞代詞英語單詞
連詞漢語拼音副詞詞匯用語
疑問詞w(標點)

精準模式對部分類目(如組織機構等),做了更細的劃分識別(如,醫(yī)療衛(wèi)生機構、體育組織機構)。

2.3.2 快速模式

基于百度詞法分析工具LAC,訓練語料包含近2200萬句子,覆蓋多種場景

frompaddlenlpimportTaskflow

ner_fast=Taskflow("ner",mode="fast")

print(ner_fast("三亞是一個美麗的城市"))

[(‘三亞’, ‘LOC’), (‘是’, ‘v’), (‘一個’, ‘m’), (‘美麗’, ‘a(chǎn)’), (‘的’, ‘u’), (‘城市’, ‘n’)]

快速模式標簽集合

70799474-3728-11ed-ba43-dac502259ad0.png快速模式標簽集合

2.4 依存句法分析

2.4.1 多種使用方式

frompaddlenlpimportTaskflow

#使用BiLSTM作為編碼器,速度最快
ddp=Taskflow("dependency_parsing")

print(ddp("2月8日谷愛凌奪得北京冬奧會第三金"))

[{‘word’: [‘2月8日’, ‘谷愛凌’, ‘奪得’, ‘北京冬奧會’, ‘第三金’], ‘head’: [3, 3, 0, 5, 3], ‘deprel’: [‘ADV’, ‘SBV’, ‘HED’, ‘ATT’, ‘VOB’]}]

#編碼器部分將BiLSTM替換為ERNIE,模型準確率更高!
ddp=Taskflow("dependency_parsing",model="ddparser-ernie-1.0")

print(ddp("2月8日谷愛凌奪得北京冬奧會第三金"))
#輸出概率值和詞性標簽
ddp=Taskflow("dependency_parsing",prob=True,use_pos=True)

print(ddp("2月8日谷愛凌奪得北京冬奧會第三金"))

依存句法分析標注關系集合

70a432c4-3728-11ed-ba43-dac502259ad0.png依存句法分析標注關系集合

2.4.2 應用示例

通過句法分析抽取句子的主謂賓結構信息

frompaddlenlpimportTaskflow

ddp=Taskflow("dependency_parsing")

print(ddp("9月9日上午納達爾在亞瑟·阿什球場擊敗俄羅斯球員梅德韋杰夫"))

下圖句子中包含了多種結構化信息:

70d13eea-3728-11ed-ba43-dac502259ad0.png

fromutilsimportSVOInfo

texts=["9月9日上午納達爾在亞瑟·阿什球場擊敗俄羅斯球員梅德韋杰夫","2月8日谷愛凌奪得北京冬奧會第三金"]
results=ddp(texts)

#抽取句子中的SVO(主謂賓)結構化信息
svo_info=[]
forresultinresults:
svo_info.append(SVOInfo(result).parse())

foriinrange(len(texts)):
print("原文本:",texts[i])
print("包含的主謂賓結構:",svo_info[i])

3. 『產(chǎn)業(yè)』應用

這一章節(jié)將會學到的Taskflow技能:

使用Taskflow來完成情感分析、文本糾錯、文本相似度

3.1 情感分析

3.1.1 BiLSTM

默認使用的是BiLSTM。

frompaddlenlpimportTaskflow

senta=Taskflow("sentiment_analysis")

print(senta("這個產(chǎn)品用起來真的很流暢,我非常喜歡"))
[{'text':'這個產(chǎn)品用起來真的很流暢,我非常喜歡','label':'positive','score':0.993867814540863}]

3.1.2 SKEP

集成百度自研的情感知識增強預訓練模型SKEP,利用情感知識構建預訓練目標,在海量中文數(shù)據(jù)上進行預訓練,為各類情感分析任務提供統(tǒng)一且強大的情感語義表示能力。

70f782a8-3728-11ed-ba43-dac502259ad0.png

在多個公開數(shù)據(jù)集上模型效果SOTA

712212c0-3728-11ed-ba43-dac502259ad0.png

frompaddlenlpimportTaskflow

senta=Taskflow("sentiment_analysis",model="skep_ernie_1.0_large_ch")

print(senta("作為老的四星酒店,房間依然很整潔,相當不錯。機場接機服務很好,可以在車上辦理入住手續(xù),節(jié)省時間。"))
[{'text':'作為老的四星酒店,房間依然很整潔,相當不錯。機場接機服務很好,可以在車上辦理入住手續(xù),節(jié)省時間。','label':'positive','score':0.9843240976333618}]

3.2 文本糾錯

ERNIE-CSC在ERNIE預訓練模型的基礎上,融合了拼音特征的端到端中文拼寫糾錯模型,整體框架圖如下:

714295c2-3728-11ed-ba43-dac502259ad0.png

在中文糾錯經(jīng)典數(shù)據(jù)集SIGHAN上效果領先:

71755534-3728-11ed-ba43-dac502259ad0.png

frompaddlenlpimportTaskflow

corrector=Taskflow("text_correction")
print(corrector('遇到逆竟時,我們必須勇于面對,而且要愈挫愈勇。'))
[{'source':'遇到逆竟時,我們必須勇于面對,而且要愈挫愈勇。','target':'遇到逆境時,我們必須勇于面對,而且要愈挫愈勇。','errors':[{'position':3,'correction':{'竟':'境'}}]}]

3.3 文本相似度

基于百度知道2200萬對相似句組訓練SimBERT達到前沿文本相似效果

frompaddlenlpimportTaskflow

similarity=Taskflow("text_similarity")
print(similarity([["春天適合種什么花?","春天適合種什么菜?"],["小蝌蚪找媽媽怎么樣","小蝌蚪找媽媽是誰畫的"]]))
[{'text1':'春天適合種什么花?','text2':'春天適合種什么菜?','similarity':0.83395267},{'text1':'小蝌蚪找媽媽怎么樣','text2':'小蝌蚪找媽媽是誰畫的','similarity':0.81923723}]

3.4 『解語』-知識標注

基于百度解語,首個能夠覆蓋所有中文詞匯的詞類知識標注工具,旨在為中文文本解析提供全面、豐富的知識標注結果

frompaddlenlpimportTaskflow
wordtag=Taskflow("knowledge_mining")
#結果會與TermTree進行綁定,輸出termid
print(wordtag("第24屆冬季奧林匹克運動會在北京舉辦"))
[{'text':'第24屆冬季奧林匹克運動會在北京舉辦','items':[{'item':'第24屆冬季奧林匹克運動會','offset':0,'wordtag_label':'事件類','length':13},{'item':'在','offset':13,
'wordtag_label':'介詞','length':1,'termid':'介詞_cb_在'},{'item':'北京','offset':14,
'wordtag_label':'世界地區(qū)類','length':2,'termid':'中國地區(qū)_cb_北京市'},{'item':'舉辦','offset':16,'wordtag_label':'場景事件','length':2,'termid':'場景事件_cb_舉辦'}]}]
fromtermtreeimportTermTree

#加載百科知識樹
termtree=TermTree.from_dir("termtree_type.csv","TermTree.V1.0")

#通過termid獲取別名
print(termtree._nodes["獎項賽事活動_eb_冬季奧林匹克運動會"]._data['alias'])

#通過termid獲取百度百科鏈接
print(termtree._nodes['獎項賽事活動_eb_冬季奧林匹克運動會']._data['links'][0]['bdbkUrl'])

[‘冬奧會’, ‘冬奧’, ‘冬季奧運會’]

更多TermTree使用方法參考解語:TermTree(百科知識樹)[3]

4. 『趣味』應用

這一章節(jié)將會學到的Taskflow技能:

感受海量數(shù)據(jù)訓練出來的預訓練模型的超強能力

利用Taskflow打造一個『能說會道、擅長聊天』的機器人

利用Taskflow構建一個問答/寫詩系統(tǒng)

4.1 交互式閑聊對話

基于PLATO-MINI,模型在十億級別的中文對話數(shù)據(jù)上進行了預訓練,閑聊場景對話效果顯著。

frompaddlenlpimportTaskflow

dialogue=Taskflow("dialogue")


print(dialogue(["你好"]))

交互模式

(推薦使用終端terminal進入python解釋器進行體驗):

719cf2ec-3728-11ed-ba43-dac502259ad0.png

4.2 生成式問答

基于開源社區(qū)優(yōu)秀中文預訓練模型CPM,參數(shù)規(guī)模26億,預訓練中文數(shù)據(jù)達100GB

調用示例:

71c8a8d8-3728-11ed-ba43-dac502259ad0.png

NOTE:由于項目空間有限,這里只列舉了調用方法,為了有更好的使用體驗,大家可以另外創(chuàng)建一個項目來體驗這部分功能~

4.3 智能寫詩

基于開源社區(qū)優(yōu)秀中文預訓練模型CPM,參數(shù)規(guī)模26億預訓練中文數(shù)據(jù)達100GB。

調用示例:

71f0f162-3728-11ed-ba43-dac502259ad0.png

NOTE:由于項目空間有限,這里只列舉了調用方法,為了有更好的使用體驗,大家可以另外創(chuàng)建一個項目來體驗這部分功能~

5.定制化訓練

這一章節(jié)將會學到的Taskflow技能:

利用自己的數(shù)據(jù)訓練/微調模型,通過Taskflow一鍵裝載并使用

5.1 數(shù)據(jù)準備和訓練

參考PaddleNLP SKEP情感分析訓練示例[4],完成數(shù)據(jù)準備和模型訓練。

#訓練步驟省略,提供了訓練好的模型權重文件
#直接下載并保存到/home/aistudio/custom_model路徑
!wgethttps://bj.bcebos.com/paddlenlp/taskflow/demo/model_state.pdparams-P/home/aistudio/custom_model
!wgethttps://bj.bcebos.com/paddlenlp/taskflow/demo/model_config.json-P/home/aistudio/custom_model

5.2 使用定制化模型

通過task_path指定自定義模型路徑一鍵加載即可。

frompaddlenlpimportTaskflow

my_senta=Taskflow("sentiment_analysis",model="skep_ernie_1.0_large_ch",task_path="/home/aistudio/custom_model")

print(my_senta("不錯的酒店,服務還可以,下次還會入住的~"))

[{‘text’: ‘不錯的酒店,服務還可以,下次還會入住的~’, ‘label’: ‘positive’, ‘score’: 0.9968485236167908}]

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1468

    瀏覽量

    61692
  • 開源
    +關注

    關注

    3

    文章

    3189

    瀏覽量

    42246
  • 訓練模型
    +關注

    關注

    1

    文章

    35

    瀏覽量

    3794

原文標題:5.定制化訓練

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    從零開始學習Z-Stack之三

    從零開始學習Z-Stack之三歡迎研究ZigBee的朋友和我交流。。。
    發(fā)表于 08-12 22:17

    芯達STM32入門系列教程之三《如何使用J-Flash調試》

    芯達STM32入門系列教程之三《如何使用J-Flash調試》
    發(fā)表于 08-31 17:34

    STM32之三行按鍵宏定義

    STM32之三行按鍵按鍵宏定義unsigned char ucTrg= 0;unsigned char ucCont = 0;unsigned char uckey_times = 0
    發(fā)表于 03-02 06:52

    CAM350 技巧之三

    CAM350 技巧之三1. 問:cam350 是如何獲得鉆孔信息的,如果藍圖里面沒有標示,cam350 能讀出孔嗎?答:在Import Drill date 直接讀出鉆孔文件層就
    發(fā)表于 01-25 12:05 ?3488次閱讀

    高速PCB設計指南之三

    高速PCB設計指南之三 第一篇   改進電路設計規(guī)程提高可測試性     隨著微型化程度不斷提高,
    發(fā)表于 11-11 15:01 ?513次閱讀

    MATLAB的基本知識之三維網(wǎng)圖的高級處理

    MATLAB的基本知識之三維網(wǎng)圖的高級處理
    發(fā)表于 02-18 17:03 ?2154次閱讀
    MATLAB的基本知識<b class='flag-5'>之三</b>維網(wǎng)圖的高級處理

    從零開始MQX開發(fā)之三添加新的開發(fā)板到CodeWarrior項目

    從零開始MQX開發(fā)之三添加新的開發(fā)板到CodeWarrior項目向導
    發(fā)表于 11-26 14:52 ?0次下載

    Proteus之矩陣式鍵盤的識別之三

    Proteus之矩陣式鍵盤的識別之三,很好的Proteus資料,快來下載不學習吧。
    發(fā)表于 04-18 16:42 ?0次下載

    Labview之上機實驗之三

    Labview之上機實驗之三,很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:23 ?0次下載

    Labview之動態(tài)窗口樣式之三

    Labview之動態(tài)窗口樣式之三,很好的Labview資料,快來下載學習吧。
    發(fā)表于 04-19 10:56 ?0次下載

    電源反饋設計速成篇之三測量篇

    電子發(fā)燒友網(wǎng)站提供(電源反饋設計速成篇之三仿真篇)資料免費下載。
    發(fā)表于 11-11 11:37 ?17次下載
    電源反饋設計速成篇<b class='flag-5'>之三</b>測量篇

    Multisim仿真之三極管資料

    Multisim仿真之三極管資料免費下載。
    發(fā)表于 04-08 14:45 ?18次下載

    cpp-taskflow C++并行任務編程庫

    ./oschina_soft/cpp-taskflow.zip
    發(fā)表于 06-22 10:34 ?0次下載
    cpp-<b class='flag-5'>taskflow</b> C++并行任務編程庫

    高速PCB設計指南之三.zip

    高速PCB設計指南之三
    發(fā)表于 12-30 09:22 ?3次下載

    維立體視覺之三維恢復方法

    電子發(fā)燒友網(wǎng)站提供《維立體視覺之三維恢復方法.doc》資料免費下載
    發(fā)表于 11-03 09:31 ?0次下載
    <b class='flag-5'>三</b>維立體視覺<b class='flag-5'>之三</b>維恢復方法