Bert編碼訓練NER實體偏移的問題

2021-09-23 02:01:39 字數 723 閱讀 1965

在訓練樣本中幾乎沒有前面一大串英文或者數字,然後後面跟實體的情況,所以訓練起來還挺平穩的。

但是在**的時候遇到了這種情況,造成實體可以識別出來,但是實體的**結果下標錯了(表現為下標提前了)

造成這一問題的原因是在給bert傳文字得到文字特徵的時候,可以穿字串的文字,也可以自己token完成後傳乙個token後的list。

如果傳遞的是字串,預設系統的token,對於英文數字的處理方式不是單個字token的,採取了一種收縮和泛化的機制。所以詞會變少,然後實體標籤提前了。有興趣的同學可以看一下其源**:

def

convert_lst_to_features

(lst_str, seq_length, tokenizer, is_tokenized=

false):

"""loads a data file into a list of `inputbatch`s."""

examples = read_tokenized_examples(lst_str)

if is_tokenized else read_examples(lst_str)

_tokenize =

lambda x: tokenizer.mark_unk_tokens(x)

if is_tokenized else tokenizer.tokenize(x)

命名實體識別 NER

什麼是命名實體識別 命名實體識別 named entity recognition,ner 就是從一段自然語言文字中找出相關實體,並標註出其位置以及型別。是資訊提取,問答系統,句法分析,機器翻譯等應用領域的重要基礎工具,在自然語言處理技術走向實用化的過程中占有重要地位.包含行業,領域專有名詞,如人名...

命名實體識別 NER

一 任務 named entity recognition,簡稱ner。主要用於提取時間 地點 人物 組織機構名。二 應用 知識圖譜 情感分析 機器翻譯 對話問答系統都有應用。比如,需要利用命名實體識別技術自動識別使用者的查詢,然後將查詢中的實體鏈結到知識圖譜對應的結點上,其識別的準確率將會直接影響...

bert預訓練模型解讀 Bert 預訓練小結

最近正在預訓練乙個中文pytorch版本的bert,模型部分 是基於huggingface發布的版本,預訓練過程還是參考google的 值得吐槽的是huggingface之前發布的分支名叫pytorch pretrain bert,後來又加上了gpt2 xlnet一系列當紅模型,結果索性改了個名字叫...