丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給AI研習(xí)社-譯站
發(fā)送

1

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

本文作者: AI研習(xí)社-譯站 2019-06-28 11:04
導(dǎo)語(yǔ):在本文中,我們要解決的問題是從非結(jié)構(gòu)化文本中提出某些特定信息。

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :

Deep learning for specific information extraction from unstructured texts

作者 | Intuition Engineering

翻譯 | AI小山      編輯 | 王立魚

原文鏈接:

https://towardsdatascience.com/deep-learning-for-specific-information-extraction-from-unstructured-texts-12c5b9dceada

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

這是我們?cè)趇ki項(xiàng)目工作中的一系列技術(shù)文章中的第一篇,內(nèi)容涵蓋用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)來解決自然語(yǔ)言處理與理解問題的一些應(yīng)用案例。

在本文中,我們要解決的問題是從非結(jié)構(gòu)化文本中提出某些特定信息。我們要從簡(jiǎn)歷中提取出用戶的技能,簡(jiǎn)歷可以以任意格式書寫,比如“曾經(jīng)在生產(chǎn)服務(wù)器上部署定量交易算法”。

本文有一個(gè)演示頁(yè)面,可以用你的簡(jiǎn)歷試試我們的模型表現(xiàn)如何。

語(yǔ)言學(xué)模型

現(xiàn)代語(yǔ)言學(xué)模型(ULMfit,ELMo)使用無監(jiān)督學(xué)習(xí)技術(shù),比如在大型文本語(yǔ)料中加入RNN嵌入層(embeddings)用來“認(rèn)識(shí)”基本的語(yǔ)言結(jié)構(gòu),然后再進(jìn)行特定的監(jiān)督訓(xùn)練。在某些情況下,你反而需要一個(gè)在非常特定的、小的數(shù)據(jù)集上訓(xùn)練出來的模型。這些模型對(duì)一般的語(yǔ)言結(jié)構(gòu)幾乎一無所知,只對(duì)特定的文本特征有效。一個(gè)典型的例子是影評(píng)或新聞數(shù)據(jù)集的簡(jiǎn)易情感分析工具,這些極簡(jiǎn)單的分析模型只能識(shí)別“好”或“壞”等形容詞的同義詞,或者判別是否有強(qiáng)調(diào)性詞匯存在。在我們的研究中,這兩種方法我們都采用。

通常,當(dāng)進(jìn)行文本語(yǔ)料分析時(shí),我們會(huì)考慮文本中的全部詞匯。一些流行的文本向量化算法,比如tfidf,word2vec或GloVe模型都使用整個(gè)文檔的詞匯表來生成向量,除了停用詞(例如冠詞、代詞,和其它十分基本的語(yǔ)言元素,在統(tǒng)計(jì)平均法中幾乎沒有語(yǔ)義上的意義)。如果有更明確的目標(biāo),并且有關(guān)于語(yǔ)料的更多的信息,你也許會(huì)判斷出哪些語(yǔ)料更有價(jià)值。比如說,要對(duì)菜譜的語(yǔ)料進(jìn)行分析,把配料和菜品名稱的類別從文本中提取出來就很重要。另外一個(gè)例子是從簡(jiǎn)歷語(yǔ)料中提取專業(yè)技能。如果我們能夠通過把每個(gè)簡(jiǎn)歷與一個(gè)提取出來的技能的向量相關(guān)聯(lián),從而使之向量化,我們就可以對(duì)行業(yè)職位的分類做得好得多。

舉例說明:

簡(jiǎn)歷:數(shù)據(jù)科學(xué)家,機(jī)器學(xué)習(xí)、大數(shù)據(jù)、開發(fā)、統(tǒng)計(jì)和分析方面的實(shí)際經(jīng)驗(yàn)。帶領(lǐng)數(shù)據(jù)科學(xué)家團(tuán)隊(duì)實(shí)現(xiàn)了Python機(jī)器學(xué)習(xí)模型的大融合、分層和特征工程,展現(xiàn)出預(yù)測(cè)性分析方面的極高的準(zhǔn)確度。使用Doc2Vec詞匯嵌入和神經(jīng)網(wǎng)絡(luò)創(chuàng)立了一個(gè)推薦系統(tǒng)。

