Як фурӯшанда, чаҳор имло: Чӣ гуна марҳилаҳои детерминистӣ холҳои шабеҳро мезананд | Ба сӯи Илми маълумот

0
Як фурӯшанда, чаҳор имло: Чӣ гуна марҳилаҳои детерминистӣ холҳои шабеҳро мезананд | Ба сӯи Илми маълумот


Агентии ман мехарад ҷойгиркунии таҳрирӣ аз ноширони мустақил. Рӯйхати таъминкунандагон каме бештар аз 10 000 вебсайт аст, ки ҳар яке аз онҳо ширкатест, ки ба мо ҳисобнома-фактураҳо мефиристад ва тоза нигоҳ доштани ин рӯйхат мушкили аз ҳама ҷолибтаринест, ки мо дорем. Он инчунин онест, ки ҳангоми хатогӣ пулро сарф мекунад. Сабти такрории таъминкунанда ин аст, ки чӣ гуна шумо як ҳисобнома-фактураро ду маротиба пардохт мекунед ва сабтҳои тақсимшуда маънои тақсими таърихи нархро доранд, аз ин рӯ меъёре, ки шумо соли гузашта гуфтушунид карда будед, тибқи имлое пешниҳод карда мешавад, ки ҳеҷ кас ҷустуҷӯ намекунад.

Аз моҳи январ мо каталоги бозори берунаро ба системаи дохилии худ тавассути API-и худ ҳамоҳанг карда истодаем, бар замми як даҳсолаи вуруди дастӣ аз ҷониби менеҷерони ҳисобҳо ва ҷадвалҳое, ки тавассути почтаи электронӣ меоянд. Ҳоло ҳамон сайт ҳамчун solartravelmag.com, blog.solartravelmag.com ва дар рӯзи бад SolarTravelMag.COM бо параметри пайгирӣ замима шудааст. Як бозоре, ки мо ҳамоҳанг мекунем, пеш аз ҳама, он аст, ки нархҳои номбаршудаи он тақрибан 90% ба воқеият мувофиқат мекунанд, ки ин ростқавл аст ва ин маънои онро дорад, ки тафтиши мутақобилаи нархҳо байни манбаъҳо ҳатмист. Санҷиши байниҳамдигарӣ танҳо агар шумо медонед, ки ду сатр як сайтро тавсиф мекунад. Ин ҳалли субъект аст, мушкилот бо назарияи расмӣ ба Феллеги ва Сунтер дар соли 1969 бармегардад. [1]ва он дорои амволе мебошад, ки дарсҳо хеле кам ба он оварда мерасонанд: мувофиқати сатр қисми осон аст. Қарор додан, ки бо холҳо чӣ кор кардан лозим аст.

Ин мақола аз лӯлае мегузарад, ки рӯйхати моро тоза кард ва дар барқарорсозии синтетикии он бо нишони ҳақиқати заминӣ иҷро карда мешавад, то ҳар як даъвои дақиқи дар зер тафтишшаванда бошад. Хатти хаттӣ, дар як ҷумла: ду марҳилаи детерминистии дилгиркунанда 76% нусхаҳои такрориро ба таври ройгон хориҷ карданд, мувофиқати норавшан дар ду сония 33,7 миллион ҷуфт хол гирифт ва ҳеҷ хадде вуҷуд надошт, ки чизи боқимондаро бехатар муттаҳид кунад. Натиҷаи воқеии матч як қатори баррасиҳост, на маҷмӯи якҷоякунӣ.

Нусхаи синтетикии бесарусомонии воқеӣ

Ман рӯйхати фурӯшандагонамонро нашр карда наметавонам, бинобар ин ман як бемориро аз нав сохтам. Ҳафт ҳазор бренди ношири ихтироъшуда доменҳоро аз паҳншавии воқеии хотимаҳо гирифтанд ва он гоҳ ман рӯйхатро тавре вайрон кардам, ки мо онро вайрон кардам: 2,429 вариантҳои рӯизаминӣ (схемаҳо, префиксҳои www, корпуси тасодуфӣ, роҳҳо, параметрҳои пайгирӣ), 888 сатри субдоменӣ ба монанди blog. ва m.529 хоҳару хоҳарони домени кишвар, ба монанди brand.com, ки дар паҳлӯи brand.de нишастаанд ва 505 хатогиҳои вуруди як клавиатура. Ман инчунин 180 дом шинондаам: доменҳо як таҳрир дуртар аз бренди мавҷуда, ки комилан ба як фурӯшандаи дигар тааллуқ доранд, зеро веби воқеӣ пур аз ҳамсояҳои наздики ном аст ва ҳама маҷмӯи санҷиши ростқавл ба онҳо ниёз доранд.

