bert tokenizer

tokenizer 的選擇

有 BertTokenizerFast 和 BertTokenizer, BertTokenizerFast 更快,因為使用了 tokenizer 庫。
因為 tokenizer 庫基于 RUST 所以多線程更好。而 BertTokenizer 基于 python 的。
所以,我們使用 BertTokenizerFast

from transformers import BertTokenizerFast

tokenizer 帶來的問題

如果是做分類等問題,那么,tokenizer 并不會帶來什么問題。但是如果做 ner 這種 span 抽取,會帶來問題,就是
WordPiceTokenizer 對句子的切分并非是一一對應(yīng)的。那么,如果對應(yīng)這個位置會是很繁瑣的一個問題。

  1. 首先將 多余出來的部分用 padding index,
    例如 going -> "go", "ing", 其中 "ing" 用 padding index 填充。在獲取 span 的時候,忽略到 padding index 即可。
  2. 另外一種可能會變少比如: "6000" -> "600", "0", 那么種種情況怎么處理?
    2.1 進行 tokenizer 的時候一個字一個字進行,那么,就保證一定增加不會減少
    2.2 offset_mapping 來映射,變換前和變化后的 id. 理論上來說這個是通用的。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容