Backend Python/Django — от 3000 до 6000 $, удалёнка
Python Developer — до 170 000 ₽, удалёнка
Odoo/Python разработчик — до 200 000 ₽, удалёнка
Архитектор в AI проектах, удалёнка
Backend Lead (Python/Go), удалёнка
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3😁3
В реальном мире строки редко совпадают «под копирку».
Например:
"aPpLe iPhone® 14 Pro Max"
"iphone 14 pro max"
Вопрос — чем сравнивать? Ответ зависит от того, что именно вы хотите поймать.
Идеален как первый шаг: убрать мусор, стандартизировать формат.
import re
def clean(t):
t = t.lower()
t = re.sub(r"[®™©]", "", t)
return re.sub(r"\s+", " ", t).strip()
clean("iPhone® 14 Pro Max")
# 'iphone 14 pro max'
Умеет считать похожесть на уровне символов. Отлично для быстрого «на коленке».
from difflib import SequenceMatcher
SequenceMatcher(None, "iphone 14 pro max", "i phone 14 pro max").ratio()
# 0.97
Оптимизированный под скорость и адекватнее реагирует на перестановку слов.
from rapidfuzz import fuzz
fuzz.WRatio("apple iphone 14 pro max", "iphone 14 pro max apple")
# 95
Нейросети, которые понимают значение, а не только текстовый паттерн.
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
m = SentenceTransformer('all-MiniLM-L6-v2')
cosine_similarity(
[m.encode("wireless headphones")],
[m.encode("bluetooth earbuds")]
)[0][0]
# 0.75
—
re
→ всегда первым шагом—
difflib
→ мелкие задачи без зависимостей—
RapidFuzz
→ продакшн, большие объёмы, сложные текстовые вариации—
Sentence Transformers
→ смысл важнее скорости, есть GPU#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍2🔥1