truro7 commited on
Commit
96774e4
·
verified ·
1 Parent(s): 6a147c4

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +69 -0
README.md CHANGED
@@ -101,3 +101,72 @@ The model is trained on a dataset of Vietnamese legal questions and correspondin
101
 
102
  It uses Matryoshka loss during training and can be truncated to smaller dimensions, allowing for faster comparisons between queries and documents without sacrificing performance.
103
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
 
102
  It uses Matryoshka loss during training and can be truncated to smaller dimensions, allowing for faster comparisons between queries and documents without sacrificing performance.
103
 
104
+ # Usage
105
+
106
+ ## Direct usage
107
+
108
+ ```python
109
+ from sentence_transformers import SentenceTransformer
110
+ import torch
111
+ import torch.nn.functional as F
112
+
113
+ model = SentenceTransformer("truro7/vn-law-embedding", truncate_dim = 128)
114
+
115
+ query = "Trộm cắp sẽ bị xử lý như thế nào?"
116
+
117
+ corpus = """
118
+
119
+ [100_2015_QH13]
120
+
121
+ LUẬT HÌNH SỰ
122
+ Điều 173. Tội trộm cắp tài sản
123
+
124
+ Khoản 1:
125
+
126
+ 1. Người nào trộm cắp tài sản của người khác trị giá từ 2.000.000 đồng đến dưới 50.000.000 đồng hoặc dưới 2.000.000 đồng nhưng thuộc một trong các trường hợp sau đây, thì bị phạt cải tạo không giam giữ đến 03 năm hoặc phạt tù từ 06 tháng đến 03 năm:
127
+ a) Đã bị xử phạt vi phạm hành chính về hành vi chiếm đoạt tài sản mà còn vi phạm;
128
+ b) Đã bị kết án về tội này hoặc về một trong các tội quy định tại các điều 168, 169, 170, 171, 172, 174, 175 và 290 của Bộ luật này, chưa được xóa án tích mà còn vi phạm;
129
+ c) Gây ảnh hưởng xấu đến an ninh, trật tự, an toàn xã hội;
130
+ d) Tài sản là phương tiện kiếm sống chính của người bị hại và gia đình họ; tài sản là kỷ vật, di vật, đồ thờ cúng có giá trị đặc biệt về mặt tinh thần đối với người bị hại.
131
+
132
+ """
133
+
134
+ embedding = torch.tensor([model.encode(query)])
135
+ corpus_embeddings = torch.tensor([model.encode(corpus)])
136
+
137
+ cosine_similarities = F.cosine_similarity(embedding, corpus_embeddings)
138
+
139
+ print(cosine_similarities.item()) #0.81
140
+
141
+
142
+
143
+ ```
144
+
145
+ ## Retrieve top k documents
146
+ ```python
147
+ from sentence_transformers import SentenceTransformer
148
+ import torch
149
+ import torch.nn.functional as F
150
+
151
+ model = SentenceTransformer("truro7/vn-law-embedding", truncate_dim = 128)
152
+
153
+ all_docs = read_all_docs() # Read all legal documents -> list of document contents
154
+ top_k = 3
155
+ embedding_docs = torch.load(vectordb_path, weights_only=False).to(self.device) # Vector database
156
+
157
+ query = "Trộm cắp sẽ bị xử lý như thế nào?"
158
+ embedding = torch.tensor(model.encode(query))
159
+
160
+ cosine_similarities = F.cosine_similarity(embedding.unsqueeze(0).expand(self.embedding_docs.shape[0], 1, 128), self.embedding_docs, dim = -1).view(-1)
161
+ top_k = cosine_similarities.topk(k)
162
+
163
+ top_k_indices = top_k.indices
164
+ top_k_values = top_k.values
165
+
166
+ print(top_k_values) #Similarity scores
167
+
168
+ for i in top_k_indices: #Show top k relevant documents
169
+ print(all_docs[i])
170
+ print("___________________________________________")
171
+
172
+ ```