小規模資料量下的關係抽取和實體抽取

2021-10-01 17:52:09 字數 1243 閱讀 1556

基於這些原因,我思考認為還是要用crf來從句子裡抽領域詞,可是我們沒有現成的標註資料,所以我想的是先標一小部分句子,去**另一些句子,然後再人工簡單對這些句子抽出來的領域詞做修正。

但是這就會有兩個問題:

資料量太小:時間緊張,當時還有兩科考試,我不可能手動標特別多實體。但是只簡單的標一點實體去**,得到的效果一定是稀爛的。

②關係抽取的問題:用平台的演算法就會出現上面說的那個問題。

例如「定磁轉子是發電機的磁場部分,由勵磁線圈、磁極和集電環組成。」,領域詞庫里有轉子和定磁轉子,那麼就會同時抽出來**子,包含……)和(定磁轉子,包含,……)。

解決這兩個問題,就需要:

想乙個能在小資料量下獲得很好ner效果的方法

要對每乙個句子進行針對性的關係抽取(即關係抽取要針對到每乙個句子),而不能僅僅停留在用領域詞庫中的所有詞對句子進行「大鍋燉」式的匹配,比如「定磁轉子是發電機的磁場部分,由勵磁線圈、磁極和集電環組成。」,匹配主要實體的時候不能用「轉子」和「定磁轉子」同時來匹配,而應只用「定磁轉子」來匹配

我的解決辦法:

引入位置資訊(後來打比賽也懂了,這個可以稱作模式匹配):我把所有帶有 「a由……組成」 「a由……構成」的句子都拿出來了。例如「最簡單的電壓型變頻器由可控整流器和電壓型逆變器組成,用不可控整流器調壓,逆變器調頻,如圖3-3所示。,」我標註的時候只標

「最簡單的電壓型變頻器由可控整流器和電壓型逆變器組成「這句話裡的「最簡單的電壓型變頻器由可控整流器和電壓型逆變器組成」中的「電壓型變頻器」、『可控整流器』、『電壓型逆變器』,而像『不可控整流器』和『逆變器』我都不標註出來。即只標 由……組成 中間的領域詞以及 它所對應的主語。這樣無形之中就引入了位置資訊。

並且對測試集進行**

由①就可以得到 由……組成之間的實體(假設有a、b、c、d),以及它所對應的主語(a)

那麼就可以直接組成三元組(a,包含,a),(a,包含,b)……

引入位置資訊之後,我僅僅花了十幾分鐘的時間標註了100條句子,然後用5分鐘的時間訓練bert(10輪),對4000多條句子做**,得到的結果竟然70%都是正確的。然後我又從**結果裡挑出來了幾條模型**不好的句子,重新人工標註,最終使訓練集達到了200條,去**4000多條句子,正確率竟然能達到90%。

大資料量下的分頁

大資料量下的分頁 郭紅俊 select from orders where orderid between 10248 and 10253 select from orders where orderid in 10248,10249,10250,10251,10252,10253 order by...

大資料量下的sort

sort在linux命令列下面是乙個非常好用的工具,有人把它當做每個程式設計師都應該知道的8個linux命令之一,最近在處理大資料的時候發現兩點。1.用sort u 而不是sort uniq。sort應該是按照歸併的思想來的,先分成乙個個小檔案,排序後再組合成最後拍好序的檔案。所以,sort u 要...

Oracle 大資料量下的資料遷移

本文主要描述了從oracle 9i至oracle 10g的單錶大資料量的遷移過程,其間作者嘗試了不同方法,對比之後,主要使用了db link。正文 由於公司伺服器公升級,原oracle 9i rac 裸裝置 系統也公升級到了oracle 10g rac asm 原資料庫中的資料也要匯入到新建的資料庫...