圖片來源 |
這次來介紹一下NLP自然語言處理中重要的一個任務「命名實體識別(Named Entity Recognition)」, 這個任務主要識別出「人名」、「地名」、「公司」…等實體, 透過這些實體辨識結果, 可以近一步的理解意圖, 甚至判斷出該文章主要在講什麼重點…等。
關於更多NER的細節歡迎閱讀: 「【自然語言處理 - spaCy】善用ChatGPT幫我們訓練出自訂的Name Entity Recognition實體」
找看看有哪些可用模型
在「【Hugging Face】Ep.3 前往Dataset掏金趣」我們有介紹過HuggingFace平台如何精準的找出我們需要的模型, 那這次我們要找的任務是「Token Classification」,語言為「Chinese」, 我們就來選用最多人使用的「xlm-roberta-large-finetuned-conll03-english」吧!
準備文本
text = '台灣是一個非常美麗的地區'
安裝套件
!pip install transformers
!pip install pandas
進行NER任務
from transformers import pipeline, AutoTokenizer, AutoModelForTokenClassification
import pandas as pd
tokenizer = AutoTokenizer.from_pretrained("xlm-roberta-large-finetuned-conll03-english")
model = AutoModelForTokenClassification.from_pretrained("xlm-roberta-large-finetuned-conll03-english")
ner = pipeline("ner", model=model, tokenizer=tokenizer)
results = ner("台灣是一個非常美麗的地區")
pd.DataFrame(results)
上述的結果辨識出「台灣」是一個「I-LOC」的實體, 當然這個實體的標籤我們也可以自己去定義它。
今天的範例都在這裡「📦 huggingface/huggingface_ner.ipynb」歡迎自行取用。
結語
初步了解到Hugging Face架構之後深深感受到標準化的好處, 有點像是鴻海MIH平台一般, 賦能給各個開發者到這個平台共同發展AI模型, 雖說獲利模式是否足以支撐起一家公司仍待時間進行驗證, 但平台已經讓各種NLP技術的發展更快速, 也縮小著技術屏障的隔閡。
留言
張貼留言