提取的專業(yè)技能:機(jī)器學(xué)習(xí),大數(shù)據(jù),開發(fā),統(tǒng)計(jì),分析,Python機(jī)器學(xué)習(xí)模型大融合,分層,特征工程,預(yù)測(cè)性分析,Doc2Vec,詞匯嵌入,神經(jīng)網(wǎng)絡(luò)。

步驟一:詞性標(biāo)注

實(shí)體抽取是文本挖掘類問題的一部分,它從非結(jié)構(gòu)化的文本中提取出某些結(jié)構(gòu)化的信息。我們來仔細(xì)看看受到推崇的實(shí)體抽取方法的思路。如果技能主要都是通過所謂的名詞短語(yǔ)體現(xiàn)的,那么我們的抽取動(dòng)作的第一步就是實(shí)體識(shí)別,用的是NLTK庫(kù)的內(nèi)置函數(shù)(參閱“從文本中提出信息”,《NLTK全書》第7部分)。詞性標(biāo)注函數(shù)提取出名詞短語(yǔ)(NP),并用樹來表示名詞短語(yǔ)和句中其它部分的關(guān)系。NLTK庫(kù)有若干工具能進(jìn)行這樣的詞語(yǔ)分解。

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

NLTK全書,第7章,圖2.2:基于簡(jiǎn)單正則表達(dá)式的NP Chunker的一個(gè)示例

我們可以定義一個(gè)用正則表達(dá)式完成語(yǔ)句分解的模型(例如,我們可以把幾個(gè)形容詞加上一個(gè)名詞定義為一個(gè)短語(yǔ)),或者我們能用NLTK中的已經(jīng)提取出來的名詞短語(yǔ)范例訓(xùn)練出一個(gè)關(guān)于本文標(biāo)號(hào)的模型。這個(gè)步驟能讓我們得到許多實(shí)體,其中一些是我們要的技能,而另一些不是。此外,技能簡(jiǎn)歷也可能包含其它實(shí)體,比如地點(diǎn)、人物、對(duì)象、組織,諸如此類。

  步驟二:候選詞分類的深度學(xué)習(xí)架構(gòu)

下一步是實(shí)體分類。這里的目標(biāo)非常簡(jiǎn)單----把技能從“非技能”里區(qū)別開來。用于訓(xùn)練的特征集是根據(jù)候選短語(yǔ)和上下文的結(jié)構(gòu)來構(gòu)建的。顯然,要訓(xùn)練一個(gè)模型,我們先要?jiǎng)?chuàng)建一個(gè)標(biāo)注好的訓(xùn)練集,我們用1500個(gè)抽取出來的實(shí)體手工創(chuàng)建了訓(xùn)練集,里面包含了技能和“非技能”。

我們從不打算把模型應(yīng)用于那些硬編碼的有限的技能集合,模型的核心思想是從英文簡(jiǎn)歷的技能中學(xué)習(xí)到語(yǔ)義,并用模型來提取出未見過的技能。

