模型:
vinai/phobert-base-v2
预训练的 PhoBERT 模型是越南语的最先进的语言模型( Pho ,即"Phở",是越南的一种流行食物):
PhoBERT 的总体架构和实验结果可在我们的 paper 中找到:
@inproceedings{phobert,
title = {{PhoBERT: Pre-trained language models for Vietnamese}},
author = {Dat Quoc Nguyen and Anh Tuan Nguyen},
booktitle = {Findings of the Association for Computational Linguistics: EMNLP 2020},
year = {2020},
pages = {1037--1042}
}
当使用 PhoBERT 帮助生成已发表结果或整合到其他软件时,请引用我们的论文。
git clone --single-branch --branch fast_tokenizers_BARTpho_PhoBERT_BERTweet https://github.com/datquocnguyen/transformers.git cd transformers pip3 install -e .
| Model | #params | Arch. | Max length | Pre-training data |
|---|---|---|---|---|
| vinai/phobert-base | 135M | base | 256 | 20GB of Wikipedia and News texts |
| vinai/phobert-large | 370M | large | 256 | 20GB of Wikipedia and News texts |
| vinai/phobert-base-v2 | 135M | base | 256 | 20GB of Wikipedia and News texts + 120GB of texts from OSCAR-2301 |
import torch
from transformers import AutoModel, AutoTokenizer
phobert = AutoModel.from_pretrained("vinai/phobert-base-v2")
tokenizer = AutoTokenizer.from_pretrained("vinai/phobert-base-v2")
# INPUT TEXT MUST BE ALREADY WORD-SEGMENTED!
sentence = 'Chúng_tôi là những nghiên_cứu_viên .'
input_ids = torch.tensor([tokenizer.encode(sentence)])
with torch.no_grad():
features = phobert(input_ids) # Models outputs are now tuples
## With TensorFlow 2.0+:
# from transformers import TFAutoModel
# phobert = TFAutoModel.from_pretrained("vinai/phobert-base")
请参阅 HERE 获取详细信息!
如果输入文本是原始的(即没有分词),则在输入传递给 PhoBERT 之前必须应用词分割器以生成分词后的文本。由于 PhoBERT 在预处理数据(包括字形、词和句子分割)中采用了 RDRSegmenter ,因此建议在处理基于 PhoBERT 的下游应用程序时,对于输入的原始文本也使用相同的词分割器。
安装pip install py_vncorenlp示例用法
import py_vncorenlp # Automatically download VnCoreNLP components from the original repository # and save them in some local machine folder py_vncorenlp.download_model(save_dir='/absolute/path/to/vncorenlp') # Load the word and sentence segmentation component rdrsegmenter = py_vncorenlp.VnCoreNLP(annotators=["wseg"], save_dir='/absolute/path/to/vncorenlp') text = "Ông Nguyễn Khắc Chúc đang làm việc tại Đại học Quốc gia Hà Nội. Bà Lan, vợ ông Chúc, cũng làm việc tại đây." output = rdrsegmenter.word_segment(text) print(output) # ['Ông Nguyễn_Khắc_Chúc đang làm_việc tại Đại_học Quốc_gia Hà_Nội .', 'Bà Lan , vợ ông Chúc , cũng làm_việc tại đây .']
MIT License Copyright (c) 2020 VinAI Research Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.