How to use from the
Use from the
sentence-transformers library
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("TTHDZ/halong_embedding_finetuned")

sentences = [
    "Việc tích hợp siêu tụ với pin truyền thống có tác dụng gì đối với tuổi thọ pin?",
    "Public_066\nCác phương pháp đặc tả mô hình\nMáy trạng thái UML\nCác phương pháp đặc tả hình thức như máy hữu hạn trạng thái, biểu đồ trạng thái, v.v. giúp ta đặc tả các hệ thống một cách chính xác với ý nghĩa duy nhất (vì chúng sử dụng các công cụ toán học). Tuy nhiên, các phương pháp này thường khó được áp dụng trong công nghiệp vì chúng đòi hỏi các chuyên gia về đặc tả hình thức.\nMáy trạng thái UML được xem là giải pháp tốt để giải quyết vấn đề này. Nó có thể được sử dụng để đặc tả hành vi động (chuyển trạng thái) của các lớp đối tượng, các ca sử dụng (use cases), các hệ thống con và thậm chí là toàn bộ hệ thống. Tuy nhiên, máy trạng thái UML thường được sử dụng cho các lớp đối tượng. Theo [AJ00], biểu đồ cộng tác đặc tả bằng UML là một mô hình quan trọng trong việc kiểm thử hệ thống bởi mô hình này đặc tả chính xác hành vi (tương tác giữa các đối tượng) của hệ thống cần kiểm thử.\nTrong UML, một trạng thái ứng với một điều kiện quan trọng của một đối tượng. Trạng thái này được quyết định bởi các giá trị hiện thời của đối tượng, các mối quan hệ với các đối tượng khác và các hành động (phương thức) mà đối tượng này thực hiện. Một phép chuyển trạng thái là mối quan hệ giữa hai trạng thái. Một phép chuyển trạng thái trong UML bao gồm một sự kiện được kích hoạt, điều kiện và hành động tương ứng. Các sự kiện được kích hoạt của các phép chuyển trạng thái có thể là một trong các sự kiện sau:\n  * Một lời gọi ứng với một phương thức\n  * Một tín hiệu nhận được từ các trạng thái khác trong máy trạng thái\n  * Một sự thay đổi giá trị của một thuộc tính nào đó của một đối tượng\n  * Hết thời gian (timeout)\nHình 8.4 là ví dụ về một máy trạng thái UML đặc tả hành vi của hệ thống quản lý bán hàng.\n**Hình 8.4: Một ví dụ về máy trạng thái UML.** |<image_4>|",
    "Public_098\nTích hợp với pin truyền thống\n\n* Hệ thống song song: Siêu tụ xử lý các xung công suất cao, trong khi pin đảm nhận lưu trữ năng lượng dài hạn.\n  * Tăng tuổi thọ pin: Giảm căng thẳng dòng điện và nhiệt cho pin, kéo dài thời gian sử dụng.\n  * Tối ưu hiệu suất năng lượng tái tạo: Kết hợp với pin lưu trữ trong lưới điện gió, mặt trời.",
    "Public_202\nTÁC DỤNG, VỊ TRÍ VÀ HÌNH DÁNG CÁC BỘ PHẬN CHỦ YẾU TRONG BUỒNG LÁI XE ÔTÔ\nVô lăng lái\nVô lăng lái dùng để điều khiển hướng chuyển động của xe ôtô.\nVị trí của vô lăng lái trong buồng lái phụ thuộc vào quy định của mỗi nước. Khi quy định chiều thuận của chuyển động là bên phải (theo hướng đi của mình) thì vô lăng lái được bố trí ở phía bên trái (còn gọi là tay lái thuận). Khi quy định chiều thuận của chuyển động là bên trái thì vô lăng lái được bố trí ở phía bên phải (còn gọi là tay lái nghịch).\nTrong giáo trình này chỉ giới thiệu loại “tay lái thuận” theo đúng Luật Giao thông đường bộ của nước Cộng hòa xã hội chủ nghĩa Việt Nam.\nVô lăng lái có dạng hình vành khăn tròn, các kiểu loại thông dụng được trình bày trên hình 1-2.\n|<image_1>|\n_Hình 1-3 : **Các kiểu vô lăng lái**_\n\\- Điều chỉnh Vô lăng lái:\nĐể người lái được thoải mái khi lái xe, nhà sản xuất cho phép người sử dụng có thể điều chỉnh vị trí vô lăng lái cho phù hợp\n|<image_2>|\n_Hình 1-4: Điều chỉnh vị trí vô lăng lái bằng cơ khí_\nĐể điều chỉnh vô lăng lái, người lái xe cần kéo khóa 1 theo chiều mũi tên, điều chỉnh chiều cao vô lăng theo chiều mũi tên 2, điều chỉnh độ gần xa vô lăng theo chiều mũi tên 3 (như trên hình 1-4).\n|<image_3>|\n_Hình 1-5: Điều chỉnh vô lăng bằng điện_\nĐể điều chỉnh vô lăng bên hông trụ lái có 4 nút điều chỉnh theo 4 hướng, người lái bấm nút để điều chỉnh vô lăng lên xuống và gần, xa như trên hình 1-5.\n\\- Bật, tắt sưởi vô lăng: Ở trên một số xe đời mới hiện đại có trang bị hệ thống sưởi cho vô lăng lái như trên hình 1-6.\n|<image_4>|\n_Hình 1-6: Điều khiển sưởi vô lăng_"
]
embeddings = model.encode(sentences)

similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]

SentenceTransformer based on hiieu/halong_embedding

This is a sentence-transformers model finetuned from hiieu/halong_embedding. 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
  • Base model: hiieu/halong_embedding
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'XLMRobertaModel'})
  (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})
  (2): Normalize()
)

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("TTHDZ/halong_embedding_finetuned")
# Run inference
sentences = [
    'Theo tài liệu Public_119, mục tiêu của LDA là gì?',
    'Public_119\nGiới thiệu\n\nTrong hai bài viết trước, PCA (unsupervised) giữ lại tổng phương sai lớn nhất nhưng không dùng nhãn. Trong phân lớp (supervised), tận dụng nhãn thường cho kết quả tốt hơn. Ví dụ chiếu lên các hướng d1 (gần PC1) và d2 (gần thành phần phụ): d1 có thể làm hai lớp chồng lấn, trong khi d2 tách tốt hơn cho classification. Điều này cho thấy giữ lại nhiều phương sai nhất không phải lúc nào cũng tốt cho phân lớp. LDA ra đời để tìm phép chiếu tuyến tính (projection matrix) tối đa hóa khả năng phân biệt (discriminant). Với C lớp, số chiều mới không vượt quá C−1.',
    'Public_496\nMẠNG NƠ-RON NHÂN TẠO\nMục đích của phần thí nghiệm\n<table>\n<colgroup>\n<col/>\n</colgroup>\n<thead>\n<tr>\n<th><p>Mục đích của phần thí nghiệm:</p>\n<ul>\n<li><p>Hiểu rõ khái niệm Markov Decision Process (MDP).</p></li>\n<li><p>Nắm được các hàm giá trị\n<math><semantics><msup><mi>V</mi><mi>π</mi></msup><annotation>V^{\\pi}</annotation></semantics></math>(s),\n<math><semantics><msup><mi>Q</mi><mi>π</mi></msup><annotation>Q^{\\pi}</annotation></semantics></math>(s,a)</p></li>\n<li><p>Làm quen với các phương trình Bellman và ý nghĩa tối ưu.</p></li>\n<li><p>Áp dụng các thuật toán Q-learning, SARSA, Policy Gradient,\nActor-Critic.</p></li>\n<li><p>Biết các kỹ thuật regularization và exploration trong\nRL.</p></li>\n</ul></th>\n</tr>\n</thead>\n<tbody>\n</tbody>\n</table>',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

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

Training Details

Training Dataset

Unnamed Dataset

  • Size: 6,765 training samples
  • Columns: sentence_0, sentence_1, and sentence_2
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 sentence_2
    type string string string
    details
    • min: 9 tokens
    • mean: 25.48 tokens
    • max: 77 tokens
    • min: 21 tokens
    • mean: 324.91 tokens
    • max: 512 tokens
    • min: 23 tokens
    • mean: 306.9 tokens
    • max: 512 tokens
  • Samples:
    sentence_0 sentence_1 sentence_2
    Transistor NPN có các cực được sắp xếp như thế nào? Public_574
    Các loại linh kiện điện tử phổ biến
    Transitor
    Transistor hay còn gọi là tranzito là một loại linh kiện bán dẫn chủ động. Thường được sử dụng như một phần tử khuếch đại hay khóa điện tử. Với khả năng đáp ứng nhanh, chính xác nên transistor được sử dụng nhiều trong ứng dụng tương tự và số như: mạch khuếch đại, điều chỉnh điện áp, tạo dao động và điều khiển tín hiệu.
    Tên gọi transistor chính là từ ghép trong Tiếng Anh của “Transfer” và “resistor” cũng tức là điện trở chuyển đổi. Tên gọi này được John R. Pierce đặt năm 1948 sau khi linh kiện này ra đời. Nó có ý nghĩa rằng thực hiện khuếch đại thông qua chuyển đổi điện trở.
    Chúng ta có thể nói transistor là một linh kiện bán dẫn chủ động được sử dụng trong mạch khuếch đại, đóng ngắt….
    Về mặt cấu tạo, transistor được tạo thành từ hai lớp bán dẫn điện ghép lại với nhau. Như hình trên chúng ta có thể thấy có hai loại bán dẫn điện là loại p và loại n. Khi ghép một bán dẫn điện âm nằm giữa hai bán dẫn điện dương ta được Transistor...
    Public_028
    Nguyên lý hoạt động
    Nguyên lý làm việc của Transistor NPN
    Khi không có điện áp cấp cho transistor NPN → không phân cực.
    * Lớp N (Emitter & Collector): điện tử tự do là hạt dẫn đa số, lỗ trống là hạt mang điện thiểu số.
    * Lớp P (Base): điện tử tự do là hạt mang điện thiểu số, lỗ trống là hạt dẫn đa số.
    Các hạt mang điện luôn di chuyển từ vùng nồng độ cao → nồng độ thấp:
    * Điện tử: từ N (n-region) → P (p-region)
    * Lỗ trống: từ P (p-region) → N (n-region)
    Quá trình này tạo ra vùng nghèo kiệt (depletion region) tại mối nối B-EB-C.
    ### Tại sao vùng nghèo kiệt thâm nhập nhiều hơn về phía pha tạp nhẹ?
    * Doping là quá trình thêm tạp chất vào chất bán dẫn để tăng dẫn điện.
    * Pha tạp nặng: nhiều hạt mang điện, dẫn điện cao
    * Pha tạp nhẹ: ít hạt mang điện, dẫn điện thấp
    Trong Transistor NPN :
    * Emitter (N): pha tạp nặng → nhiều điện tử tự do
    * Base (P): pha tạp nhẹ → ít lỗ trống
    * Collector (N): pha tạp vừa phải → ...
    Theo tài liệu Public_087, ô nhiễm không khí là thách thức môi trường nghiêm trọng nhất tại đâu ở Việt Nam? Public_087


    Ô nhiễm không khí hiện đang là một trong những thách thức môi trường nghiêm trọng nhất tại Việt Nam, đặc biệt tại các đô thị lớn như Hà Nội và Thành phố Hồ Chí Minh. Sự gia tăng nồng độ bụi mịn PM2.5 vượt ngưỡng cho phép tại nhiều khu vực không chỉ ảnh hưởng trực tiếp đến sức khỏe cộng đồng mà còn đe dọa sự phát triển kinh tế - xã hội bền vững. Trong bối cảnh toàn cầu đang ứng phó với biến đổi khí hậu và các hệ lụy của quá trình đô thị hóa nhanh, nhận diện rõ thực trạng, xác định chính xác nguyên nhân, đánh giá mức độ đóng góp của từng nguồn thải và hiệu quả các giải pháp đã triển khai là cơ sở quan trọng để xây dựng chính sách phù hợp, góp phần nâng cao hiệu lực quản lý chất lượng không khí quốc gia.
    Public_100
    Xu hướng tương lai
    nan
    * Thiết bị nhẹ và gọn: Kính AR dạng kính mắt thông thường, pin lâu hơn.
    * Tích hợp AI và học máy: Tự động nhận diện và tái tạo môi trường thực với độ chính xác cao.
    * Tương tác đa giác quan: Hỗ trợ cảm giác chạm, âm thanh 3D, mùi hương.
    * Metaverse chuyên biệt: Ứng dụng cho giáo dục, y tế, thương mại chứ không chỉ giải trí.
    * Hợp tác từ xa nâng cao: Cuộc họp ảo với hình đại diện 3D chân thực, tăng tính kết nối toàn cầu.
    Theo tài liệu Public_107, nếu learning rate quá nhỏ, kết quả của thuật toán GD sẽ như thế nào? Public_107
    Gradient Descent cho hàm nhiều biến

    Giả sử ta cần tìm global minimum cho hàm f(θ) trong đó θ ( theta ) là một vector, thường được dùng để ký hiệu tập hợp các tham số của một mô hình cần tối ưu (trong Linear Regression thì các tham số chính là hệ số w). Đạo hàm của hàm số đó tại một điểm θ bất kỳ được ký hiệu là ∇θf(θ) (hình tam giác ngược đọc là nabla ). Tương tự như hàm 1 biến, thuật toán GD cho hàm nhiều biến cũng bắt đầu bằng một điểm dự đoán θ0, sau đó, ở vòng lặp thứ t, quy tắc cập nhật là:
    θt+1=θt−η∇θf(θt)
    Hoặc viết dưới dạng đơn giản hơn: θ=θ−η∇θf(θ).
    Quy tắc cần nhớ: luôn luôn đi ngược hướng với đạo hàm.
    Việc tính toán đạo hàm của các hàm nhiều biến là một kỹ năng cần thiết. Một vài đạo hàm đơn giản có thể được tìm thấy ở đây.
    Quay lại với bài toán Linear Regression
    Trong mục này, chúng ta quay lại với bài toán Linear Regression ...
    Public_582
    Thông số và kích thước cơ bản
    nan
    Các thông số và kích thước cơ bản của trụ nước được quy định tại Bảng 1 và Phụ lục A
    Bảng 1 - Thông số và kích thước cơ bản của trụ nước chữa cháy











































    Thông sốTrụ nổiTrụ ngầm
    Áp suất làm việc, MPa (bar), không lớn hơn1(10)1(10)
    Đường kính trong thân trụ nước, mm125 ± 2125 ± 2
    Chiều cao nâng của van, mmTừ 24 đến 30Từ 24 đến 30
    Chiều cao trụ nước, mm1 500 ± 20970 ± 20
    Số vòng quay cần thiết để van mở hoàn toàn, vòng, không lớn hơn1515
    Hệ số tổn thất áp suất trong trụ nước, s2m-5,
    không lớn hơn
    1,2x1031,2x103
    ...
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    
  • Training Hyperparameters

    Non-Default Hyperparameters

    • fp16: True
    • multi_dataset_batch_sampler: round_robin

    All Hyperparameters

    Click to expand
    • overwrite_output_dir: False
    • do_predict: False
    • eval_strategy: no
    • prediction_loss_only: True
    • per_device_train_batch_size: 8
    • per_device_eval_batch_size: 8
    • per_gpu_train_batch_size: None
    • per_gpu_eval_batch_size: None
    • gradient_accumulation_steps: 1
    • eval_accumulation_steps: None
    • torch_empty_cache_steps: None
    • learning_rate: 5e-05
    • weight_decay: 0.0
    • adam_beta1: 0.9
    • adam_beta2: 0.999
    • adam_epsilon: 1e-08
    • max_grad_norm: 1
    • num_train_epochs: 3
    • max_steps: -1
    • lr_scheduler_type: linear
    • lr_scheduler_kwargs: {}
    • warmup_ratio: 0.0
    • 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
    • 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}
    • parallelism_config: None
    • deepspeed: None
    • label_smoothing_factor: 0.0
    • optim: adamw_torch
    • optim_args: None
    • adafactor: False
    • group_by_length: False
    • length_column_name: length
    • project: huggingface
    • trackio_space_id: trackio
    • 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: None
    • hub_always_push: False
    • hub_revision: None
    • gradient_checkpointing: False
    • gradient_checkpointing_kwargs: None
    • include_inputs_for_metrics: False
    • include_for_metrics: []
    • 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
    • include_tokens_per_second: False
    • include_num_input_tokens_seen: no
    • neftune_noise_alpha: None
    • optim_target_modules: None
    • batch_eval_metrics: False
    • eval_on_start: False
    • use_liger_kernel: False
    • liger_kernel_config: None
    • eval_use_gather_object: False
    • average_tokens_across_devices: True
    • prompts: None
    • batch_sampler: batch_sampler
    • multi_dataset_batch_sampler: round_robin
    • router_mapping: {}
    • learning_rate_mapping: {}

    Training Logs

    Epoch Step Training Loss
    0.5910 500 4.997
    1.1820 1000 5.0017
    1.7730 1500 5.0006
    2.3641 2000 5.0006
    2.9551 2500 5.0005

    Framework Versions

    • Python: 3.12.11
    • Sentence Transformers: 5.1.0
    • Transformers: 4.57.1
    • PyTorch: 2.7.0+cu126
    • Accelerate: 1.11.0
    • Datasets: 3.6.0
    • Tokenizers: 0.22.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",
    }
    

    TripletLoss

    @misc{hermans2017defense,
        title={In Defense of the Triplet Loss for Person Re-Identification},
        author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
        year={2017},
        eprint={1703.07737},
        archivePrefix={arXiv},
        primaryClass={cs.CV}
    }
    
Downloads last month
-
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for TTHDZ/halong_embedding_finetuned

Finetuned
(30)
this model

Papers for TTHDZ/halong_embedding_finetuned