fbpx
Wikipedia

SimHash

SimHashKompüter elmlərində, xüsusilə mətn üzərində olan əməliyyatların sıx olduğu, axtarış mühərriki kimi tətbiqlərdə faylların və ya veb saytlarının bir-birinə olan bənzərliyini tapmaq üçün istifadə edilən alqoritmdir.

Alqoritmə alternativ olaraq klassik hash funksiyaları istifadə edilə bilər. Məsələn iki veb səhifənin ayrı-ayrı hash qiymətləri alınıb bu dəyərləri müqayisə etmək mümkündür. Ancaq simhash alqoritmi, bu üsula görə daha çox sürət və performans təqdim edir.

SimHash alqoritmi, iki faylı bir vektor olaraq görür və bu vektorlar arasındakı kosinusu tapır.

Yuxarıdakı şəkildən də görsəndiyi kimi ayrı-ayrı iki sənədin xüsusi vektor olması vəziyyətində, aralarında cos (x) olaraq göstərilən bir bucaq ilə əlaqə qurulması mümkündür.

Alqoritm, əvvəlcə işlədiyi mətndəki sözlərin ağırlıqlarını (weight) çıxarır və buna görə də sözləri sıralayır.

Sıralanan hər sözə, b uzunluğunda, yeganə (unique) qiymət qaytaran funksiya istifadə olunur. Məsələn hər söz üçün fərqli bir hash qiyməti qaytaran funksiya istifadə edilə bilər.

b ölçüsündəki bir vektorun ağırlıq dəyəri hesablanarkən, hər sözdəki 1 qiyməti üçün +1 və 0 qiyməti üçün -1 dəyəri əlavə olunur.

Son olaraq çıxarılan ağırlıq vektorundakı + dəyərlər 1, 0 və - dəyərlər isə 0 olaraq çevrilir.

Məsələn bir nümünə üzrə izah edək.

code org code yazmaq saytıdır

Yuxarıdakı mətni alqoritm üzrə işləyək. İlk olaraq hər bir sözün ağırlıq dərəcəsini hesablayırıq.

Code 2, org 1, yazmaq 1, saytıdır 1

İndi hər bir söz üçün barmaq izi (fingeprint) yaradırıq. Barmaq izləri ilə yalnız bir sözə məxsus olur. Bu qiymət Hash funksiyalarından yaradılır. Biz sadəlik olsun deyə təsadüfi qiymətlər verəcəyik , amma real tətbiqlərdə təsadüfi ədələrdən istifadə oluna bilməz.

Indi bu ədədləri toplayaq:

Alınan nəticəni ikilik koda çevirik və bu bizim simhash qiymətimiz olur.

1 0 0 1 0 0 1 0

Fərz edək ki, başqa bir mətn üzərində də eyni bir əməliyyatı aparmışıq və nəticə olaraq

1 1 0 1 1 1 0 1

qiyməti almışıq.

Sonda biz hər iki qiyməti bir-biri ilə müqayisə edirik.

Bu iki simhash qiyməti arasındakı bit fərqi 4-ə bərabərdir. Bu o deməkdir ikinci hash qiymətini çıxardığımız mətn birinci mətnə (“code org code yazmaq saytıdır”) 4 məsafəsində yaxındır.

simhash, kompüter, elmlərində, xüsusilə, mətn, üzərində, olan, əməliyyatların, sıx, olduğu, axtarış, mühərriki, kimi, tətbiqlərdə, faylların, saytlarının, birinə, olan, bənzərliyini, tapmaq, üçün, istifadə, edilən, alqoritmdir, alqoritmə, alternativ, olaraq, k. SimHash Komputer elmlerinde xususile metn uzerinde olan emeliyyatlarin six oldugu axtaris muherriki kimi tetbiqlerde fayllarin ve ya veb saytlarinin bir birine olan benzerliyini tapmaq ucun istifade edilen alqoritmdir Alqoritme alternativ olaraq klassik hash funksiyalari istifade edile biler Meselen iki veb sehifenin ayri ayri hash qiymetleri alinib bu deyerleri muqayise etmek mumkundur Ancaq simhash alqoritmi bu usula gore daha cox suret ve performans teqdim edir SimHash alqoritmi iki fayli bir vektor olaraq gorur ve bu vektorlar arasindaki kosinusu tapir Yuxaridaki sekilden de gorsendiyi kimi ayri ayri iki senedin xususi vektor olmasi veziyyetinde aralarinda cos x olaraq gosterilen bir bucaq ile elaqe qurulmasi mumkundur Alqoritm evvelce islediyi metndeki sozlerin agirliqlarini weight cixarir ve buna gore de sozleri siralayir Siralanan her soze b uzunlugunda yegane unique qiymet qaytaran funksiya istifade olunur Meselen her soz ucun ferqli bir hash qiymeti qaytaran funksiya istifade edile biler b olcusundeki bir vektorun agirliq deyeri hesablanarken her sozdeki 1 qiymeti ucun 1 ve 0 qiymeti ucun 1 deyeri elave olunur Son olaraq cixarilan agirliq vektorundaki deyerler 1 0 ve deyerler ise 0 olaraq cevrilir Meselen bir numune uzre izah edek code org code yazmaq saytidir Yuxaridaki metni alqoritm uzre isleyek Ilk olaraq her bir sozun agirliq derecesini hesablayiriq Code 2 org 1 yazmaq 1 saytidir 1Indi her bir soz ucun barmaq izi fingeprint yaradiriq Barmaq izleri ile yalniz bir soze mexsus olur Bu qiymet Hash funksiyalarindan yaradilir Biz sadelik olsun deye tesadufi qiymetler vereceyik amma real tetbiqlerde tesadufi edelerden istifade oluna bilmez Indi bu ededleri toplayaq Alinan neticeni ikilik koda cevirik ve bu bizim simhash qiymetimiz olur 1 0 0 1 0 0 1 0Ferz edek ki basqa bir metn uzerinde de eyni bir emeliyyati aparmisiq ve netice olaraq1 1 0 1 1 1 0 1qiymeti almisiq Sonda biz her iki qiymeti bir biri ile muqayise edirik Bu iki simhash qiymeti arasindaki bit ferqi 4 e beraberdir Bu o demekdir ikinci hash qiymetini cixardigimiz metn birinci metne code org code yazmaq saytidir 4 mesafesinde yaxindir Menbe https az wikipedia org w index php title SimHash amp oldid 5925259, wikipedia, oxu, kitab, kitabxana, axtar, tap, hersey,

ne axtarsan burda

, en yaxsi meqale sayti, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, seks, porno, indir, yukle, sex, azeri sex, azeri, seks yukle, sex yukle, izle, seks izle, porno izle, mobil seks, telefon ucun, chat, azeri chat, tanisliq, tanishliq, azeri tanishliq, sayt, medeni, medeni saytlar, chatlar, mekan, tanisliq mekani, mekanlari, yüklə, pulsuz, pulsuz yüklə, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar.