Downloads · 30 days
0
ondame/room-name-similarity
room-name-similarity is a feature extraction model from ondame. Use it when you need embeddings to search or compare text. It is set up for transformers. The card lists the license as mit.
Downloads · 30 days
0
Access
Public
Updated Nov 18, 2025
Repo size
6.3 GB
Likes
0
Public
Click a slice to open those files.
.pth787 MB · 64%
From the Hugging Face model README
객실명 텍스트 유사도 측정을 위한 Siamese 네트워크 모델입니다.
이 모델은 숙소 객실명 간의 유사도를 측정하여 동일한 물리적 객실을 식별하는 데 사용됩니다. BERT 기반 Siamese 네트워크를 사용하여 한국어와 영어 텍스트를 모두 처리할 수 있습니다.
name_similarity_model_0.2klue/bert-baseimport torch
from transformers import AutoTokenizer, AutoModel
import json
# 모델 정보 로드
with open('name_similarity_model_0.2_model_info.json', 'r') as f:
model_info = json.load(f)
with open('name_similarity_model_0.2_tokenizer_info.json', 'r') as f:
tokenizer_info = json.load(f)
# 토크나이저 로드
tokenizer = AutoTokenizer.from_pretrained(tokenizer_info['model_name'])
# 모델 로드 (PyTorch)
model = torch.load('name_similarity_model_0.2.pth', map_location='cpu')
model.eval()
# ONNX 모델 사용 (더 빠른 추론)
import onnxruntime as ort
onnx_session = ort.InferenceSession('name_similarity_model_0.2.onnx')
def calculate_similarity(text1, text2):
# 텍스트 토크나이징
inputs1 = tokenizer(text1, return_tensors='pt', max_length=64, padding=True, truncation=True)
inputs2 = tokenizer(text2, return_tensors='pt', max_length=64, padding=True, truncation=True)
# 유사도 계산
with torch.no_grad():
similarity = model(inputs1, inputs2)
return similarity.item()
# 예시 사용
text1 = "스탠다드 더블룸"
text2 = "Standard Double Room"
similarity_score = calculate_similarity(text1, text2)
print(f"유사도: {similarity_score:.4f}")
import onnxruntime as ort
import numpy as np
from transformers import AutoTokenizer
# ONNX 세션 생성
session = ort.InferenceSession('name_similarity_model_0.2.onnx')
# 토크나이저 로드
tokenizer = AutoTokenizer.from_pretrained('klue/bert-base')
def calculate_similarity_onnx(text1, text2):
# 텍스트 토크나이징
inputs1 = tokenizer(text1, return_tensors='np', max_length=64, padding=True, truncation=True)
inputs2 = tokenizer(text2, return_tensors='np', max_length=64, padding=True, truncation=True)
# ONNX 모델 추론
input_feed = {
'input_ids_1': inputs1['input_ids'].astype(np.int64),
'attention_mask_1': inputs1['attention_mask'].astype(np.int64),
'input_ids_2': inputs2['input_ids'].astype(np.int64),
'attention_mask_2': inputs2['attention_mask'].astype(np.int64)
}
similarity = session.run(None, input_feed)[0]
return similarity[0][0]
# 예시 사용
similarity_score = calculate_similarity_onnx("스탠다드 더블룸", "Standard Double Room")
print(f"유사도: {similarity_score:.4f}")
name_similarity_model_0.2.pth: PyTorch 모델 파일name_similarity_model_0.2.onnx: ONNX 모델 파일 (추론 최적화)name_similarity_model_0.2_model_info.json: 모델 메타데이터name_similarity_model_0.2_tokenizer_info.json: 토크나이저 정보이 모델은 다음과 같은 데이터로 훈련되었습니다:
roomtype_id를 가진 객실명들property_id이지만 다른 roomtype_id를 가진 객실명들MIT License
이 모델은 Room Clusterer 프로젝트의 일부로 개발되었습니다. 더 자세한 정보는 프로젝트 저장소를 참조하세요.