Натиҷа 11,531 сатрест, ки 7,180 фурӯшандагони воқеиро тавсиф мекунанд. Генератор панҷоҳ сатр рӯйхати калимаҳо ва вайронкории қасдан аст; рецепти фасоди дар боло зикршуда барои аз нав сохтани он кифоя аст. Ҳама чиз дар Python 3.12 бо RapidFuzz 3.14.5 кор мекард [2] ва tldextract 5.3.2 [3] дар қуттии абрии ягона vCPU, аз ин рӯ ҳеҷ яке аз вақтҳои дар поён буда сахтафзори ҷиддиро талаб намекунад.

Марҳилаҳои дилгиркунанда аксари корҳоро иҷро мекунанд

Марҳилаи якум нормализатсия аст ва он дидаву дониста гунг аст: бо ҳарфҳои хурд, рахи схема, буридани роҳ ва сатри дархост, партофти пешбари www.

import redef norm_host(raw: str) -> str:    s = raw.strip().lower()    s = re.sub(r"^[a-z]+://", "", s)    s = s.split("/")[0].split("?")[0]    if s.startswith("www."):        s = s[4:]    return s.rstrip(".")

Ин рӯйхатро аз 11,531 сатр то 9,080 ҳостҳои беназир дар 0,03 сония гирифт. Модел нест, холҳо нест, 2,451 нусхаи такрорӣ нест.

Марҳилаи дуюм зердоменҳоро вайрон мекунад ва дар ин ҷо одамоне, ки ба нуқтаҳо тақсим мешаванд, осеб мебинанд. Домени ба қайд гирифташудаи blog.solartravelmag.com solartravelmag.com аст, аммо домени ба қайд гирифташудаи solartravelmag.co.uk co.uk нест ва ягона роҳи донистани он Рӯйхати суффиксҳои ҷамъиятӣ мебошад [4]феҳристи нигоҳдории ҳар як суффикс, ки дар зери он мардум метавонанд номҳоро сабти ном кунанд. Китобхонаи tldextract онро фаро мегирад:

import tldextract# pin to the bundled suffix snapshot so runs are reproducibleextract = tldextract.TLDExtract(suffix_list_urls=())registered = {}for host, row in hosts.items():    ext = extract(host)    reg = ext.domain + "." + ext.suffix if ext.suffix else host    registered.setdefault(reg, row)

873 ҳостии дигар аз байн рафта, 8207 домени ба қайд гирифташуда боқӣ монд. Ду марҳилаи муайянкунанда, зангҳои доварии сифр ва 3,324 аз 4,351 сатри такрорӣ аллакай нест шудаанд. Агар шумо як рақамро аз ин мақола гиред, онро гиред: 76% мушкилот ҳеҷ гоҳ ба холи монандӣ ниёз надошт.

Он чизе ки боқӣ мондааст, семоҳаи сахт аст. Ҳақиқати асосӣ мегӯяд, ки 1,135 ҷуфтҳои такрории ҳақиқӣ ҳоло ҳам дар он 8,207 доменҳо пинҳон шудаанд, сабтҳои тақсимшуда, ки танҳо муқоисаи байнидоменҳо пайдо мешавад: хатогиҳои вуруд ва бародарони домени кишвар.

Қувваи бераҳмона хуб аст ва блок кардан то ҳол нигоҳ доштани худро ба даст меорад

8,207 доменҳо 33,7 миллион ҷуфтҳои имконпазирро ташкил медиҳанд, ки ин ба лаҳзаи расидан ба индексатсияи оқилона садо медиҳад. Ин нест, ҳадди аққал барои суръат нест. RapidFuzz матритсаи пурраи шабоҳатро дар як занг ҳисоб мекунад:

import numpy as npfrom rapidfuzz import fuzz, processM = process.cdist(labels, labels, scorer=fuzz.ratio,                  dtype=np.uint8, workers=-1)

