iT邦幫忙

2025 iThome 鐵人賽

DAY 22
0
Software Development

來一場軟體開發學習之旅系列 第 22

Day 22:命名實體識別(Named Entity Recognition, NER)

  • 分享至 

  • xImage
  •  

學了文字分類(Text Classification),可以自動幫文章加上類別標籤。
但很多時候,我們不只是想知道文章的類別,而是希望直接從文字中抽取出具體資訊。
例如:
一篇新聞中有哪些人名?
文件裡出現了哪些地點與時間?
電影評論裡提到哪些公司或品牌?
這就是命名實體識別(Named Entity Recognition, NER)的目標。

一、什麼是命名實體識別?
命名實體識別(NER) 是自然語言處理(NLP)的任務,用來從文字中辨識並分類實體。
常見的實體類型包括:
PERSON:人名
ORG:組織、公司
GPE:地名(城市、國家)
DATE:日期或時間
MONEY:金額

例如:
"Apple plans to open a new office in Singapore in 2025."

NER 的輸出可能是:
Apple → ORG
Singapore → GPE
2025 → DATE

二、NER 的應用場景
新聞資訊抽取:自動抽取新聞中的人物、地點、事件。
金融應用:提取公司名稱、股市數據、金額。
醫療領域:識別病名、藥品名稱。
知識圖譜:構建人名-組織-事件之間的關係網絡。

三、Python實作:使用spaCy進行NER
spaCy是一個強大的NLP函式庫,支援快速的NER。

#安裝套件
#pip install spacy
#python -m spacy download en_core_web_sm

import spacy

#載入英文模型
nlp = spacy.load("en_core_web_sm")

#測試文本
text = "Elon Musk founded SpaceX in California in 2002 and acquired Twitter in 2022."

doc = nlp(text)

#輸出實體
for ent in doc.ents:
print(ent.text, ent.label_)

範例輸出:
Elon Musk PERSON
SpaceX ORG
California GPE
2002 DATE
Twitter ORG
2022 DATE

學會了命名實體識別(NER),理解了它能自動從文本中抽取出人名、地名、組織、時間等實體資訊。
這項技術在新聞、金融、醫療等領域都有極高的實用價值。


上一篇
Day 21:文字分類(Text Classification)
下一篇
Day 23:異常處理與錯誤管理(Exception Handling & Error Management)
系列文
來一場軟體開發學習之旅30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言