1. 程式人生 > >NLP漢語自然語言處理原理與實踐 5 詞性、語塊和命名實體識別

NLP漢語自然語言處理原理與實踐 5 詞性、語塊和命名實體識別

        NLP中很多問題要求解的輸出標籤不是相互獨立的,而是時間或結構上相互依存的結構化標籤。這種結構包括序列、樹狀或更普通意義上的圖結構。而對於中文分詞、詞性標註、組塊標註、淺層語法分析等任務,標記和切分觀察序列都是序列結構的。解決詞類方法最常用的模型也是概率圖模型中的序列演算法。該技術基本成熟,已經被成功地用於文字檢索、文字分類、資訊抽取等應用之中,並對這些應用產生了實質性的幫助。

        任務的順序應該為,首先進行命名實體識別,然後進行詞性標註,最後才是語義組塊標註。但從演算法應用策略的複雜性而言,先介紹詞性標註,語義組塊標註,最後是命名實體識別。

        詞性標註

:僅僅使用最大熵演算法即可得到比較高精度的結果

        組塊標註最常用的演算法是條件隨機場演算法,在特徵上加了詞性之後,結果也不錯

        命名實體識別,使用了含有外部詞典的條件隨機場演算法及多層隱馬爾科夫模型(張華平)

收費資源:

     賓州大學開發的漢語句法樹庫(Chinese Tree Bank, CTB)和漢語命題庫(Chinese Proposition Bank, CPB),一個是中文短語結構樹庫,另一個是謂詞論元庫

     也可用NLTK下載CTB的英文樣例版,大約1000句

5.1 漢語詞性標註

     詞性:由它在句子中的成分所決定的,這是劃分詞類的依據。

     英文中的大多數單詞是沒有歧義的。但是漢語缺乏豐富的形態變化,無法從詞的形態變化來判斷漢語詞彙的詞性。而且常用詞的兼類現象非常嚴重。

     因此,漢語的詞性標註的主要任務與漢語分詞差別不大,主要仍是消歧問題。     

賓州樹庫的詞性標註規範

     《賓州規範》在實詞上與《北大規範》大同小異,但在虛詞上差異較大。

      最著名的是stanfordNLP的詞性標註模組。遵循賓州樹規範     

訓練模型檔案

     修改chinese-distsim.tagger.props即可完成訓練自己的模型          

5.2 語義組塊標註

     法國語言學家Steven Abney提出了組塊(Chunk)描述體系,即句內的一個非遞迴的核心成分。這種成分包含核心成分的前置修飾成分,而不包含後置附屬結構。他將句法分析問題分為如下三個階段

             塊識別:利用塊識別器快速識別出句子中所有的塊

             塊內結構分析:對每個塊內部的成分賦予合適的句法結構

             塊間關係分析:利用塊聯結器將各個不同的塊組合成完整的句法結構樹

      這樣的好處是,一方面由於對不同的子問題的準確功能定位,可以獨立地選用不同的語言模型和搜尋策略加以分析處理;另一方面,通過在塊層次上進行自底向上的塊間關係分析和自頂向下的塊內結構分析,可以大大提高整體分析效率,達到降低句子分析難度的目的。

      語義組塊的另一個用處在於淺層語法分析,即將語義角色標註的工作建立在淺層語法分析之上,不再使用句法解析樹,而是利用分析出來的語法組塊直接進行語義角色標註,希望利用相對更準確的組塊分析結果提升語義角色標註準確率。

      最後,最常用的一個領域是,語義組塊可用於知識庫的實體關係抽取

語義組塊的種類

       在濱州樹庫中的名詞短語(NP)是指中心詞為名詞所構成的短語,其語法功能相當於名詞性成分,一般可以在句子中充當主語、賓語、定語等。從語法的角度來講,該結構具有兩種含義:一種是指按句法成分構成的短語,如組塊在句子中充當主語、賓語等,這種NP可以增加輔助標籤NP-Sbj、NP-Obj;另一種是指知識庫中的實體和屬性,這種組塊稱為baseNP,

       (1)名詞-名詞複合詞:NN1 NN2 ... NNi序列

       (2)詞級並列結構:

       (3)有NR(專有名詞)加上一個或多個NN所組成的專有名詞NR+NN組成的專有名詞,組織或公司名稱、姓名+稱謂

       (4)日期與地點:

      所謂動詞短語(VP)就是以動詞為中心,與其修飾、限定或並列成分共同構成的一種語義組塊,除中心動詞表達的行為之外,其修飾和限定成分更明確和具體化動作的語義。有複合動詞短語、動詞+體標記(如了、著、過)