Ду сония, 67 МБ. Дар рӯйхат ин андоза, қувваи бераҳмона як қаҳва аст.

Бастан бо ду сабаби дигар. Аввалан, миқёс: дар 100,000 фурӯшанда ҳамон матритса 10 миллиард ҳуҷайра ва 10 ГБ аст ва қаҳваи қаҳва қатъ мегардад. Дуюм, ва ночиз: матритсаи холӣ рӯйхати вазифаҳо нест. Шумо мехоҳед, ки ҷуфтҳои номзадҳоеро, ки шумо метавонед гурӯҳбандӣ кунед ва масир кунед, на девори рақамҳо. Ҳамин тавр, ман ба ҳар ҳол танҳо доменҳоеро муқоиса намудам, ки калидро мубодила мекунанд:

from itertools import combinationsblocks = {}for reg in domains:    label = label_of[reg]                 # the part left of the suffix    for key in ("P" + label[:2], "S" + label[-3:]):        blocks.setdefault(key, set()).add(reg)pairs = set()for members in blocks.values():    pairs.update(combinations(sorted(members), 2))

Блок кардан нарх дорад ва шумо бояд онро ба ҷои умед чен кунед. Танҳо бо калиди префикси ду аломат, маҷмӯи номзад 93,0% ҷуфтҳои такрории ҳақиқиро гирифт; хатогиҳое, ки ба ду ҳарфи аввал задаанд, аз блоки онҳо раҳо шуданд. Илова кардани калиди се аломати охирин ин нишондодро то 99,8% афзоиш дод, аз ҳисоби афзоиши номзад аз 864,600 ҷуфт ба 1,690,124. Гирифтани хол ба хамаи онхо 1,1 сония вакт гирифт. Маҳз ду ҷуфти ҳақиқӣ аз ҳарду калид гузаштанд. Дар рӯйхати воқеӣ шумо ҳақиқати асосиро нахоҳед дошт, аз ин рӯ пеш аз бовар кардан ба он, бозхонди блокро дар намунаи нишондодашуда ҳисоб кунед.

Ду теппае, ки аз ҷудо шудан худдорӣ мекунанд

Дар ин ҷо версияи омӯзишии ин ҳикоя ба охир мерасад ва версияи амалиётӣ оғоз мешавад. Ман ҳар як ҷуфти номзадро гирифтам ва гистограммаро аз рӯи ҳақиқати асосӣ тақсим кардам.

Як фурӯшанда, чаҳор имло: Чӣ гуна марҳилаҳои детерминистӣ холҳои шабеҳро мезананд | Ба сӯи Илми маълумот
Дар он ҷое, ки 1,69 миллион ҷуфти номзадҳо ба замин меоянд, аз рӯи ҳақиқати заминӣ тақсим карда мешаванд. Ҷуфтҳои фурӯшандаи гуногун бо ранги хокистарӣ, ҷуфтҳои якхела бо кабуд, дар миқёси чӯб. Тасвир аз ҷониби муаллиф.

Ҳар як ҷуфти номзад аз марҳилаи басташавӣ, бо ёрии rapidfuzz хол гирифта, аз рӯи он ки оё ин ду домен ба як фурӯшанда тааллуқ доранд, ранг карда мешавад. Дубликатҳои ҳақиқӣ ва фурӯшандагони гуногун дар байни 88 ва 97 якхеларо ишғол мекунанд, аз ин рӯ ҳеҷ як ҳадди аққали худкор муттаҳидшавӣ бехатар нест.

Дар поён аз 80 хол маълумот тоза аст: дар он ҷо як нусхаи ҳақиқӣ зиндагӣ намекунад. Болотар аз 97 он роҳи дигар тоза аст, бо як сайди бузург ман ба даст хоҳам овард. Минтақаи байни 88 ва 97 омехтаи аслӣ аст ва он бо сабаби сохторӣ омехта аст, на танзим. Хатогии вуруди як клавиатураи домени 14 аломат дар солҳои 90-ум баҳо медиҳад. Фурӯшандаи воқеан дигар, ки номаш як таҳрир аз шумо дур аст, инчунин дар солҳои 90-ум баҳо медиҳад. Сатр наметавонад ба шумо бигӯяд, ки шумо дар кадом вазъият ҳастед, зеро ин ду ҳолат як ҳодисаи сатр мебошанд, ки дар паси онҳо соҳибони гуногунанд.

