PhoRanker / README.md
itdainb's picture
Update README.md
b8bc2fc verified
|
raw
history blame
3.27 kB
metadata
language:
  - vi
license: apache-2.0
library_name: sentence-transformers
tags:
  - cross-encoder
  - rerank
datasets:
  - unicamp-dl/mmarco
model-index:
  - name: VietnameseCrossEncoder
    results:
      - task:
          type: text-classification
        dataset:
          name: MMarco (Vi-Dev)
          type: unicamp-dl/mmarco
        metrics:
          - type: NDCG
            value: 0
            name: NDCG@10
            verified: false
          - type: MRR
            value: 0
            name: MRR@10
            verified: false
widget:
  - text: >-
      UIT là gì ?. Trường Đại_học Công_nghệ Thông_tin có tên tiếng Anh là
      University of Information_Technology ( viết tắt là UIT ) là thành_viên của
      Đại_học Quốc_Gia TP. HCM.
    output:
      - label: Top 1
        score: 4.0033
  - text: >-
      UIT là gì ?. Trường Đại_học Kinh_tế – Luật ( tiếng Anh : University of
      Economics and Law – UEL ) là trường đại_học đào_tạo và nghiên_cứu khối
      ngành kinh_tế , kinh_doanh và luật hàng_đầu Việt_Nam .
    output:
      - label: Top 3
        score: -1.116
  - text: >-
      UIT là gì ?. Quĩ_uỷ_thác đầu_tư ( tiếng Anh : Unit Investment_Trusts ;
      viết tắt : UIT ) là một công_ty đầu_tư mua hoặc nắm giữ một danh_mục
      đầu_tư cố_định
    output:
      - label: Top 2
        score: 2.5138
pipeline_tag: text-classification

Installation

  • Install pyvi to word segment:

    • pip install pyvi
  • Install sentence-transformers (recommend):

    • pip install sentence-transformers
  • Install transformers (optional):

    • pip install transformers

Pre-processing

from pyvi import ViTokenizer

query = "UIT là gì?"
sentences = [
    "UIT là Trường Đại học Công nghệ Thông tin (ĐH CNTT), Đại học Quốc gia Thành phố Hồ Chí Minh (ĐHQG-HCM)",
    "Mô hình rerank — còn được gọi là cross-encoder — là một loại mô hình mà, khi được cung cấp một cặp truy vấn và tài liệu, sẽ đưa ra một điểm tương đồng.",
    "Việt Nam, quốc hiệu là Cộng hòa xã hội chủ nghĩa Việt Nam, là một quốc gia xã hội chủ nghĩa nằm ở cực Đông của bán đảo Đông Dương thuộc khu vực Đông Nam Á"
]

tokenized_query = ViTokenizer.tokenize(query)
tokenized_sentences = [ViTokenizer.tokenize(sent) for sent in sentences]

tokenized_pairs = [[tokenized_query, sent] for sent in tokenized_sentences]

Usage with sentence-transformers

from sentence_transformers import CrossEncoder
model = CrossEncoder('itdainb/vietnamese-cross-encoder', max_length=256)
scores = model.predict(tokenized_pairs)

Usage with transformers

from transformers import AutoTokenizer, AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained('itdainb/vietnamese-cross-encoder')
tokenizer = AutoTokenizer.from_pretrained('itdainb/vietnamese-cross-encoder')

features = tokenizer(tokenized_pairs, padding=True, truncation="longest_first", return_tensors="pt", max_length=256)

model.eval()
with torch.no_grad():
    model_predictions = model(**features, return_dict=True)
    logits = model_predictions.logits

    scores = [score[0] for score in logits]
    print(scores)