語義塊的抽取

     使用CRF來進行語義塊的識別,使用的語料一般為Penn TreeBank的CTB樹庫語料(標註方法為短語結構法)。

     需要通過如下三個階段來完成:

            (1)將Penn TreeBank樹庫中的語料從樹狀結構變為序列結構:轉換程式https://github.com/rainarch/ChunkLinkCTB在Perl環境下執行。

                     IOB表示法,推薦使用IOB的一個變種---start/end表示法,在中文分詞中最常使用的就是這種方法,其優勢是可對序列表達更為細緻。  

            (2)使用CRF演算法對製作好的語料進行訓練,生成模型

                     工具包:CRF++和CRFsuite

            (3)使用訓練的結果,測試組塊標註

     https://github.com/rainarch/ChunkLinkCTB

# perl chunklinkctb.pl  -fhHct  原始檔.mrg > 目標檔案.chunk

     https://taku910.github.io/crfpp/#download     

% ./configure 
% make
% make install
# ldconfig
      在example下建chunktest目錄

      http://www.threedweb.cn/thread-1589-1-1.html

      從

     ../../crf_learn template chtb_utf8_sample.chunk chunkmodel

5.3 命名實體識別

      命名實體識別技術是未登入詞中數量最多、識別難度最大、對分詞效果影響最大的問題,是資訊提取、資訊檢索、機器翻譯、問答系統等多種自然語言處理技術必不可少的組成部分。     

分詞架構與專名詞典

     一個大型分詞系統的簡單架構:


      執行步驟如下:

           (1)將輸入文字先使用核心詞典進行基礎分詞處理

           (2)對分詞結構的文字再按所屬領域計算文字所屬的分類

           (3)根據文字所屬的領域不同,執行使用領域專屬的分詞器,再對領域內的專名進行分詞

      上述架構的特點,將分詞器針對不同領域做了優化。

      一種設計思路是將命名實體任務從中文分詞的基礎模組中分離出來,Ltp和Stanford NLP中如此

          

演算法的策略----詞典與統計相結合

   以Ltp為案例,簡要剖析詞典與CRF演算法結合如何實現領域自適應的中文分詞

     http://www.threedweb.cn/thread-1394-1-2.html

     http://www.threedweb.cn/thread-1396-1-1.html    

演算法的策略---層疊式架構

     NLP中常用的層疊式架構包括:層疊式HMM和層疊式CRF

     HanLP分析    

相關推薦

NLP漢語自然語言處理原理實踐 5 詞性命名實體識別

        NLP中很多問題要求解的輸出標籤不是相互獨立的,而是時間或結構上相互依存的結構化標籤。這種結構包括序列、樹狀或更普通意義上的圖結構。而對於中文分詞、詞性標註、組塊標註、淺層語法分析等任務,標記和切分觀察序列都是序列結構的。解決詞類方法最常用的模型也是概率圖模

NLP漢語自然語言處理原理實踐》結構圖

自然語言處理 後續博客會根據上面的圖 結合一些其他資料更新 自然語言處理的朋友多多交流《NLP漢語自然語言處理原理與實踐》結構圖

NLP漢語自然語言處理原理實踐》第四章 NLP中的概率圖模型

目前最流行的演算法思想包含如下兩大流派:基於概率論和圖論的概率圖模型;基於人工神經網路的深度學習理論。 4.1概率論迴歸  4.1.1 多元概率論的幾個基本概念  4.1.2  貝葉斯與樸素貝葉斯演算法      

NLP漢語自然語言處理原理實踐》第三章 詞彙分詞技術

中文分詞的研究經歷了二十多年,基本上可以分為如下三個流派。 1.機械式分詞法(基於字典)。機械分詞的原理是將文件中的字串與詞典中的詞條進行逐一匹配,如果詞典中找到某個字串,則匹配成功,可以切分,否則不予切分。基於詞典的機械分詞法,實現簡單、實用性強,但機械分詞法的最大的缺點是詞典的完備

分享《NLP漢語自然語言處理原理實踐(鄭捷著)》PDF+原始碼

下載:https://pan.baidu.com/s/18l_exnf_sX4B1f9MMWUqFQ 更多資料:https://pan.baidu.com/s/1g4hv05UZ_w92uh9NNNkCaA 《NLP漢語自然語言處理原理與實踐(鄭捷著)》PDF+原始碼 PDF,547頁,帶書籤目錄。

NLP漢語自然語言處理原理實踐》第一章

一.基本知識 規則派還是統計派: 1.規則派:以語言學理論為基礎,根據語言學家對語言現象的認識,採用規則形式描述或解釋歧義行為或歧義特性。規則派首先要對大量的語言現象進行研究,歸納出一系列的語言規則。然後再形成一套複雜的規則集----語言分析或生產系統,對自然語言進行分析處

NLP漢語自然語言處理原理實踐》第三章 詞彙分詞技術

中文分詞的研究經歷了二十多年,基本上可以分為如下三個流派。 1.機械式分詞法(基於字典)。機械分詞的原理是將文件中的字串與詞典中的詞條進行逐一匹配,如果詞典中找到某個字串,則匹配成功,可以切分,否則