每個(gè)詞的向量由二進(jìn)制特征組成,這些特征包括數(shù)字或其它特殊字符的出現(xiàn)與否(技能通常包含數(shù)字和符號(hào):C#,Python3),首字母或全詞大寫(SQL)。我們也看某個(gè)詞是否在英語(yǔ)詞匯表里以及是否在一些主題列表里,比如人名、地名等等。最終使用了這些特征的模型在實(shí)體測(cè)試集中的準(zhǔn)確率是74.4%。如果把候選詞中是否有英語(yǔ)里常見的前綴和后綴,做成二進(jìn)制特征,放到模型里,則模型在測(cè)試集中的準(zhǔn)確率高達(dá)77.3%。如果模型的特征集中再加上用單熱(one-hot)向量編碼的詞性標(biāo)注,準(zhǔn)確率就可以推到84.6%。

一個(gè)可靠的語(yǔ)義詞匯嵌入模型沒法用簡(jiǎn)歷數(shù)據(jù)集訓(xùn)練得來,這樣的數(shù)據(jù)集太小,也不全面。針對(duì)這個(gè)問題,你應(yīng)該使用在其它真正大型的數(shù)據(jù)集上訓(xùn)練出來的詞匯嵌入層。我們使用了有50個(gè)維度的GloVe模型向量,這把模型在測(cè)試集上的準(zhǔn)確率提升至高達(dá)89.1%。你可以上傳一個(gè)簡(jiǎn)歷文本到我們的最終模型的演示,試試效果。

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

流行的詞性標(biāo)注程序(NLTK 詞性標(biāo)注程序,Standford 詞性標(biāo)注程序)經(jīng)常在做簡(jiǎn)歷短語(yǔ)標(biāo)注時(shí)犯錯(cuò)誤。原因是簡(jiǎn)歷文本為了突顯經(jīng)驗(yàn)和照顧格式(人們?cè)诰渥又幸灾^語(yǔ)開頭而不是主語(yǔ),有時(shí),短語(yǔ)沒有用正確的語(yǔ)法結(jié)構(gòu))就經(jīng)常忽略語(yǔ)法,以及有許多詞是專用術(shù)語(yǔ)和名稱。我們只得寫一個(gè)自己的詞性標(biāo)注程序解決上述問題。

分類是通過Keras神經(jīng)網(wǎng)絡(luò)進(jìn)行的,這個(gè)Keras神經(jīng)網(wǎng)絡(luò)有三個(gè)輸入層,每一層都被設(shè)計(jì)用來接收特定類別的數(shù)據(jù)。第一個(gè)輸入層接收一個(gè)可變長(zhǎng)度的向量,構(gòu)成這個(gè)向量的候選短語(yǔ)具有我們上面討論過的特征,它可以包含任意數(shù)目的單詞。這個(gè)特征向量由一個(gè)LSTM層進(jìn)行處理。

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

第二個(gè)可變長(zhǎng)度向量含有上下文結(jié)構(gòu)信息。對(duì)于給定的窗口大小n,我們?cè)诤蜻x短語(yǔ)左邊和右邊各取n個(gè)相鄰單詞,這些單詞的向量拼接成一個(gè)可變長(zhǎng)度的向量,并傳到LSTM層。我們發(fā)現(xiàn)最優(yōu)的n=3。

第三個(gè)輸入層的長(zhǎng)度固定,它使用候選短語(yǔ)的通用信息和上下文來處理向量——短語(yǔ)里的單詞向量在坐標(biāo)軸上的最大最小值,以及它的上下文所代表的在整個(gè)短語(yǔ)中的眾多的二進(jìn)制特征的存在與否以及其它信息。

我們把這個(gè)結(jié)構(gòu)稱作SkillExtractor,如下圖所示:

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

Skills Extractor網(wǎng)絡(luò)架構(gòu)

通過 Keras 實(shí)現(xiàn):

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

查看完整代碼,點(diǎn)擊此處

把學(xué)習(xí)率降到0.0001之后,用Adam優(yōu)化法取得了最好的模型訓(xùn)練效果。我們選擇binary_crossentropy作為損失函數(shù),因?yàn)槟P偷脑O(shè)計(jì)是對(duì)兩個(gè)類別進(jìn)行分類的。

為了使用更方便,我們加入擬合函數(shù)來進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練并使用交叉檢查和預(yù)測(cè)函數(shù)實(shí)現(xiàn)自動(dòng)停止,從而實(shí)現(xiàn)對(duì)候選短語(yǔ)的未知的向量的預(yù)測(cè)。

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

查看完整代碼,點(diǎn)擊此處

pad_sequences函數(shù)把一系列特征序列轉(zhuǎn)換成2維數(shù)組,這個(gè)數(shù)組的寬度等于這些序列中的最長(zhǎng)者。這樣做是為了讓可變長(zhǎng)度的數(shù)據(jù)傳到LSTM層中,并轉(zhuǎn)換成適合模型訓(xùn)練的格式。