Тозакунӣ онро бетонӣ мекунад. Якҷоякунии худкор дар 85 дақиқии 0,345 дорад, яъне аз ҳар се якҷоякунӣ дутоаш нодуруст аст. Дар 90, дақиқӣ ба 0,764 мерасад, аз ин рӯ, дар чаҳор як муттаҳидшавӣ ҳанӯз нодуруст аст. Дар 95 шумо дақиқии 0,895 мегиред ва аллакай бозхондиро ба 0,738 коҳиш додаед. Танҳо дар 98 дақиқӣ ба 1,0 мерасад, бо ёдоварӣ дар 0,485.

Ва ҳоло сайд. Ҳар як ҷуфти холӣ дар ин минтақаи комил, ҳамаи 551-и онҳо, дар ду домени гуногуни кишвар як ном доранд: brand.com дар паҳлӯи brand.de ё brand.co.uk. Нишондиҳанда мутмаин аст, ки сатрҳо мувофиқат мекунанд ва сатрҳо мувофиқат мекунанд, аммо оё brand.de бозуи олмонии ҳамон як ношир аст ё як ширкати ба ҳам алоқаманде нест, ки ҳамон калимаро гирифтааст, дониш дар бораи ширкатҳост ва ҳеҷ гуна итминон дар бораи матн онро таъмин намекунад. Дар рӯйхати воқеии мо ҳарду ҳолат рух медиҳанд. Ҳамин тавр, як минтақае, ки мувофиқаткунанда ҳеҷ гоҳ дар бораи матн хато намекунад, минтақаест, ки дар он дуруст будани матн ҳеҷ чизро ҳал намекунад. Ин ҷуфтҳо аз рӯи қоида ба одам мераванд:

def route(a: str, b: str, score: int) -> str:    if score == 100 and suffix_of[a] != suffix_of[b]:        return "review"     # brand.com vs brand.de is a business question    if score >= 88:        return "review"    return "ignore"

Аҳамият диҳед, ки чӣ намерасад: филиали якҷоякунӣ. Пас аз марҳилаҳои детерминистӣ, ҳеҷ чизи боқимонда барои муттаҳид шудан ба таври худкор бехатар набуд.

Бозхондиро бо дақиқаҳо харед, на остона

Диаграммаи хати дақиқ ва бозхонд бар зидди остонаи худкор муттаҳидшавӣ, ки дар он дақиқӣ аз 0,09 дар ҳадди 80 то 1,0 дар 98 боло меравад, дар ҳоле ки бозхонд аз 1,0 то 0,49 меафтад, ду хат дар наздикии 93 убур мекунад.
Дақиқӣ ва бозхондкунии нобино худкор муттаҳидшавии байни остона. Каҷҳо ҳеҷ гоҳ дар ҷое, ки шумо истодан мехоҳед, намерасанд. Тасвир аз ҷониби муаллиф.

Якҷоякунии автоматӣ дар ҳар остона чӣ арзиш дорад. Дақиқӣ танҳо дар натиҷаи 98 ба 1,0 мерасад, ки дар он лаҳза ёдоварӣ аз нисфи кам шуд ва ҷуфтҳои дар он сатҳ боқӣ монда, бародарони домении кишвар мебошанд, ки ба ҳар ҳол ба тасмими инсон ниёз доранд.

Азбаски ягон остона ба таври бехатар муттаҳид намешавад, кори воқеии остона тағир меёбад: он навбати баррасиро андоза мекунад. Ин як тугмаи оморро ба қарори кадрӣ табдил медиҳад ва рақамҳо тиҷоратро равшан мекунанд. Банди 88 то 99 аз 1354 ҷуфт иборат аст, ки 565-тои онҳо такрори ҳақиқӣ мебошанд. 551 хоҳарони баррасии маҷбурии кишварро илова кунед ва баррасикунанда бо 1,905 ҷуфт рӯбарӯ мешавад. Дар як дақиқа шаш ҷуфт, ин ҳамагӣ беш аз панҷ соат аст: як рӯзи корӣ барои ҳалли даҳсолаи бесарусомонии фурӯшанда. Васеъ кардани гурӯҳ ба 85 1,378 ҷуфти дигар, тақрибан чаҳор соати иловагӣ илова мекунад ва маҳз 15 дубликати ҳақиқии иловагиро барқарор мекунад. Партофтани фарш ба 80 пуфак навбат 30 соат гузашт ва ду нафари дигарро барқарор мекунад. Ҳар касе, ки буҷаи таъминкунанда дорад, акнун метавонад як нуқтаро дар ин хат интихоб кунад ва дақиқ бидонад, ки ҳар соат чӣ мехарад.