NLP漢語自然語言處理原理實踐 9 NLP中的深度學習

9.2 Word2Vec簡介      http://004123.ichengyun.net/thread-1598-1-1.html      下載word2vec原始碼      使用MSR分詞語料庫http://www.threedweb.cn/thread-15

NLP漢語自然語言處理實踐】分詞_筆記

統計 The 計算 分詞 其余 雙向 name -c max 一、兩種分詞標準: 1. 粗粒度。 將詞作為最小基本單位。比如:浙江大學。 主要用於自然語言處理的各種應用。 2. 細粒度。 不僅對詞匯繼續切分,也對詞匯內部的語素進行切分。比如:浙江/大學。 主要用於搜索

9. HanLP《自然語言處理入門》筆記--9.關鍵詞關鍵句短語提取

筆記轉載於GitHub專案:https://github.com/NLP-LOVE/Introduction-NLP 9. 資訊抽取 資訊抽取是一個寬泛的概念,指的是從非結構化文字中提取結構化資訊的一類技術。這類技術依然分為基於規則的正則匹配、有監督學習和無監督學習等各種實現方法。我們將使用一些簡單實用的無監

神聖的NLP!一文理解詞性標註依存分析命名實體識別任務

詞性標註(Part-of-Speech Tagging, POS)、命名實體識別(Name Entity Recognition,NER)和依存句法分析(Dependency Parsing)是自然語言處理中常用的基本任務,本文基於SpaCy python庫,通過一個具體的程

數字圖像處理原理實踐(MATLAB版)勘誤表

blog 核心 灰度變換 圖像復原 京東 .html href target 數字圖像處理 本文系《數字圖像處理原理與實踐(MATLAB版)》一書的勘誤表。【內容簡單介紹】本書全面系統地介紹了數字圖像處理技術的理論與方法,內容涉及幾何變換、灰度變換、圖像增強、圖像切割、

NLP-python 自然語言處理01

count ems odin 頻率分布 str sep mon location don 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Wed Sep 6 22:21:09 2017 4 5 @author: A

騰訊文智自然語言處理介紹情感分析API呼叫

一.產品概述 文智中文語義開放平臺是基於平行計算系統和分散式爬蟲平臺,結合獨特的語義分析技術,一站式滿足使用者NLP、轉碼、抽取、全網資料抓取等中文語義分析需求的開放平臺。使用者能夠基於平臺對外提供的OpenAPI實現搜尋、推薦、輿情、挖掘等語義分析應用 騰訊雲文智中文語

《數字影象處理原理實踐(MATLAB版)》一書之程式碼Part3

本文系《數字影象處理原理與實踐(MATLAB版)》一書之程式碼系列的Part3,輯錄該書第135至第184頁之程式碼,供有需要讀者下載研究使用。程式碼執行結果請參見原書配圖。-------------------------------------------P139orig

數字影象處理原理實踐(MATLAB版)勘誤表

本文系《數字影象處理原理與實踐(MATLAB版)》一書的勘誤表。【內容簡介】本書全面系統地介紹了數字影象處理技術的理論與方法,內容涉及幾何變換、灰度變換、影象增強、影象分割、影象去噪、小波變換、形態學處

《數字影象處理原理實踐(MATLAB版)》一書之程式碼Part1

本文系《數字影象處理原理與實踐(MATLAB版)》一書之程式碼系列的Part1(P1~42),程式碼執行結果請參見原書配圖。P20I = imread('lena.jpg');BW1 = im2bw(I

Python NLTK 自然語言處理入門例程

在這篇文章中,我們將基於 Python 討論自然語言處理(NLP)。本教程將會使用 Python NLTK 庫。NLTK 是一個當下流行的,用於自然語言處理的 Python 庫。那麼 NLP 到底是什麼?學習 NLP 能帶來什麼好處?簡單的說,自然語言處理( NLP )就是開發能夠理解人類語言的應用程式和服務

《深入淺出Python機器學習(段小手)》PDF代碼+《推薦系統深度學習》PDF及代碼+《自然語言處理理論實戰(唐聃)》PDF代碼源程序

數學分析 tar 認知 愛好者 代碼 pdf ima 收獲 c++ prime 《深入淺出Python機器學習》PDF,280頁,帶書簽目錄,文字可以復制;配套源代碼。 作者:段小手 下載: https://pan.baidu.com/s/1XUs-94n0qKR1F9

HanLP《自然語言處理入門》筆記--5.感知機模型序列標註

筆記轉載於GitHub專案:https://github.com/NLP-LOVE/Introduction-NLP 5. 感知機分類與序列標註 第4章我們利用隱馬爾可夫模型實現了第一個基於序列標註的中文分詞器,然而效果並不理想。事實上,隱馬爾可夫模型假設人們說的話僅僅取決於一個隱藏的{B.M,E,S序列,這