• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于深度學習的中文網(wǎng)絡招聘文本中的技能詞抽取方法

      2021-01-22 07:51:08文益民文博奚
      桂林電子科技大學學報 2020年4期
      關鍵詞:字符術語語料

      文益民, 楊 鵬, 文博奚, 蔡 翔

      (1.桂林電子科技大學 廣西可信軟件重點實驗室,廣西 桂林 541004;2.桂林電子科技大學 廣西圖像圖形智能處理重點實驗室,廣西 桂林 541004;3.桂林電子科技大學 商學院,廣西 桂林 541004)

      近年來,隨著我國高等教育的迅猛發(fā)展,大學畢業(yè)生日益增多。盡管就業(yè)崗位的數(shù)量也在不斷增加,但中國勞動力市場的供需失配的結構性問題依然非常嚴重。根據(jù)《中國勞動力市場技能缺口研究》報告,僅2016年中國就有超過1 200萬的本科和高職??飘厴I(yè)生。雖然中國擁有如此龐大的勞動力供應,但許多企業(yè)仍然很難招聘到合適的人才。因此,如何準確地了解企業(yè)需求,提高人才培養(yǎng)針對性是當務之急。隨著互聯(lián)網(wǎng)的普及,網(wǎng)絡招聘成為企業(yè)招聘人才的主流方式。招聘信息中含有企業(yè)對所招崗位專業(yè)能力的具體描述,反映了企業(yè)的需求。對網(wǎng)絡招聘數(shù)據(jù)進行分析,以提取工作崗位要求中的專業(yè)能力需求,可以解決這一難題。如今,一些研究嘗試利用網(wǎng)絡招聘信息分析企業(yè)招聘崗位對專業(yè)能力的需求。在國外,Kim等[1]通過對數(shù)據(jù)科學家崗位的招聘信息進行人工分析,總結出企業(yè)對數(shù)據(jù)科學家這個崗位所需的專業(yè)能力以及學歷等各方面的要求。De等[2]對2 700條大數(shù)據(jù)相關崗位信息進行分析,結合專家判斷,將大數(shù)據(jù)相關崗位劃分為4個崗位簇,并對每個崗位簇所需的技能進行評估。在國內(nèi),黃崑等[3]從智聯(lián)招聘網(wǎng)站上收集了2 615份有關數(shù)據(jù)分析、數(shù)據(jù)管理和數(shù)據(jù)挖掘崗位的招聘信息,從崗位基本信息、崗位職責、任職要求3個角度分析了這些崗位所招聘人才需要掌握的知識和能力要求,并對圖書館情報學科人才培養(yǎng)方案提出建議。

      然而,網(wǎng)絡招聘信息往往為非結構化文本,自動、準確地從招聘文本中抽取技能詞并非易事。為簡潔起見,將崗位對所需人才的專業(yè)知識和專業(yè)能力的要求稱為技能詞。技能詞可以看成是特定專業(yè)領域內(nèi)的命名實體[4]或者術語[5]。

      因此,網(wǎng)絡招聘文本技能詞的抽取任務可以借鑒命名實體識別或者術語抽取的方法。但是,通過對網(wǎng)絡招聘文本中技能詞的分析,可看出技能詞抽取與命名實體識別和術語抽取相比,具有其自身的特殊性與復雜性。具體表現(xiàn)在:1)部分技能詞類似于術語,用于表達各專業(yè)領域的特殊概念,僅僅在該領域特定上下文中才表示為技能詞,如“操作系統(tǒng)”“自然語言處理”“機器學習”等。2)部分技能詞具有與命名實體相似的特點,是文本中具有很強特定意義的實體,并且不受上下文影響,在任何場景下出現(xiàn)都表示為技能詞,如“Java”“Linux”“算法”等。3)技能詞不同于一般的命名實體(人名、地名、機構名等),沒有明確的關于技能詞的定義,不能清晰地界定技能詞的邊界,并且技能詞形式多變,表現(xiàn)在長度、組成模式等方面,如“C#”“數(shù)據(jù)庫/表結構索引設計”,還有類似于“Deep Learning框架”和“Neo4j”等中英文混合、數(shù)字英文混合詞語等形式。4)大量技能詞在表述時多采用英譯詞或英文縮寫,如“J2EE”和“JavaEE”等。5)已有詞表或者技能詞圖譜不足以涵蓋全部技能詞,而且隨著技術的不斷進步,新的技能詞會不斷出現(xiàn),如“聯(lián)邦學習”“膠囊網(wǎng)絡”等。6)技能詞存在嵌套形式,如“Linux操作系統(tǒng)”,其中“Linux”和“操作系統(tǒng)”又分別作為技能詞出現(xiàn)。此外,不同于正式文本,招聘信息通常很不規(guī)范,常常包含許多拼寫錯誤的技能詞,如將“Excel” 錯拼為“Excle”,“Linux”錯拼為“Liunx”等。如果直接按照詞頻進行精確匹配,將不能識別拼寫錯誤的技能詞,從而影響技能詞抽取的準確率。目前,雖然命名實體識別的相關工作很多,但重點都是在正式文本中識別人名、地名和機構名,而術語抽取的相關工作主要針對特定領域內(nèi)的術語識別,缺乏通用性和可移植性。由此可見,從招聘文本中抽取技能詞仍然是一項頗為艱巨的任務。

      選取IT類網(wǎng)絡招聘數(shù)據(jù)作為研究對象,分析了技能詞的特點,制定了相應的標注規(guī)則,對從招聘網(wǎng)站上獲取的招聘語料預處理后進行人工標注,將技能詞抽取任務轉化為序列標注問題,充分挖掘招聘語料的各類型特征,并分析了各類語料特征對技能詞抽取結果所起的作用。

      本研究的主要貢獻包括4個方面:

      1) 提出了一種基于深度學習的序列標注模型與語料特征相結合的網(wǎng)絡招聘文本中的技能詞抽取方法;

      2) 與經(jīng)典的序列標注模型相比,本模型引入了更多的語料特征,并將輸入層的輸出與Bi-LSTM輸出連接在一起作為CRF層的輸入,模型的性能得到了極大提高;

      3) 通過實驗評估了本模型中加入的語料特征是否能夠緩解模型對大量標注數(shù)據(jù)的依賴;

      4) 進行了大量實驗,實驗結果表明,本模型能夠從網(wǎng)絡招聘文本中自動、準確地抽取技能詞。

      1 相關工作

      本研究將技能詞抽取任務轉化為序列標注問題,類似于命名實體識別和術語抽取。因此,回顧與技能詞抽取密切相關的研究,這些相關研究工作包括不同種類技術的命名實體識別和術語抽取方法。

      命名實體識別是自然語言處理中一項基本任務,旨在識別特殊實體并將其分類為預定義類別的任務,例如產(chǎn)品名稱、旅游景點名稱、新聞領域的人名或生物醫(yī)學領域的疾病名稱[4]。術語抽取也是自然語言處理中一項基礎任務,指從文本中自動發(fā)現(xiàn)術語的過程[4],它可以應用于信息檢索、關系抽取、對話生成等復雜任務領域。隨著信息技術的不斷發(fā)展,各領域數(shù)據(jù)不斷擴張,產(chǎn)生大量的領域術語。這些領域術語在該領域中具有很強的特定意義,是構成該領域?qū)I(yè)文本的信息主體[5]。與術語識別類似,命名實體識別也是從一段自然語言文本中識別特定類型的實體。因此,命名實體識別也逐漸由識別通用對象轉向識別特定領域術語,特定領域術語抽取也逐漸采用命名識別中的方法。另外,從本質(zhì)上講,如果僅僅抽取文本中術語的名稱或簡稱,不標注術語的具體表述或評價,術語抽取可被視為一類命名實體識別[6]。當前,用于命名實體識別和術語抽取的方法可簡單地分為傳統(tǒng)方法和基于深度學習的方法。

      傳統(tǒng)方法大致可分為3類:基于規(guī)則、無監(jiān)督學習和基于特征的監(jiān)督學習方法?;谝?guī)則的命名實體識別方法依賴于人工制定的規(guī)則,而規(guī)則的設計一般是基于句法、語法、詞匯的模式以及特定的領域知識等。例如可通過結合中文姓氏詞典與詞性特征來識別中文人名“張三”[7]。同樣,基于規(guī)則的術語抽取方法也是主要通過分析語料,制定術語抽取規(guī)則。這些規(guī)則的制定依賴于領域知識,需要人工編制,很大程度上受限于人所具有的知識。Chen等[8]根據(jù)上下文信息和術語組成規(guī)則來實現(xiàn)術語抽取。由于不同領域的命名實體和術語組成方面有所差異,具有不同的特征,需要構建各式各樣的規(guī)則,因此這類方法移植性很差。無監(jiān)督學習的命名實體方法利用上下文語義相似性,從聚集的詞組中提取命名實體。Zhang等[9]提出了一種借助語料庫統(tǒng)計信息(例如逆文檔頻率和上下文向量)和淺層語法知識(例如名詞短語分塊)來推斷命名實體?;跓o監(jiān)督學習的術語抽取方法通常先從語料庫中選取候選術語,然后利用統(tǒng)計信息(例如使用詞頻和詞長度、互信息等)計算候選術語成為術語的可能性。Pantel等[10]提出了一種基于語料庫統(tǒng)計的術語抽取方法,通過計算2個詞語或2個詞語組成的詞串之間的互信息和似然比相結合的方法,對候選術語進行評分,從而實現(xiàn)對術語的抽取。這類方法不僅依賴中文分詞的準確性,而且存在無法識別低頻命名實體和術語的缺陷。基于特征的有監(jiān)督學習方法是目前常用的方法,利用監(jiān)督學習將命名實體識別和術語抽取任務轉化為序列標注問題。根據(jù)標注好的數(shù)據(jù),研究者應用領域知識與工程技巧設計復雜的特征(如單詞特征、上下文特征、詞典及詞性特征等)來表征每個訓練樣本,然后應用機器學習方法(如支持向量機[11-12](support vector machine,簡稱SVM),隱馬爾科夫模型[13-14](hidden Markov model,簡稱HMM),條件隨機場[15-16](conditional random field,簡稱CRF)等訓練模型對詞語進行分類。這類方法需要精細的人工特征以及大量的領域知識,很難識別新的較長的組合型命名實體和術語。

      近年來,深度神經(jīng)網(wǎng)絡已成為有效提取命名實體或術語潛在特征的主流方法。標準的做法是運用不同的神經(jīng)網(wǎng)絡模型(卷積神經(jīng)網(wǎng)絡,convolutional neural networks,簡稱CNN;長期短期記憶,long short term memory,簡稱LSTM)提取不同類型的表示形式(字符級或單詞級),將學習到的特征表示饋入頂部的CRF層中以進行序列標簽預測,從而實現(xiàn)命名實體識別或術語抽取。Collobert等[17]利用CNN網(wǎng)絡學習單詞級特征表示,將學習到的特征表示饋入CRF進行序列標簽預測。Lample等[18]利用Bi-LSTM網(wǎng)絡結構提取字符的上下文潛在特征表示,并利用CRF層進行標簽解碼。Huang等[19]提出了一個與LSTM-CRF類似的模型,但是加入了人工構造的特征(例如,單詞是否以大寫字母開頭,字母的前綴和后綴等)。首先通過Bi-LSTM網(wǎng)絡提取了字符的上下文潛在特征表示,然后將其與人工構造特征相連接,最后將其輸入到CRF層中。CNN-CRF模型與LSTM-CRF(bidirectional long short term memory-conditional random field)模型的區(qū)別在于,CNN網(wǎng)絡對提取詞的形態(tài)信息(例如詞的前綴和后綴)非常有效,主要適用于英文處理,英文單詞是由更細粒度的字母組成,這些字母潛藏著一些特征,而中文單字無法分解,在中文中可能并不適用。但CNN網(wǎng)絡在長序列輸入上特征提取能力弱,而LSTM提供了長距離的依賴,擁有較強的長序列特征提取能力。因此,有研究者為了充分利用這2個模型的優(yōu)點,將兩者結合。Ma[20]提出了Bi-directional LSTM-CNNs-CRF網(wǎng)絡架構。在該架構中,CNN網(wǎng)絡首先用于提取單詞的字符級特征表示,將CNN網(wǎng)絡提取出的字符級特征表示與預訓練的詞嵌入連接起來,然后再饋入LSTM網(wǎng)絡以提取單詞級的上下文潛在特征表示,最后進入CRF層進行標簽解碼。這些基于神經(jīng)網(wǎng)絡的方法不需要特定于任務的特征工程,便可獲得良好的性能。

      深度學習也逐漸應用在術語抽取研究工作中。閆興龍等[21]提出了一種基于帶條件隨機場的雙向長期短期記憶(Bi-LSTM-CRF)的新型網(wǎng)絡安全實體識別模型,以從非結構化文本中提取與安全相關的概念和實體。趙東玥等[22]同樣采用了Bi-LSTM模型對科技文獻進行術語抽取。趙洪等[23]以Bi-LSTM-CRF模型為基礎框架,融入了理論術語的語料特征(例如理論術語的尾詞特征、術語的構詞特征等),構建了基于深度學習的理論術語抽取模型,并提出一種自訓練算法,以實現(xiàn)模型的弱監(jiān)督學習。

      另外,目前針對中文技能詞提取的研究工作非常少。俞琰等[24]從前途無憂招聘網(wǎng)站中抓取了10 000條計算機領域和30 000條非計算機領域的招聘信息,利用依存句法分析從計算機領域的招聘信息中選取候選技能,再利用非計算機領域的招聘信息計算候選技能中每個詞的領域相關性并與候選技能的詞頻、詞長等統(tǒng)計信息相結合得出融合領域相關性的C-value值,按值降序排列。最終選取前N個候選技能信息作為被抽取的技能詞進行人工判定是否正確。

      鑒于深度學習模型在序列標注問題上的優(yōu)異性能,擬將深度學習方法應用于技能詞抽取,并根據(jù)技能詞的特點,充分挖掘語料的各類型特征與深度學習方法相結合,構建面向招聘領域的技能詞抽取模型。由于是首次開展基于深度學習抽取技能詞的研究,采用Bi-LSTM-CRF模型[15]作為本研究技能詞抽取模型的基礎框架。但與之相比,文獻[15]針對英文正式文本的命名實體識別,而本研究的工作是針對中文招聘文本的技能詞抽取屬于非正式文本,具有更強的干擾性。此外,在輸入層中加入語料特征,并將輸入層的輸出與Bi-LSTM層的輸出相連接作為CRF層的輸入。而文獻[15]并未將人工構造的特征經(jīng)過輸入層和Bi-LSTM層,而是直接連接到Bi-LSTM的輸出。趙洪等[23]的工作與本研究最為相似,同樣采用Bi-LSTM-CRF模型[15]作為基礎框架。但不同之處在于,本研究是針對招聘領域的技能詞抽取,輸入層中加入的語料特征的選取更多的是考慮到結合與技能詞所相關的特性,所構造的是基于字符級的語料特征。文獻[23]所選取的理論術語的語料特征更多是從術語的構詞特征考慮,并且基于詞語級的特征。此外,在進入CRF層前,還要將輸入層的輸出與Bi-LSTM層的輸出進行拼接以更好地提升模型的預測性能。俞琰等[24]針對網(wǎng)絡招聘數(shù)據(jù)的技能詞抽取,但采用的是無監(jiān)督學習方法,需要利用詞頻、詞長等統(tǒng)計信息來抽取技能詞,并且還需要依靠人工判定抽取出的技能詞是否準確。而本研究是采用有監(jiān)督學習方法,通過學習訓練文本特征,構造模型來抽取技能詞,能夠彌補無監(jiān)督學習方法無法識別低頻技能詞的缺陷。

      2 基于深度學習的技能詞抽取模型

      提出的技能詞抽取模型如圖1所示。模型由4個層次的模塊組成,即輸入層、Bi-LSTM層、特征拼接層和CRF層。在輸入層中,將每個輸入語句轉換為一系列字符特征向量,再與輸入語句中各個字符的位置特征(Seg)、輸入語句分詞后的詞性特征(Pos)和技能詞的上下文特征(Con)進行拼接,將其輸入到Bi-LSTM層中,以將上下文信息順序編碼為固定長度的隱藏向量,接著在特征拼接層中將輸入層的輸出與Bi-LSTM層的輸出連接在一起,作為CRF層的輸入。最后由CRF層預測出最佳標簽序列作為整個網(wǎng)絡的輸出。

      圖1 基于深度學習的技能詞抽取模型

      2.1 輸入層

      在輸入層中分為2個步驟。1)將輸入語句轉換為字符級密集向量序列。先生成包含語料庫中所有字符的字典,再用一個嵌入矩陣M∈RD×V將每個字符映射為一個密集矢量,其中D為嵌入向量維度,V為字典中所有字符的總量。輸入句子表示為S=[w1,w2,…,wn],其中n是句子的長度,wi∈RV是輸入語句中第i個字符在字典中的one-hot表示。句子的字符嵌入向量表示為[c1,c2,…,cn],其中ci∈RD。

      2)加入網(wǎng)絡招聘信息中字符的各類語料特征,與字符嵌入向量拼接。語料特征主要由3種特征構成:位置特征(Seg)、詞性特征(Pos)和上下文特征(Con)。

      位置特征(Seg)是指對輸入句子進行jieba分詞后,每個字符與所在詞語的相對位置。如“操作系統(tǒng)”是分詞后得到的詞,那么“操”的位置特征標記為“0”,“作”的位置特征標記為“1”,“系”的位置特征標記為“2”,“統(tǒng)”的位置特征標記為“3”。詞性特征(Pos)是指將輸入語句進行jieba分詞后將每個字符的詞性標記為所在詞語所對應的詞性。如“具備”的詞性為“動詞”,則“具”“備”的詞性都記為“動詞”。根據(jù)術語特性可知,有些詞只在本領域流通。而本模型所抽取的技能詞大多都屬于特定領域,因此可考慮在技能詞抽取時加入詞語的位置特征。同樣,通過對技能詞的分析可知,雖然技能詞的構成模式有很多種,但是大部分是名詞性短語,可見詞性對于技能詞識別是另一個重要的特征。

      上下文特征(Con)是根據(jù)技能詞的上下文特點構造的特征。首先,通過分析招聘語料庫,隨機抽取了1 000多條網(wǎng)絡招聘文本后發(fā)現(xiàn):包含技能詞的文本通常為動賓結構,且技能詞大多數(shù)為“名詞/名詞性短語”,如“熟悉關系型數(shù)據(jù)庫”。技能詞在句子中的位置主要位于動詞、形容詞/形容詞短語或“和”“或”以及“、”等之后。例如“了解自然語言處理”“常用的機器學習算法”“掌握文本挖掘、實體抽取、詞性標注等技術”。表1統(tǒng)計了網(wǎng)絡招聘語料中技能詞出現(xiàn)的位置。通過分析技能詞出現(xiàn)的下文可發(fā)現(xiàn),其下文使用了較多的習慣語,如“掌握XX能力”和“具有XX經(jīng)驗”等。

      因此,在標注上下文特征時,首先將輸入語句進行jieba分詞,提取每個詞的詞性,然后依據(jù)如下規(guī)則進行標注。

      表1 網(wǎng)絡招聘語料中技能詞出現(xiàn)的位置

      1)若“動詞”之后出現(xiàn)“名詞”,則將該“動詞”詞語組成的字符都標注為“1”,該“名詞”詞語組成的字符都標注為“0”。如“掌握”之后出現(xiàn)“名詞”,則“掌”和“握”都標注為“1”。

      2)若“動詞”之后出現(xiàn)其他詞性詞語,則將該“動詞”和其他詞性詞語組成的字符都標注為“0”。

      3)若“形容詞/形容詞短語”之后出現(xiàn)“名詞”,則將該“形容詞/形容詞短語”詞語組成的字符都標注為“2”,該“名詞”詞語組成的字符都標注為“0”,如“常用的”之后出現(xiàn)“名詞”,則“?!?、“用”和“的”都標注為“2”。

      4) 若“形容詞/形容詞短語”之后出現(xiàn)其他詞性詞語,則將該“形容詞/形容詞短語”和其他詞性詞語組成的字符都標注為“0”。

      5)若以并列形式,連續(xù)出現(xiàn)2個或2個以上的“名詞”,則將并列形式的連接字符,如“、”與“和”等都標注為“3”。

      6)若以“動詞 +名詞+名詞”形式出現(xiàn),則將后一個“名詞”詞語組成的字符都標注為“4”,該“動詞”詞語組成的字符都標注為“1”,第一個“名詞”詞語組成的字符都標注為“0”,如“具有XX能力”,則“具”、“有”都標注為“1”,“能”、“力”都標注為“4”。

      7)若非以上諸情況,輸入語句中的其他字符都標注為“0”。關于如何給每個字符標注上下文特征,舉一個例子,如“具備數(shù)據(jù)庫和數(shù)據(jù)結構基礎?!睒俗椤熬?1備/1數(shù)/0據(jù)/0庫/0和/3數(shù)/0據(jù)/0結/0構/0基/4礎/4。/0”。具體技能詞的上下文特征詞如表2所示。

      表2 技能詞的上下文特征詞

      最后,輸入層的輸出由各輸入語句序列中每個節(jié)點的字符特征向量、位置特征向量(Seg)、詞性特征向量(Pos)和上下文特征向量(Con)四組特征向量構成,即Xi=[ci,segi,coni]。例如:輸入語句為“具備數(shù)據(jù)庫和數(shù)據(jù)結構基礎”,詞性特征向量表示為“0,0,1,1,1,2,1,1,1,1,1,1”,其中“0”代表動詞,“1”代表名詞,“2”代表連詞。位置特征向量表示為“0,1,0,1,2,0,0,1,2,3,0,1”,其中“0”代表所在詞語的第一個字符,“1”代表所在詞語的第二個字符,……。上下文特征表示為“1,1,0,0,0,3,0,0,0,0,4,4”。

      2.2 Bi-LSTM層

      LSTM是一種特殊類型的遞歸神經(jīng)網(wǎng)絡(recurrent neural network,簡稱RNN),它可以捕獲長距離序列信息,并且在序列數(shù)據(jù)建模方面功能強大。與標準RNN的區(qū)別在于,LSTM在隱藏層的神經(jīng)元中加入細胞狀態(tài)和輸入門、遺忘門、輸出門。細胞狀態(tài)更新時需要同時使用輸入門和遺忘門結果。具體實現(xiàn)為:

      it=σ(WxiVt+Whiht-1+Wcict-1+bi);

      (1)

      ft=σ(WxfXt+Whfht-1+Wcfct-1+bf);

      (2)

      ct=ft?ct-1+it?tanh(WxcXt+Whcht-1+bc);

      (3)

      ot=σ(WxoXt+Whoht-1+Wcoct+bo);

      (4)

      ht=ot?tanh(ct)。

      (5)

      其中:σ為logistic sigmoid激活函數(shù);?為元素的乘積。在t時刻,i、f、o和c分別代表輸入門、遺忘門、輸出門和細胞狀態(tài)。輸入門、輸出門和遺忘門由sigmoid激活函數(shù)實現(xiàn),細胞狀態(tài)由3個門控制。權重矩陣W下標表示每個門之間的連接,b為偏置。例如,Wxi為輸入節(jié)點Xt與輸入門之間權重矩陣;Whi為t-1時刻隱藏層狀態(tài)ht-1與輸入門之間權重矩陣;Wci為t-1時刻細胞狀態(tài)ct-1與與輸入門之間權重矩陣。

      2.3 特征拼接層

      特征拼接層將Bi-LSTM的輸出與前面輸入層中的字符嵌入特征向量、位置特征(Seg)、詞性特征(Pos)和技能詞上下文特征(Con)拼接在一起,以期更好地提升模型的識別準確率。拼接后,第i個字符的特征表示為Ai=[hi,Xi]。其中,Xi為輸入層中第i個字符的輸出,hi為Bi-LSTM層中第i個字符的輸出。此外,為了避免簡單的線性組合,增強神經(jīng)網(wǎng)絡模型的非線性因素,提出在特征拼接層輸出前,將Bi-LSTM層與輸入層的輸出拼接后的向量Ai映射成L維向量。其中,L是技能詞標簽集中標簽的數(shù)量。即Oi=tanh(w*Ai+b),Oi∈RL。其中,tanh為激活函數(shù),w是映射的權重,b是偏置,將φ={w,b}記為特征拼接層中的參數(shù)集。最終,特征拼接層的輸出為O=[O1,O2,…,On]。

      2.4 CRF層

      從特征拼接層輸出的向量可以直接用作特征,通過softmax函數(shù)輸出每個字符預測的分類標簽。但是,在序列標注任務中,每個輸入字符的標簽都涉及上下文語義關系,相鄰標簽通常具有很強的依賴性。而softmax計算依據(jù)的是字符分類標簽的狀態(tài)概率,未考慮序列本身的全局最優(yōu)問題,來為每個輸入字符輸出最可能的標簽。例如,用BIO定義字符序列的標簽集表示,“B”表示該字符是技能詞的開頭,“I”表示字符位于技能詞的中間位置,“O”表示該字符不屬于技能詞的一部分,“I”標簽通常在“B”或“I”之后,但不可能在“O”之后。CRF層可以約束最終的預測標簽以確保它們有效。這些約束可以由CRF層在訓練過程中自動從訓練數(shù)據(jù)中學習。

      用y=[y1,y2,…,yn]表示句子S的標簽序列,其中yi∈RL是第i個字符標簽的one-hot表示。CRF層的輸入是特征拼接層的輸出,CRF層的輸出是標簽序列y。輸入O的標簽序列y的條件概率計算如下[25]:

      (6)

      其中:Y(S)為句子s的所有可能標簽序列的集合;Ψ(Oi,yi,yi-1)為勢函數(shù),

      (7)

      其中:E∈RL×L,F(xiàn)∈RL×L為CRF層的參數(shù);θ為參數(shù)集,即θ={E,F}。CRF層的損失函數(shù):

      (8)

      其中corpus是訓練數(shù)據(jù)集中的所有語句。

      2.5 訓練過程

      本研究使用學習率為0.001的小批量自適應矩估計(Adam)優(yōu)化算法,以端到端的方式訓練技能詞抽取模型。在訓練期間,使用每批次20條語句訓練100個周期。換句話說,在每個周期中,語料庫中1 006條語料被隨機分為51個批次進行訓練,每個批次不超過20個句子。對于每一批次,采用預先訓練的字符嵌入而非隨機初始化的嵌入作為輸入字符的嵌入特征向量。在CRF層中,使用動態(tài)編程來計算式(6)的結果并預測標簽序列。最后,反向傳播時根據(jù)CRF層預測出的標簽序列與真實標簽序列之間的誤差,依次更新CRF層中的參數(shù)集θ、特征拼接層中的參數(shù)集φ以及Bi-LSTM層中的所有的權重矩陣和網(wǎng)絡參數(shù)并保存模型。

      3 實驗分析

      為了驗證提出的技能詞抽取模型的有效性,將本模型與主流方法進行比較。在實驗中詳細描述數(shù)據(jù)集、標注策略、預訓練的字符向量、模型參數(shù)設置、結果分析。

      3.1 數(shù)據(jù)集與評價指標

      智聯(lián)招聘是國內(nèi)最大的在線招聘網(wǎng)站之一。它擁有400萬個合作公司,每天在各個領域發(fā)布大量的招聘職位。為了有效地利用這些信息,設計了一種具有布隆過濾器的計算機自動網(wǎng)絡爬蟲程序,系統(tǒng)地檢索招聘網(wǎng)頁并將其存儲在數(shù)據(jù)庫中,然后從檢索的網(wǎng)頁中提取特定信息。提取的信息包括職位名稱、發(fā)布時間、崗位職責要求、職位鏈接、職位類別、招聘人數(shù)、學歷要求、經(jīng)驗要求、薪資和福利待遇、工作地點、公司所在地和招聘公司名稱。本研究于2017年10月開始收集數(shù)據(jù),一直持續(xù)至今。截至2018年12月31日,已獲得超過1 300萬條無重復的崗位招聘數(shù)據(jù)。其中,獲得IT行業(yè)類別數(shù)據(jù)1 364 874條。收集的數(shù)據(jù)涵蓋了中國336個城市、13個行業(yè)類別和930個職位類別。

      圖2為網(wǎng)絡招聘文本示例,其中“C++”“Linux”“推薦系統(tǒng)”等為崗位所要求的專業(yè)知識或?qū)I(yè)能力。在此實驗中,選擇IT行業(yè)類別的崗位招聘數(shù)據(jù)作為語料庫。將每條職位招聘數(shù)據(jù)中的“崗位職責要求”視為一條語句。由于時間和手工標注成本的限制,僅標注了1 006條“崗位職責要求”作為實驗語料。在標注語料時,嘗試選擇句法結構標準的句子作為研究語料,并將語句中的專業(yè)課程名稱、專業(yè)知識點和相關專業(yè)工具標記為技能詞,例如“C語言程序設計”“堆排序”“SpringMVC框架”等。因此,一條語句將被標記為:“熟/ O悉/ O機/ B-SKILL器/ I-SKILL學/ I-SKILL習/ I-SKILL與/ O自/ B-SKILL然/ I-SKILL語/ I-SKILL言/ I-SKILL處/ I-SKILL理/ I-SKILL。/O”。

      圖2 網(wǎng)絡招聘文本示例

      由于沒有明確的標準如何將數(shù)據(jù)集劃分為訓練/驗證/測試集,在實驗中將數(shù)據(jù)集進行兩輪交叉驗證。首先將整個數(shù)據(jù)集劃分成5份,選擇其中的80%作為訓練數(shù)據(jù),而將其余20%用作測試數(shù)據(jù)。然后,再次將訓練數(shù)據(jù)劃分成10份,選擇其中的90%作為最終訓練數(shù)據(jù),并將其余的10%用作驗證數(shù)據(jù)。換句話說,將全部數(shù)據(jù)的72%作為訓練數(shù)據(jù),將8%作為驗證數(shù)據(jù),將20%作為測試數(shù)據(jù)。每次實驗的訓練周期為100個周期,通過驗證集找出訓練集在這100個周期內(nèi)最佳網(wǎng)絡模型參數(shù)后再使用測試集進行測試,以獲得本次驗證的結果。表3中分別展示了用于訓練、驗證和測試數(shù)據(jù)集的句子數(shù)、技能詞數(shù)量。值得注意的是,由于每個句子中包含的技能詞數(shù)量不同,訓練/驗證/測試數(shù)據(jù)集中的技能詞數(shù)量會隨著每次劃分而動態(tài)變化,因此,技能詞數(shù)量的范圍也在表中。

      實驗采用機器學習中常用的準確率(precision)、召回率(recall)指標評價技能詞抽取模型的性能,并采用F1值指標評價其綜合性能。

      表3 數(shù)據(jù)集的統(tǒng)計信息

      3.2 模型參數(shù)設置

      為了考慮批量訓練樣本量大小(batch)和學習率對本模型的影響,通過實驗進行超參數(shù)選擇。首先,根據(jù)已有的參考文獻中批量訓練樣本量大小和學習率的使用,確定出batch大小和學習率的選擇范圍,分別為[20、50、100]和[0.001、0.002]。其次,在交叉驗證的實驗方案基礎上,嘗試使用不同批量訓練樣本量大小(batch)和學習率的參數(shù)組合,結果如圖3所示。

      圖3 采用不同批次大小和學習率時模型的準確率、召回率、F1值

      從圖3可看出,當批量訓練樣本量大小設置為20,學習率設置為0.001時,該模型可獲得最佳總體效果。因此可認為,最合適的批次大小為20,最佳學習率為0.001。

      模型的其他超參數(shù)的初始值設置:字符嵌入特征向量設置為100。本研究使用的是word2vec中的CBOW模型對中文維基百科語料預訓練的字符向量[26],epoch次數(shù)固定為100,隱藏層維度固定為100,其他網(wǎng)絡參數(shù)包括特征拼接層中的參數(shù)集φ和Bi-LSTM層中所有權重矩陣的初始值,以及CRF層的參數(shù)集θ在[-1,1]范圍內(nèi)隨機地均勻初始化。

      3.3 實驗結果與分析

      實驗1為了驗證提出的技能詞抽取模型中所加入的各類語料特征對技能詞抽取有效性的影響,進行了本組實驗。具體實驗設置如下:選擇基于字符級的Bi-LSTM-CRF模型作為基線對比實驗,此時只將字符嵌入特征輸入網(wǎng)絡,并不輸入字符的語料特征。然后,分別在Bi-LSTM-CRF模型的輸入層中加入不同類型的語料特征,如Model_1代表在Bi-LSTM-CRF的輸入層中加入字符的位置特征(seg)、但并未將輸出層的輸出與Bi-LSTM層的輸出進行拼接,Model_4代表在Model_1基礎上加入技能詞的上下文特征(con),即在Bi-LSTM-CRF的輸入層中加入所有語料特征。Model_8代表在Bi-LSTM-CRF的輸入層中加入所有語料特征,并且將輸出層的輸出與Bi-LSTM層的輸出進行拼接,即最終的技能詞抽取模型。

      從表4可看出,在Bi-LSTM-CRF模型的輸入層中分別加入位置特征(seg)、詞性特征(pos)和技能詞的上下文特征(con)時,相比于Bi-LSTM-CRF模型的F1值分別提升了0.44%、0.35%和7.66%。其中,加入上下文特征獲得的提升最大,這是因為:由于招聘語料的句法結構比較單一,技能詞的上下文特征較為固定,充分挖掘技能詞上下文特征能較好地反映技能詞在語料中出現(xiàn)的位置,能有效地抽取出“……具備數(shù)據(jù)庫開發(fā)能力……”“……常用的Java、C、python等編程語言……”這類具有明顯句法結構的技能詞,從而使訓練出的模型更具有泛化能力。而字符的位置特征(seg)和詞性特征(pos)的加入,雖然提高了F1值,但提升的幅度不是很大。其中可能的原因是:詞語的位置特征(seg)是通過對句子進行jieba分詞,再提取每個字符與所在詞語的相對位置而得到的。中文分詞結果的不準確性影響了字符位置特征的提取,從而對技能詞的抽取帶來了一定程度的干擾。對于詞性特征(pos),則可能是因為jieba分詞無法標注出英文字符的詞性,以及技能詞的構成在詞法特征上規(guī)律性不強。

      表4 各種語料特征加入后技能詞抽取的性能

      從表4中還可看出:如果同時將字符的位置特征(seg)和詞性特征(pos)加入到Bi-LSTM-CRF模型的輸入層中,相比于Bi-LSTM-CRF,模型的F1值提升了0.5%;如果同時將字符的位置特征(Seg)和技能詞的上下文特征(con)加入到Bi-LSTM-CRF模型的輸入層中,相比于Bi-LSTM-CRF,模型的F1值提升了7.83%;如果同時將詞性特征(pos)和技能詞的上下文特征(con)加入到Bi-LSTM-CRF模型的輸入層中,相比于Bi-LSTM-CRF,模型的F1值提升了7.78%;如果同時將字符的位置特征(Seg)、詞性特征(Pos)和技能詞的上下文特征(Con)都加入到Bi-LSTM-CRF模型的輸入層中,模型的F1值能得到更進一步的提升,從0.789 2提高到了0.870 6,提升幅度達到8.14%。因此,在模型中加入的語料特征越多,越有利于模型的技能詞抽取。

      另外,在Bi-LSTM-CRF的輸入層中加入所有語料特征的同時,將輸入層的輸出和Bi-LSTM層的輸出拼接,即為最終提出的技能詞抽取模型。相比于只加入語料特征的情況,又進一步提升了模型的F1值,提升幅度達8.23%。最終可得出結論,本模型能夠有效進行技能詞抽取,并且抽取性能得到了極大提高,加入各類語料特征也有利于技能詞抽取性能的提升。

      實驗2為了驗證本模型中所加入的各類語料特征,在不同規(guī)模訓練集下也是否都有利于模型抽取性能的提升,以及評估所加入的豐富的語料特征是否能夠緩解模型對大量標注數(shù)據(jù)需求的依賴,在實驗1的基礎上,進一步從訓練集中抽取25%、50%和75%的樣本,同時保持測試集不變,進行實驗,實驗結果如表5所示。

      樣本抽取的具體方法如下:在每次使用兩輪交叉驗證方法實現(xiàn)對數(shù)據(jù)的劃分后,再將訓練數(shù)據(jù)平均分成N份,每次選擇其中若干份作為最終訓練集,并重復進行多次實驗。25%訓練集的抽取方案為:將訓練集劃分為4份,每次選擇1份作為最終訓練集,實驗重復4次;50%的訓練集抽取方案為:將訓練集劃分成2份,每次選擇1份作為最終訓練集,實驗重復2次;75%的訓練集抽取方案為:將訓練集劃分成4份,每次選擇3份作為最終訓練集,實驗重復4次。本組實驗在不同訓練集比例下,同樣也是選擇Bi-LSTM-CRF模型作為基線對比實驗。

      表5 不同訓練集比例下加入各類語料特征后的技能詞抽取性能

      如表5所示,在不同規(guī)模的訓練集下,本模型抽取性能相比于Bi-LSTM-CRF模型仍有較大提升,在25%、50%和75%訓練集比例下,F(xiàn)1值分別由0.726 7、0.764 6和0.780 7提高到了0.833 6、0.851 7和0.864 6。另外,在不同比例的訓練集下,加入的各類型語料特征也依然有利于模型抽取性能的提升,并且可以得出與實驗1中使用全部訓練集同樣的結論,即在模型中加入的語料特征越多,越有利于模型的技能詞抽取。例如:在25%、50%和75%訓練集比例下,僅加入詞性特征(Pos),相比于Bi-LSTM-CRF模型的F1值分別提升了0.74%、0.18%和0.48%。若同時將字符的位置特征(Seg)和詞性特征(Pos)加入Bi-LSTM-CRF模型的輸入層,相比于Bi-LSTM-CRF模型的F1值分別提升了1.32%、0.44%、0.46%。而同時將字符的位置特征(Seg)、詞性特征(Pos)和技能詞的上下文特征(Con)都加入Bi-LSTM-CRF模型的輸入層,模型的F1值又能得到更進一步的提升,分別從0.726 7、0.764 6和0.780 7提高到了0.826 7、0.849 1和0.862 3,提升幅度分別達到10.0%、8.45%和8.16%。

      從表5還可看出:在Bi-LSTM-CRF模型的輸入層加入豐富的語料特征確實減輕了可用標注數(shù)據(jù)的不足。例如,訓練集比例為75%時,Bi-LSTM-CRF模型的輸入層僅使用字符嵌入特征情況下的F1值為78.07%,而訓練集比例為50%時,在Bi-LSTM-CRF模型的輸入層加入位置特征(Seg)和詞性特征(Pos)情況下的F1值為76.90%;訓練集比例為100%時,Bi-LSTM-CRF模型的輸入層僅使用字符嵌入特征情況下的F1值為78.92%,而訓練集比例僅為25%時,在Bi-LSTM-CRF模型的輸入層加入技能詞的上下文特征(Con)情況下的F1值便可達81.72%。因此,可得出結論,加入豐富的語料特征本模型能夠緩解模型對大量標注數(shù)據(jù)的依賴。

      實驗3為了說明提出的技能詞抽取模型的有效性,選取了目前主流的序列標注模型BERT-Bi-LSTM-CRF和IDCNN-CRF模型進行對比。雖然本模型所選擇的對比方法在英文數(shù)據(jù)集上進行實驗取得不錯的效果,但該類型框架具有通用性,受語言差異影響較小,并且在進行實驗時采用同樣的數(shù)據(jù)處理方式。

      方法1BERT-Bi-LSTM-CRF:BERT(bidirectional encoder representations from transformers)是一種由Devlin等[27]等提出的以Transformers為主要框架的雙向編碼表征模型。BERT-Bi-LSTM-CRF是在預訓練的BERT模型的頂部添加了用于序列標記的Bi-LSTM層和CRF層,并且通過招聘語料數(shù)據(jù)對預訓練的BERT模型的參數(shù)進行調(diào)整。

      方法2IDCNN-CRF:IDCNN-CRF(iterated dilated convolutional neural network-conditional random field)模型是由Emma等[28]提出的,類似于Bi-LSTM-CRF模型,采用深度學習模型進行特征提取,再放入CRF層解碼出標注結果。但不同于Bi-LSTM網(wǎng)絡,該模型用4個結構相同的膨脹卷積(DCNN)提取語句特征,稱之為IDCNN。

      數(shù)據(jù)集的劃分同樣采用交叉驗證的實驗方案。同樣選擇Bi-LSTM-CRF模型作為基線對比模型,實驗結果如表6所示。方法1中BERT-Bi-LSTM-CRF模型的超參數(shù)設置如下,初始學習率為0.001、epoch次數(shù)為50、隱藏層維度為100和批量訓練樣本量為32。方法2中IDCNN-CRF模型的超參數(shù)設置如下,字符嵌入維度為100、初始學習率為0.001、epoch次數(shù)為100、卷積核大小為1*3和批量訓練樣本量為20。

      表6 不同網(wǎng)絡模型抽取性能對比

      從表6可看出,本技能詞抽取模型的F1值遠優(yōu)于方法1的BERT-Bi-LSTM-CRF模型和方法2的IDCNN-CRF模型的F1值。此外,考慮到BERT模型的訓練使用了非常龐大的公共資源訓練語料庫,而本技能詞抽取模型的訓練僅使用少部分人工標注的語料。因此,可得出結論,本技能詞抽取模型可有效地抽取技能詞,并且加入的語料特征更有利于模型的抽取性能提升。

      4 結束語

      技能詞是分析大規(guī)模招聘數(shù)據(jù)與勞動力市場供求關系的基礎。提出了一種基于深度學習的技能詞抽取方法,實驗結果表明,充分挖掘招聘語料的內(nèi)部特征可以提高技能詞抽取的準確性。實驗結果還表明,引入豐富的語料特征能夠緩解模型對大量標注數(shù)據(jù)需求的依賴問題。目前,通過預訓練的字符嵌入作為輸入字符的形式化表示,但字符嵌入的預訓練受訓練語料的語義影響,未來的工作包括如何利用動態(tài)詞嵌入來更好地提取技能詞,以及如何利用大量未標記的語料庫或遷移學習方法來減少對標注數(shù)據(jù)的依賴性。

      猜你喜歡
      字符術語語料
      尋找更強的字符映射管理器
      字符代表幾
      一種USB接口字符液晶控制器設計
      電子制作(2019年19期)2019-11-23 08:41:50
      消失的殖民村莊和神秘字符
      基于語料調(diào)查的“連……都(也)……”出現(xiàn)的語義背景分析
      華語電影作為真實語料在翻譯教學中的應用
      《苗防備覽》中的湘西語料
      國內(nèi)外語用學實證研究比較:語料類型與收集方法
      有感于幾個術語的定名與應用
      從術語學基本模型的演變看術語學的發(fā)展趨勢
      两当县| 伽师县| 农安县| 竹溪县| 麟游县| 台北市| 墨玉县| 涟水县| 榆林市| 安西县| 天气| 潞城市| 中方县| 天气| 盐边县| 浦江县| 阳城县| 将乐县| 黄石市| 利川市| 北海市| 新乐市| 宿松县| 什邡市| 山西省| 越西县| 磴口县| 荆州市| 德保县| 江永县| 东乌珠穆沁旗| 奉化市| 丽水市| 奉新县| 台中县| 平顺县| 大田县| 保山市| 卢湾区| 南宫市| 丹棱县|