Ман ҳарду хотимаро тақлид кардам. Роҳи бознигарӣ, ки баррасикунанда навбатро дуруст ҳал мекунад, ба 7,189 объект бар зидди ҳақиқати заминии 7,180 фуруд омада, 1,116 аз 1,135 муносибатҳои такрориро барқарор мекунад. 19 гумшуда 17 ҷуфт, ки аз 80 то 87 хол гирифтаанд ва 2 ҷуфт блокировка гум шудаанд. Охири дигар онест, ки асбоб ба таври васвасакунанда осон мекунад: якҷоякунии автоматии нобино дар 90 ва ба хона равед. Он 6,914 субъектро истеҳсол кард ва 282-тои онҳо сабтҳо мебошанд, ки ду ё зиёда фурӯшандагони воқеан гуногунро муттаҳид мекунанд. Бо шартҳои қарзи кредиторӣ, 282 таъминкунандагоне, ки таърихи нархҳояшон ҳоло бо меъёрҳои ягон каси дигар олуда шудааст, ба сабте, ки ба касе пардохт мекунад, замима карда шудааст. Рӯйхати бесарусомон барои муқоисаи шумо арзиш дорад. Рӯйхати комилан нодуруст барои интиқоли шумо хароҷот мекунад.

Ду одат рӯзи баррасиро арзон кард. Навбатро аз рӯи пул ҷудо кунед, то ҷуфтҳое, ки ҷойгиркунии гаронбаҳо доранд, аввал чашмони худро пайдо мекунанд ва думи дароз метавонад рӯзи ҷумъаи сустро интизор шавад. Ва ҳар як муттаҳидшавиро баръакс гардонед: ҳарду сатри манбаъро нигоҳ доред, гузориши якҷоя нависед, ҳеҷ гоҳ аз нав нанависед. Нисфи арзиши инсон дар ҳалқа аз байн меравад, агар хатоҳои ӯ низ доимӣ бошанд.

Чӣ ба рӯйхати шумо интиқол дода мешавад

Ҳеҷ чиз дар боло барои ноширон хос нест. Номҳои фурӯшандагон, ҳисобҳои муштариён ва рӯйхати шарикони шарик дар як шакл ноком мешаванд: садои рӯизаминӣ, ки нормализатсия мекушад, иерархия, ки шакли каноникӣ вайрон мешавад ва боқимондаи мувофиқатҳои наздик, ки танҳо сатр ҷавобро нодида мегирад. Вақте ки шумо сутунҳои бештаре доред, ки ман дар ин ҷо истифода кардам, онҳоро дар интерфейси барраси сарф кунед, на баҳо. Як почтаи электронии муштарак ё тафсилоти бонкӣ 91-ро дар ду сонияи таваҷҷӯҳи инсон ба итминон табдил медиҳад; печонидани он ба холи таркибӣ танҳо норавшаниро дар ҷое дидан душвортар мекунад. Ва агар субъектҳои шумо доменҳо бошанд, Рӯйхати суффиксҳои ҷамъиятиро эҳтиром кунед. Тақсим кардани нуқтаҳо ин аст, ки чӣ тавр co.uk бузургтарин таъминкунандаи шумо мегардад.

Хулоса

