跳到主要內容

發表文章

目前顯示的是 4月, 2023的文章

【自然語言處理 - spaCy】善用ChatGPT幫我們訓練出自訂的Name Entity Recognition實體

  回顧上一個篇章「 【自然語言處理NLP】初探強大的工具庫spaCy, 讓機器讀懂我們的語言 」我們初步學習 spaCy 這套工具,在尾端進行NER時我們也發現到現有的NER模型並沒有辦法滿足我們的需求, 導致有一些實體未被識別出來, 因此這次的任務就是設法進行訓練, 讓我們想要被識別的實體可以被進行識別。 這個篇章主要在示範如何利用 spaCy 進行訓練,過程中也由於 🔥 ChatGP T的出現,讓我們可以藉由它來快速產生例句,順利進行訓練,但並非真正要準確做到滿分的NER,因此過程中將以「最簡短的例句」及「CPU」訓練方式完成。 安裝相關套件及下載模型 以下幾個步驟我們先將該準備的模型及語句準備好, 再進行調優與訓練。 # 安裝spacy % pip install spacy # 下載Transfromer技術的中文語言模型 !p ython - m spacy download zh_core_web_trf 載入模型並解析 import spacy # 載入模型 nlp_zh = spacy . load ( 'zh_core_web_trf' ) # 對中文語句進行解析 doc = nlp_zh ( '台灣是一個位於亞洲東部的島嶼國家。' ) NER實體識別 我們可以看到實體僅被識別出「台灣」、「亞洲」, 但我們更希望「東部」跟「國家」也可以被識別出來, 那麼可以怎麼做呢? from spacy import displacy # 台灣是一個位於亞洲東部的島嶼國家。 displacy . render ( doc , style = "ent" , jupyter = True ) 圖片來源 設計訓練資料 假設: 其中「亞洲東部」我們期望實體為「LOC」, 而「國家」為「ORG」。 小技巧 利用 🔥 ChatGPT 幫我們列出「東部國家」的一些例句, 如何給予提示(Prompt),就讓大家創意發揮囉,例如: 請幫我列出5句關於「亞洲東部國家的一些特色」。 將這些例句藉由「 spacynerannotate 」這套工具幫我快速人工標出實體並轉換成 spaCy 訓練NER的格式, 雖然有點不太好用, 但為了快速Demo我們就將就點使用吧,另

【自然語言處理 - spaCy】初探強大的工具庫spaCy, 讓機器讀懂我們的語言吧

上一篇章我們有提到「 【AI幫幫忙】機器如何識別我們的特徵?關鍵的Named Entity Recognition(NER)技術 」, 而NER是NLP自然語言處理的一部分, 而這一個篇章我們會以實作的形式來介紹自然語言處理中非常好用的一套工具「 spaCy 」,spaCy被廣泛用於各種NLP任務,包括自然語言理解、信息提取、文本分類和語言生成等。 會選擇這一套來進行使用主要是觀察到除了文檔完備豐富之外, 使用起來也非常易用, 對於非資料科學本科的使用者來說非常友善, 而今天的範例除了介紹基本的NLP常見任務之外,最後也會使用Named Entity Recognition來對一段文章提取實體特徵, 讓透過這些特徵更加了解一篇文章到底講了哪些關鍵。 目錄 安裝相關套件及下載模型。 載入模型。 Parser解析。 分析相依關係。 Named Entity Recognition (NER)。 下載模型 接著我們就直接進入正題吧! 首先進行安裝套件, 並載入模型, 這邊我們載入的是中文模型「 zh_core_web_trf 」, 而模型有以下四種: zh_core_web_sm : 這是最小的中文語言模型,用於基本的語言處理任務(分詞和詞性標註), 它的下載大小比較小,速度比較快,但是在處理複雜的語言問題時可能表現較差。 zh_core_web_md : 這是中等大小的中文語言模型,比  zh_core_web_sm  包含更多的詞彙、語言特徵和上下文信息,可以用於更多的語言處理任務,它的下載大小比較大,速度比較慢,但是在處理複雜的語言問題時表現較好。 zh_core_web_lg : 這是最大的中文語言模型,比  zh_core_web_md  包含更多的語言特徵和上下文信息,可以用於更複雜和高級的語言處理任務,例如自然語言生成和語言理解,它的下載大小非常大,速度非常慢,但是在處理最複雜的語言問題時表現最佳。 zh_core_web_trf : 這是基於 Transformer 技術的中文語言模型,是最先進和最強大的中文語言模型之一。它比  zh_core_web_lg  包含更多的語言特徵和上下文信息,同時使用 Transformer 技術可以更好地處理長文本和上下文相關性,但是它的下載大小更大,速度更慢,需要更多的計算資源。 安裝套件 spaCy: NLP處理。