pytroch bert使用

安裝transformers

pip install transformers

常用import
from transformers import BertTokenizer, BertModel, BertForMaskedLM
定義下載bert模型

下載中文bert-wwm模型wwm的地址
將config文件条篷、vocab文件轻腺、bin文件放在/model/(bert)的下面

  1. bert_config.json 改名為 config.json
  2. chinese_wwm_pytorch.bin 改名為 pytorch_model.bin
bert_path='./model/bert-wwm/'
model_config = BertConfig.from_pretrained(bert_path)
bert = BertModel.from_pretrained(bert_path,config=model_config)
bert_path='./model/bert-wwm/'  #bert-wwm是針對中文的一種優(yōu)化版本
使用bert的分詞器
from transformers import BertTokenizer
tokenizer = BertTokenizer.from_pretrained(bert_path)

分詞

s1="我要去看北京太難夢"
print(tokenizer.tokenize(s1))

句子編碼向量化

print(tokenizer.encode('吾兒莫慌'))

句子處理編碼梦皮,加入分割

sen_code = tokenizer.encode_plus('這個故事沒有終點', "正如星空沒有彼岸")

編碼后的句子反過來

print(tokenizer.convert_ids_to_tokens(sen_code['input_ids']))
text_dict = tokenizer.encode_plus(
    text,  # Sentence to encode.
    add_special_tokens=True,  # Add '[CLS]' and '[SEP]'
    max_length=max_length,  # Pad & truncate all sentences.
    ad_to_max_length=True,
    return_attention_mask=True,  # Construct attn. masks.
    #                                                    return_tensors='pt',     # Return pytorch tensors.
)

encode_plus產(chǎn)生字典的數(shù)據(jù)索引

input_ids, attention_mask, token_type_ids = text_dict['input_ids'], text_dict['attention_mask'], text_dict['token_type_ids']
編碼輸出
result = bert(ids, output_all_encoded_layers=True)
bert模型返回
result = (
    [encoder_0_output, encoder_1_output, ..., encoder_11_output], 
    pool_output
)

返回bert的12層的transformer的輸出

output_all_encoded_layers參數(shù)設(shè)置為Fasle,那么result中的第一個元素就不是列表了,只是encoder_11_output着降,大小為
[batch_size, sequence_length, hidden_size]的張量,可以看作bert對于這句話的表示

transformers有任務(wù)pipeline

情感分類

from transformers import pipeline

nlp = pipeline("sentiment-analysis")

print(nlp("I hate you"))
print(nlp("I love you"))

抽取式問答

from transformers import pipeline

nlp = pipeline("question-answering")

context = r"""
Extractive Question Answering is the task of extracting an answer from a text given a question. An example of a
question answering dataset is the SQuAD dataset, which is entirely based on that task. If you would like to fine-tune
a model on a SQuAD task, you may leverage the `run_squad.py`.
"""

print(nlp(question="What is extractive question answering?", context=context))
print(nlp(question="What is a good example of a question answering dataset?", context=context))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市棠绘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌再扭,老刑警劉巖氧苍,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異泛范,居然都是意外死亡让虐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門罢荡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赡突,“玉大人,你說我怎么就攤上這事柠傍◆锓” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵惧笛,是天一觀的道長从媚。 經(jīng)常有香客問我,道長患整,這世上最難降的妖魔是什么拜效? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任喷众,我火速辦了婚禮,結(jié)果婚禮上紧憾,老公的妹妹穿的比我還像新娘到千。我一直安慰自己,他們只是感情好赴穗,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布憔四。 她就那樣靜靜地躺著,像睡著了一般般眉。 火紅的嫁衣襯著肌膚如雪了赵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天甸赃,我揣著相機與錄音柿汛,去河邊找鬼。 笑死埠对,一個胖子當著我的面吹牛络断,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播项玛,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼貌笨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了稍计?” 一聲冷哼從身側(cè)響起躁绸,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎臣嚣,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剥哑,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡硅则,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了株婴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怎虫。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖困介,靈堂內(nèi)的尸體忽然破棺而出大审,到底是詐尸還是另有隱情,我是刑警寧澤座哩,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布徒扶,位于F島的核電站,受9級特大地震影響根穷,放射性物質(zhì)發(fā)生泄漏姜骡。R本人自食惡果不足惜导坟,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望圈澈。 院中可真熱鬧惫周,春花似錦、人聲如沸康栈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啥么。三九已至漾狼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間饥臂,已是汗流浹背逊躁。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留隅熙,地道東北人稽煤。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像囚戚,于是被迫代替她去往敵國和親酵熙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355