Қубуре, ки ин рӯйхатро тоза кардааст, ноумед аст. Ба эътидол овардан душвор аст, ба доменҳои ба қайд гирифташуда афтед, ду калидро маҳкам кунед, ҳама чизро як маротиба ҳисоб кунед ва аз рӯи қоида масир кунед: итминонҳо аллакай вайрон шуда буданд, имконнопазирӣ нодида гирифта мешаванд ва мобайни омехта як навбат мешавад, ки шахс метавонад дар як рӯз анҷом диҳад. Дар сатрҳои кӯтоҳ ба монанди номҳои домейнҳо, холҳои шабеҳӣ далели вазн кардани инсон аст ва маълумот дар ин ҷо ба таври возеҳ нишон медиҳад: аз чор се як хато дар 85, як аз чаҳор як хато дар 90 ва комилият танҳо дар минтақаи дақиқе мерасад, ки сатр саволро қатъ мекунад. Навбатро гурӯҳбандӣ кунед, онро ба соатҳое, ки шумо доред, андоза кунед, муттаҳидшавиро баръакс нигоҳ доред ва бигзор марҳилаҳои детерминистӣ фахр кунанд.

Ҳама диаграммаҳо дар ин мақола аз ҷониби муаллиф бо matplotlib тавлид шудаанд. Ягон асбоби тасвири AI истифода нашудааст.

Иқтибосҳо

[1] I. Fellegi ва A. Sunter, A Theory for Recordage Record (1969), Маҷаллаи Ассотсиатсияи омори Амрико

[2] M. Bachmann, RapidFuzz: мувофиқати сатри зуд норавшан дар Python (2026), GitHub

[3] Ҷ. Курковский, tldextract (2026), GitHub

[4] Бунёди Mozilla, Рӯйхати суффиксҳои ҷамъиятӣ (2026), publicsuffix.org



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *

Delta Air Lines (m1h262p) Delta Air Lines (m1h26g2) 애벗잡담잡이 애벗태양새 애벗얼가니새 애벗찌르레기 압드알쿠리참새 압딤황새 아버데어시스티콜라 이상한덤불개개비 에이버트북미덤불멧새 아비시니아캣버드 아비시니아크림슨윙 아비시니아지상코뿔새 아비시니아지상지빠귀 아비시니아긴발톱할미새 아비시니아올빼미 아비시니아파랑새 아비시니아낫부리후투티 아비시니아슬레이티딱새 아비시니아지빠귀 아비시니아왁스빌 아비시니아검은딱새 아비시니아동박새 아비시니아딱따구리 아카시아얼룩바벳 아카시아박새 아카디아딱새 아체직박구리 도토리딱따구리 아크레앤트슈라이크 아크레토디타이런트 아다마와멧비둘기 애들레이드솔새 아델리펭귄 애드미럴티매미새 아페프비둘기 아프간잡담잡이 아프간눈참새 아프리카줄무늬올빼미 아프리카검은오리 아프리카검은칼새 아프리카푸른딱새 아프리카푸른박새 아프리카넓적부리새 아프리카시트릴 아프리카목걸이멧비둘기 아프리카뜸부기 아프리카크림슨윙핀치 아프리카뻐꾸기 아프리카뻐꾸기매 아프리카뱀목가마우지 아프리카사막솔새 아프리카어두운색딱새 아프리카난쟁이물총새 아프리카에메랄드뻐꾸기 아프리카발가락물닭 아프리카파이어핀치 아프리카물수리 아프리카꾀꼬리 아프리카참매 아프리카풀올빼미 아프리카녹색비둘기 아프리카회색딱새 아프리카회색코뿔새 아프리카회색딱따구리 아프리카하리어매 아프리카매수리 아프리카산악잡담잡이 아프리카황조롱이 아프리카후투티 아프리카물꿩 아프리카습지하리어 아프리카올리브비둘기 아프리카대머리황새 아프리카검은머리물떼새 아프리카종려칼새 아프리카긴꼬리딱새 아프리카펭귄 아프리카피쿨렛 아프리카얼룩코뿔새 아프리카얼룩할미새 아프리카밭종다리 아프리카팔색조 아프리카난쟁이거위 아프리카난쟁이물총새 아프리카뜸부기 아프리카붉은눈직박구리 아프리카갈대개개비 아프리카강제비 아프리카바위 종다리류 아프리카성따오기 아프리카소쩍새 아프리카때까치딱새 아프리카은부리참새 아프리카제비물떼새 아프리카도요 아프리카저어새 아프리카점박이나무타기 아프리카검은딱새 아프리카뜸부기 아프리카지빠귀 아프리카볏도요 아프리카숲올빼미 아프리카노랑솔새 아가미왜가리 날렵한박새딱딱새