SentenceTransformer

This is a sentence-transformers model trained. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: RobertaModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("tanbinh2210/onl_contrastive_onl_contrastive_mlm_phobert-base-v2_v2")
# Run inference
sentences = [
    'Phiếu lương bao_gồm những nội_dung gì và cho biết_điều gì ?',
    'PHÂN HỆ BẢNG LƯƠNG\nPhân hệ bảng lương giải_quyết bài_toán gì\nBảng lương là một trong những chứng_từ quan_trọng của doanh_nghiệp và là cơ_sở để các doanh_nghiệp tiến_hành thanh_toán tiền_lương cho nhân_viên ( bao_gồm lương cơ_bản , các loại phụ_cấp , tiền thưởng , các loại thu_nhập thêm khác , khấu_trừ ... )\nTrong hoạt_động của một doanh_nghiệp , tiền_lương luôn là vấn_đề phức_tạp khiến nhà_quản_lý đau_đầu , mệt_mỏi .\nBởi trong một doanh_nghiệp , mức lương của từng nhân_viên không giống nhau , đòi_hỏi sự tính_toán chi_tiết , chính_xác tiền_lương cho từng nhân_sự .\nĐồng_thời , vì tính cẩn_trọng cao nên yêu_cầu người thực_hiện cần phải có kỹ_năng phần_mềm tốt .\nCó_thể thấy , việc quản_lý tiền_lương không khoa_học dẫn tới nhiều hậu_quả khác nhau và khiến nhà_quản_lý mất nhiều thời_gian , công_sức vào mỗi kỳ tính lương .\nPhân hệ này sẽ giúp doanh_nghiệp giải_quyết các bài_toán , các nỗi đau :\nThực_hiện công_tác tính lương , bảo_hiểm , phí công_đoàn , làm thêm ngoài giờ ... cho người lao_động theo chính_sách và chế_độ hiện_hành .\nThanh_toán tiền_lương cho người lao_động chính_xác , kịp_thời theo quy_định đã cam_kết .\nPhân_tích tình_hình sử_dụng quỹ lương , bảo_hiểm_xã_hội , bảo_hiểm_y_tế , công_đoàn ...\nTheo_dõi quyết_toán thuế .',
    'Thủ_tục 630c - Giải_quyết hưởng trợ_cấp dưỡng_sức , phục_hồi sức_khoẻ sau ốm_đau , thai_sản , tai_nạn lao_động , bệnh_nghề_nghiệp\nBạn muốn truy_cập nhanh đến phân hệ Bảo_hiểm 1 - IVAN ?\nTruy_cập vào phân hệ 1 - IVAN\nNội_dung\nTrường_hợp áp_dụng\nHướng_dẫn kê_khai\nTrường_hợp áp_dụng\nThủ_tục 630c được sử_dụng để kê_khai và giải_quyết chế_độ dưỡng_sức phục_hồi sức_khoẻ cho người lao_động .\nChế_độ này được áp_dụng cho những trường_hợp người lao_động đã trải qua một thời_gian ốm_đau , thai_sản , hoặc tai_nạn lao_động , cần thời_gian để hồi_phục sức_khoẻ trước khi quay trở_lại làm_việc .\nCác trường_hợp được hưởng chế_độ dưỡng_sức như sau :\nTrong 30 ngày đầu trở_lại làm_việc mà sức_khoẻ của người lao_động chưa phục_hồi , cụ_thể :\nSau thời_gian nghỉ hưởng chế_độ ốm_đau ( Ốm_đau dài ngày , ốm khác , phẫu_thuật ) .\nSau thời_gian hưởng chế_độ thai_sản ( Sinh_từ 02 con trở lên , sinh phẫu_thuật , sinh khác , sẩy_thai , nạo_thai ) .\nSau thời_gian điều_trị ổn_định thương_tật do TNLĐ hoặc bệnh_tật do BNN bị suy_giảm KNLĐ từ 15% trở lên .',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 71,432 training samples
  • Columns: question, passage, and label
  • Approximate statistics based on the first 1000 samples:
    question passage label
    type string string int
    details
    • min: 8 tokens
    • mean: 20.2 tokens
    • max: 40 tokens
    • min: 29 tokens
    • mean: 182.13 tokens
    • max: 256 tokens
    • 0: ~90.90%
    • 1: ~9.10%
  • Samples:
    question passage label
    Có_thể tạo mới hợp_đồng bán hàng từ phiếu thu_không ? Đơn hàng mua
    Các tác_vụ trên đơn hàng mua
    Người dùng có_thể thực_hiện các tác_vụ đối_với 1 đơn hàng mua chi_tiết theo 1 trong 2 cách sau :
    Truy_cập vào 1 đơn hàng mua chi_tiết và thực_hiện các tác_vụ trên góc phải thanh header
    Tại màn danh_sách , click chuột phải vào 1 đơn hàng mua và thực_hiện các tác_vụ
    Các tác_vụ tại một đơn hàng mua chi_tiết
    Bảng mô_tả các tác_vụ tại trang chi_tiết 1 đơn hàng mua :
    Tên trường : Duyệt / Hoàn duyệt , Mô_tả : Người được cài_đặt là người duyệt đơn hàng mua / người có quyền quản_lý tất_cả sẽ có quyền thực_hiện tác_vụ Duyệt / Hoàn duyệt .
    Tên trường : Phiếu chi , Mô_tả : Khi cần ghi_nhận các chi_phí hoặc thanh_toán với nhà_cung_cấp liên_quan đến đơn hàng .
    Phiếu chi chỉ được tạo khi đơn hàng mua có trạng_thái đã duyệt .
    Tên trường : Người theo_dõi , Mô_tả : Thêm người theo_dõi đơn hàng mua
    Tên trường : Người phụ_trách , Mô_tả : Thêm người phụ_trách đơn hàng mua
    Tên trường : Tình_trạng , Mô_tả : Cập_nhật tình_trạng đơn hàng mua : Đã thanh_toán , chưa thanh_toán , đã đi ngân_hàng ...
    Lưu_ý : Tạo mới tình_trạng đơn hàng mua trong cài_đặt phân hệ Mua hàng
    Tên trường : Xuất nhập kho , Mô_tả : Người dùng có_thể chọn : Phiếu nhập kho : Thực_hiện đưa sản_phẩm từ đơn hàng đã được duyệt vào trong kho .
    0
    Làm thế_nào để liên_kết một phiếu chuyển tiền với một công_việc đã tồn_tại trong hệ_thống ? Thực_hiện công_việc
    Thực_hiện công_việc
    Tác_vụ : Thực_hiện Cho_phép cập_nhật thêm người liên_quan đến công_việc , Người sử_dụng : Người thực_hiện .
    Tác_vụ : Đầu việc Cho_phép tạo mới một checklist các đầu việc nhỏ liên_quan đến công_việc , Người sử_dụng : Người thực_hiện .
    Tác_vụ : Chuyển công_việc Chuyển công_việc vào 1 dự_án hoặc công_việc cha đã tạo , Người sử_dụng : Người_quản_lý
    Tác_vụ : Cập_nhật mô_tả công_việc Cho_phép cập_nhật mô_tả cho công_việc , Người sử_dụng : Ngưởi thực_hiện
    Tác_vụ : Thêm tài_liệu Cho_phép thêm mới các file đính kém liên_quan đến công_việc , Người sử_dụng : Ngưởi thực_hiện / Người theo_dõi phối_hợp thực_hiện
    Tác_vụ : Thêm sự_kiện Cho_phép tạo mới Sự_kiện liên_quan tại tab lịch biểu , Người sử_dụng : Ngưởi thực_hiện
    Tác_vụ : Liên_kết Tạo liên_kết tới một đối_tượng khác trên 1Office , Người sử_dụng : Ngưởi thực_hiện
    0
    Trong màn_hình xác_thực bảo_mật 2 lớp khi đăng_nhập , nếu tôi chọn ' Không hỏi lại trên thiết_bị này ' thì điều này có nghĩa là gì ? Làm_sao để sử_dụng tính_năng xác_thực thiết_bị sử_dụng GPS ?
    Bước 3 : Admin xác_thực thiết_bị
    1 - Đăng_nhập tài_khoản admin
    2 - Chọn_Cài đặt hệ_thống > Tài_khoản người dùng > Tab_Xác thực thiết_bị
    3 - Admin thực_hiện tác_vụ Xác_thực hoặc Không xác_thực thiết_bị trong danh_sách
    Sau khi thiết_bị đã được xác_thực , bạn sẽ có_thể sử_dụng tính_năng chấm công GPS trên hệ_thống 1 Office !
    Lưu_ý : Nếu sau khi đã xác_thực thiết_bị thành_công mà không_thể chấm công_bằng GPS trên thiết_bị di_động thì bạn cần : Bước 1 :  Đăng xuất khỏi tài_khoản và đóng app
    Bước 2 : Vào cài_đặt điện_thoại > Chọn app 1Office > Bật nhận thông_báo
    Bước 3 : Mở app và đăng_nhập tài_khoản
    Bước 4 : Truy_cập màn GPS > Chọn_Gửi xác_thực thiết_bị ( Tại Bước 4 , hệ_thống sẽ lấy được mã thiết_bị và bạn có_thể chấm công GPS )
    0
  • Loss: OnlineContrastiveLoss

Evaluation Dataset

Unnamed Dataset

  • Size: 7,937 evaluation samples
  • Columns: question, passage, and label
  • Approximate statistics based on the first 1000 samples:
    question passage label
    type string string int
    details
    • min: 8 tokens
    • mean: 20.14 tokens
    • max: 38 tokens
    • min: 24 tokens
    • mean: 181.7 tokens
    • max: 256 tokens
    • 0: ~91.30%
    • 1: ~8.70%
  • Samples:
    question passage label
    Sau khi import hồ_sơ nhân_sự hoàn_tất , 1Office có gửi thông_báo cho người dùng hay không ? Hồ_sơ nhân_sự
    Bước 2 : Tạo mới và quản_lý hồ_sơ nhân_sự
    2.1 . Tạo mới hồ_sơ nhân_sự
    Sau khi hoàn_thành các cài_đặt Hồ_sơ nhân_sự , thực_hiện thêm mới đối_tượng Hồ_sơ nhân sựBước 2 : Tạo mới và quản_lý hồ_sơ nhân_sự
    Có 02 cách để thêm mới đối_tượng Hồ_sơ nhân_sự :
    Cách 1 : Tạo mới
    Tạo mới là cách để thêm mới từng đối_tượng hồ_sơ nhân_sự .
    Cách này thường sử_dụng khi cần thêm một_vài nhân_sự ( số_lượng ít )
    Các bước cụ_thể :
    Chọn biểu_tượng Tạo mới tại góc trên bên trái màn_hình > Chọn_Hồ sơ nhân_sự
    tạo mới hồ_sơ nhân_sự
    Nhập vào các thông_tin nhân_sự cần quản_lý tại màn_hình tạo mới .
    Chọn các tab Sơ_yếu lý_lịch , Hợp_đồng , Bảo_hiểm , Sức_khoẻ , Tiếp_nhận , Đính kèm , Đối_tượng liên_quan để cập_nhật thông_tin tương_ứng
    màn_hình tạo mới hồ_sơ nhân_sự
    Lưu_ý : Các trường thông_tin có dấu * đỏ cạnh tên trường là bắt_buộc điền
    Sau khi điền đầy_đủ các thông_tin , nhấn Cập_nhật để lưu lại thông_tin hồ_sơ nhân_sự
    Cách 2 : Import dữ_liệu
    Import là cách để thêm mới nhiều đối_tượng hồ_sơ nhân_sự trong 1 lần cập_nhật dựa theo dữ_liệu có sẵn thông_qua upload file Excel dữ_liệu có sẵn .
    Cách này được sử_dụng để cập_nhật số_lượng nhiều hồ_sơ nhân_sự .
    Các bước cụ_thể xem tại Hướng_dẫn Import_Hồ sơ nhân_sự
    0
    Sau khi tạo lịch cho toàn công_ty thành_công , ai sẽ là người nhận được thông_báo về lịch này ? Tôi muốn book phòng họp và quản_lý lịch phòng họp trên hệ_thống
    1 . Để book phòng họp , bạn có_thể thực_hiện bằng cách :
    Tạo mới Lịch biểu
    Tại form tạo mới , mục Địa_điểm , phòng họp , phương_tiện , chọn đối_tượng Phòng họp và chọn Phòng họp cần book
    tạo mới lịch có đặt phòng họp
    Lưu_ý : Chỉ book được những phòng họp chưa có lịch trước đó , nếu phòng họp đó đã có lịch trùng với thời_gian bạn tạo , hệ_thống sẽ hiển_thị thông_báo
    Chỉ book được những phòng họp đã được thêm mới vào hệ_thống và bạn có quyền sử_dụng .
    2 . Để xem và quản_lý các lịch phòng họp , bạn thực_hiện các bước sau :
    Truy_cập module Lịch biểu > > Chọn đối_tượng Phòng họp tại menu trái .
    Hệ_thống hiển_thị danh_sách các lịch tương_ứng với các phòng họp .
    Tại đây , bạn có_thể click vào bộ lọc tuỳ chỉnh để lọc theo tất_cả phòng họp hoặc phòng họp chờ duyệt .
    màn danh_sách lịch phòng họp
    0
    Để xem báo_cáo chấm công theo từng phòng_ban , tôi có_thể lọc thông_tin này ở đâu trên màn_hình báo_cáo ? Quản_lý nghỉ bù
    Bảng quản_lý nghỉ bù
    1 . Mở phân hệ Chấm công
    2 . Tại menu trái , chọn Ngày nghỉ > Bảng tổng_hợp bù
    bảng quản_lý nghỉ bù
    Bảng tác_vụ quản_lý nghỉ bù :
    Tên tác_vụ và trường dữ_liệu : Chọn năm / chọn tháng , Mô_tả : Hiển_thị Lịch cho_phép lọc dữ_liệu nghỉ bù theo năm hoặc theo tháng .
    Tên tác_vụ và trường dữ_liệu : Xem theo tháng / xem theo năm , Mô_tả : Chuyển chế_độ xem màn_hình quản_lý nghỉ bù theo tháng hoặc theo năm .
    Bảng mô_tả các trường dữ_liệu quản_lý nghỉ bù :
    Trường dữ_liệu : Tồn thực_tế , Mô_tả : Số giờ nghỉ bù còn tồn
    Trường dữ_liệu : Sử_dụng , Mô_tả : Số giờ nghỉ bù đã sử_dụng
    Trường dữ_liệu : Giờ làm thêm , Mô_tả : Tổng_số giờ làm thêm từ đơn làm thêm
    Trường dữ_liệu : Hết hạn , Mô_tả : Số giờ nghỉ bù đã hết hạn
    Trường dữ_liệu :
    Ứng , Mô_tả : Số giờ nghỉ bù đã ứng
    0
  • Loss: OnlineContrastiveLoss

Training Hyperparameters

Non-Default Hyperparameters

  • overwrite_output_dir: True
  • per_device_train_batch_size: 88
  • per_device_eval_batch_size: 128
  • gradient_accumulation_steps: 2
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • num_train_epochs: 15
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • fp16: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: True
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 88
  • per_device_eval_batch_size: 128
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 2
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 15
  • max_steps: -1
  • lr_scheduler_type: cosine
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: True
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • dispatch_batches: None
  • split_batches: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss
0.2463 100 0.1122
0.4926 200 0.1161
0.7389 300 0.0757
0.9852 400 0.0937
1.2315 500 0.1058
1.4778 600 0.1002
1.7241 700 0.1312
1.9704 800 0.1266
2.2167 900 0.095
2.4631 1000 0.1024
2.7094 1100 0.1073
2.9557 1200 0.1066
3.2020 1300 0.0893
3.4483 1400 0.0658
3.6946 1500 0.0632
3.9409 1600 0.076
4.1872 1700 0.0733
4.4335 1800 0.0525
4.6798 1900 0.0526
4.9261 2000 0.0615
5.1724 2100 0.0384
5.4187 2200 0.046
5.6650 2300 0.0498
5.9113 2400 0.0477
6.1576 2500 0.0401
6.4039 2600 0.0289
6.6502 2700 0.0396
6.8966 2800 0.0287
7.1429 2900 0.034
7.3892 3000 0.0243
7.6355 3100 0.0151
7.8818 3200 0.0226
8.1281 3300 0.0208
8.3744 3400 0.0157
8.6207 3500 0.0135
8.8670 3600 0.0189
9.1133 3700 0.0162
9.3596 3800 0.0117
9.6059 3900 0.0104
9.8522 4000 0.012
10.0985 4100 0.0147
10.3448 4200 0.0085
10.5911 4300 0.0085
10.8374 4400 0.007
11.0837 4500 0.0072
11.3300 4600 0.0064
11.5764 4700 0.0075
11.8227 4800 0.0022
12.0690 4900 0.0047
12.3153 5000 0.0091
12.5616 5100 0.0049
12.8079 5200 0.0048
13.0542 5300 0.002
13.3005 5400 0.004
13.5468 5500 0.002
13.7931 5600 0.0085
14.0394 5700 0.0079
14.2857 5800 0.0031
14.5320 5900 0.0052
14.7783 6000 0.006

Framework Versions

  • Python: 3.8.10
  • Sentence Transformers: 3.2.1
  • Transformers: 4.44.2
  • PyTorch: 2.4.1+cu124
  • Accelerate: 1.0.1
  • Datasets: 2.19.0
  • Tokenizers: 0.19.1

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}
Downloads last month
6
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support