onehot_transform函數(shù)把目標(biāo)值0和1轉(zhuǎn)換成單熱(one-hot)向量[1, 0]和[0, 1]

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

只要實(shí)體及其上下文中的單詞數(shù)是不確定的,那么,使用稀疏的固定長(zhǎng)度的向量就會(huì)讓人覺得不合理。因此,使用可以處理任意長(zhǎng)度向量的循環(huán)神經(jīng)網(wǎng)絡(luò)就自然顯得很方便了。我們的許多試驗(yàn)都證明了使用稠密層處理固定長(zhǎng)度向量、使用LSTM層處理可變長(zhǎng)度向量的架構(gòu)是最合理的。

我們?cè)囼?yàn)過不同的稠密層與LSTM層相組合而形成的多個(gè)架構(gòu)。最后得到的架構(gòu)配置(層的大小和數(shù)量)在交叉驗(yàn)證測(cè)試中取得了最優(yōu)效果,同時(shí)訓(xùn)練數(shù)據(jù)的使用效果也達(dá)到最佳。以后的模型要做調(diào)優(yōu),可以增加訓(xùn)練數(shù)據(jù)集的大小并且適當(dāng)增加層的數(shù)量和大小,如果在相同的數(shù)據(jù)集上只是單純?cè)黾訉拥臄?shù)量和大小,會(huì)導(dǎo)致模型過擬合。

 結(jié)果

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

抽取的技能舉例

用于模型訓(xùn)練的所有簡(jiǎn)歷都是來自IT行業(yè)。我們很高興看到我們的模型在其它行業(yè)(比如,設(shè)計(jì)和金融)的簡(jiǎn)歷數(shù)據(jù)集上也有不錯(cuò)的表現(xiàn)。顯然,處理完全不同結(jié)構(gòu)和風(fēng)格的簡(jiǎn)歷會(huì)讓模型的效果打折扣。我們也想指出,我們對(duì)技能這個(gè)概念的理解可能跟別人有所不同。我們的模型所遇到的難點(diǎn)之一是把技能跟新的公司的名稱相區(qū)別開來,這是因?yàn)榧寄芡浖蚣艿拿忠粯樱袝r(shí)候,你區(qū)分不了一個(gè)名詞到底是指所提到的初創(chuàng)公司還是指新的JS框架或Python庫(kù)。但不管怎樣,在大多數(shù)情況下,我們的模型都可以作為一個(gè)有效的簡(jiǎn)歷自動(dòng)化分析工具,而且借助一些統(tǒng)計(jì)方法,我們的模型可以大范圍用于任意簡(jiǎn)歷語(yǔ)料的數(shù)據(jù)科學(xué)課題中。雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻(xiàn)?

點(diǎn)擊【用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息】即可訪問!

今日資源推薦:AI入門、大數(shù)據(jù)、機(jī)器學(xué)習(xí)免費(fèi)教程

35本世界頂級(jí)原本教程限時(shí)開放,這類書單由知名數(shù)據(jù)科學(xué)網(wǎng)站 KDnuggets 的副主編,同時(shí)也是資深的數(shù)據(jù)科學(xué)家、深度學(xué)習(xí)技術(shù)愛好者的Matthew Mayo推薦,他在機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)領(lǐng)域具有豐富的科研和從業(yè)經(jīng)驗(yàn)。

點(diǎn)擊鏈接即可獲?。?/span>https://ai.yanxishe.com/page/resourceDetail/417


雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

用深度學(xué)習(xí)從非結(jié)構(gòu)化文本中提取特定信息

分享:
相關(guān)文章

知情人士

AI研習(xí)社(yanxishe.com)譯站頻道,傳播前沿人工智能知識(shí),讓語(yǔ)言不再成為學(xué)習(xí)知識(shí)的門檻。(原雷鋒字幕組)
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說