DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   (X)HTML, JavaScript, DHTML, XML, CSS (http://www.devprotalk.com/forumdisplay.php?f=8)
-   -   algoritam kljucnih reci ili ... (http://www.devprotalk.com/showthread.php?t=10479)

AdriaMart 25. 10. 2011. 16:57

algoritam kljucnih reci ili ...
 
Neznam da li ovo pitanje pripada ovoj temi ... a radi se o sledecem. Kako npr. sajt dajsve.com yipit.com ili slicni agregatori grupisu ponude po kategorijama kad na sajtovima sa kojih se dobijaju ponude uopste i ne postoji kategorizacija.

Da li na osnovu kljucnih reci - analizom?
Da li rucno to rade?
... na neki treci nacin?

webarto 25. 10. 2011. 17:16

Vjerovatno ima neki machine learning algoritam, ali da budeš siguran, ručno... ako imaju zaradu dobru, nije problem nekoga i zaposliti samo da sortira.

AdriaMart 25. 10. 2011. 17:26

Verovatno je kombinacija ova dva nacina tj. automatskog kategorisanja i rucne provere i izmene... mada neznam kako npr. yipit.com dnebvno moze u roku od 3 sata da sortira pola miliona ponuda. Treba im fabrika kineza:)

BraMom 25. 10. 2011. 19:46

Za takve stvari se koriste data mining algoritmi, najverovatnije cluster analysis ili neki classification algoritmi...

Peca 25. 10. 2011. 20:28

na vesti.rs imamo kategorizaciju po nekim kljucnim recima, recimo:
Kôd:

http://www.vesti.rs/Auto-moto/Volkswagen/Volkswagen-najveci-proizvodjac-automobila-vec-ove-godine.html
                                        ^^^^^^^^^

pronasao je rec Volkswagen i prebacio vest u podsekciju 'Volkswagen' [pa samim tim i u glavnu sekciju 'Auto-Moto']
analiziraju se naravno reci i unutar vesti [sadrzaj].

webarto 25. 10. 2011. 20:30

^ http://www.bhtuning.com/volkswagen-n...e-t-65015.html :D

Peca 25. 10. 2011. 20:37

pa? :)
[kakve veze ima taj copy-paste sa ovom temom? :) ]

AdriaMart 25. 10. 2011. 20:51

Citat:

Originalno napisao webarto (Napišite 102533)

Jesi to postao promoter volkswagen-a ili ovog sajta bhtuning :) ?

AdriaMart 25. 10. 2011. 20:56

Citat:

Originalno napisao BraMom (Napišite 102531)
Za takve stvari se koriste data mining algoritmi, najverovatnije cluster analysis ili neki classification algoritmi...

za kompletno preuzimanje podataka (naslov,slika sl.) ili samo za analiziranje i prepoznavanje kategorija... ?

webarto 25. 10. 2011. 21:11

Vijest je preuzeta sa istog sajta, ne razumem zašto je Peca uopšte postavio, kad je ta vijest već kategorisana u Vesti na Auto Moto siteu, ne treba tu pametovati...

Peca 25. 10. 2011. 21:23

hipoteticki, zamisli da nije kategorisana [ima takvih, da ne trazim].
hteo sam da objasnim princip, kako se preko kljucne reci definise podkategorija a samim tim i kategorija.
nista vise.

link sam odmah stavio pod [code] da ne ispadne da backlinkujem sajt.

webarto 25. 10. 2011. 21:35

ja sam postavio link zato što sam ga vidio par minuta ranije na svom siteu pa sam i ja postavio, shvatam da si hipotetički mislio... ali opet, ništa ne mora da znači, može volkswagen biti u ekonomiji, itd... naravno ne postoji bulletproof sistem, uglavnom objasnio si suštinu...

BraMom 26. 10. 2011. 10:34

@AdriaMart Za određivanje kategorija proizvoda na osnovu atributa koje imaš.

Nisam se baš udubljivao u ovaj problem, ali ti generalno imaš neke podatke o "proizvodu", naziv, opis, sliku, sa kog sajta dolazi, cenu... Sad na osnovu tih podataka hoćeš da ga smestiš u neku kategoriju, npr. "Učenje", "Putovanja", "Sport".

Možeš da probaš npr. naive bayes, znači na osnovu modela (postojećih podataka koje si ručno klasifikovao) odrediš verovatnoću P1 da je nešto "Putovanje" ako mu je u opisu neka određena reč ili fraza (npr. more, provod, bla bla...), zatim ako je sa sajta gde preovlađuju takve ponude P2 i tako dalje...
Na osnovu tih pojedinačnih zavisnosti, sračunaš neke verovatnoće, izlaz je da na osnovu ovih podataka odrediš procenat verovatnoće da je tvoj proizvod u kategoriji "Učenje" npr. 30% u kategoriji "Putovanja" 50% i u trećoj n%. Ukoliko jedna kategorija bitno preovlađuje ubaciš ga automatski u tu kategoriju, ako ne napraviš neku notifikaciju moderatoru.
Kako ti baza raste, tako ti raste i preciznost automatike...

Ako si zainteresovan malo preciznije definiši problem, pomoći ću ti oko koncepta.

biske 28. 10. 2011. 00:28

У питању је неки облик machine learning.
На линку http://www.ml-class.org/course/video/preview_list погледај видео Unsupervised Learning, имаш тамо пример са news.google.com.
Можда после тога будеш на трагу решења :1064:

AdriaMart 28. 10. 2011. 14:39

Da, shvatam kako treba da se otprilike uradi...

Najpre preuzmem opis tj. glavni tekst koji opisuje ponudu... zatim iz njega izbacim opste reci kao sto su kupon,popust,din,od,do,cena i sl. i taj tekst uporedim sa recima iz jedne po jedne kategorije... i gde ima najvise poklapanja stavim tu kategoriju a ukoliko nema bitnih poklapanja saljem administratoru na odredjivanje...

Sta mislite? Jednostavan alg. ali nadam se efikasan...

BraMom 28. 10. 2011. 15:27

Tako nekako. Pogledaj da li imaš još neki atribut osim opisa proizvoda koji možeš da iskoristiš, npr. sa kog sajta dolazi, cenu...

AdriaMart 28. 10. 2011. 16:20

U mom slucaju kategorija ne zavisi ni od cene ni od sajtova... mozda samo dodam kategoriju proizvodu/usluge jeftiniji od 500din npr.

jablan 28. 10. 2011. 21:01

^ Mislim da nije BraMom imao to u vidu. Uzmi naprimer dva sledeća oglasa:

"Dvosoban stan na Karaburmi, 40m2, III, TA, 200e" i "Garsonjera u Žarkovu, 20m2, CG, VP, 30000e"

Na osnovu cene prvi možeš da klasifikuješ u "stanovi/izdavanje" a drugi u "stanovi/prodaja", bez eksplicitne informacije o tome u samom oglasu.

webarto 28. 10. 2011. 21:15

^ podržavam, ali on hoće da kategoriše stranice tipa http://www.kolektiva.rs/ koje u naslovu često nemaju nikakav pointer... ove stranice nisu classified, prema tome ja ne bih ni pokušavao to, bolje napravi neki pametni search...

AdriaMart 28. 10. 2011. 21:49

pametni search??? ...Jednostavno cu uporediti tekst pa sa kojom kategorijom ima najvise poklapanja tamo cu dodati... nemoze da bude u pitanju ponuda npr. restorana a da se ta rec ne spominje ni u naslovu ni u opisu.

AdriaMart 29. 10. 2011. 21:20

Pronasao sam jedan nacin a Vi kazite da li moze da bude koristan za kategorisanje... Imam jeda nstring koji je ustvari opis proizvoda/usluge i druge stringove koji sadrze karakteristicne reci za tu kategoriju npr. String za restoran (restoran,hrana,pizza,desert,rostilj) e sad uporedjivanjem opisa sa svim stringovima dobijam procenat podudarnosti i naravno opis koji se najvise podudara je najverovatnije i kategorija... e sad neznam da li da koristim za uporedjivanje i dobijanje procenta funciju similar_text() ili mozda JaroWinkler , Levenshtein algoritam ?

ivanhoe 30. 10. 2011. 07:20

@jablan: i onda ti dodje srpska agencija i da oglas za prodaju stana i za cenu napise 10e da bi se pojavili prvi u listingu na vecini sajtova :)

Glavni problem kod svih spajderovanja i machine-learning sistema je sto skup pravila, tj. logika mora da bude otporna na izuzetke, kojih uvek ima.. pogresno spelovana rec, namerno ili slucajno upisana pogresna cena, itd., masinska obrada texta sa neta je ****in nocna mora.. deo toga moze da se zanemari, ali nekad (cesto) tih izuzetaka ima toliko da na kraju rezultat ni na sta ne lici...

Najbolje resenje po meni je da se pravi hibridni sistem, koji ce da delimicno sortira rezultate, a onda posao preuzmu ljudi. Napravi im se dodatni alat koji ce sluziti da brzo prekontrolisu polu-sredjene rezultate, uz eventualno neku logiku za flag-ovanje cudnih situacija (tipa mala cena stana, kao za izdavanje, a u oglasu pise da je stan uknjizen, kao da je prodaja, i tako neke fore).. mnogo je to lakse nego praviti super pametni sistem koji ce da pokrije jos tih dodatnih 10% "cudnih" slucajeva...

BraMom 30. 10. 2011. 09:15

@ivanhoe Do sličnog zaključka smo i došli u diskusiji, ako je verovatnoća koju da algoritam (naive bayes) iznad nekog praga onda automatika, ako ne onda na ručno moderiranje. Naravno algoritam može i "samo" da da predloge i da čeka da ti klikćeš "approve". Cenim da bi AdriaMart rado pristao na ručno isrpavljanje ukoliko agencije počnu da šteluju podatke po njegovom algoritmu ;)

@AdriaMart Poenta je da na osnovu podataka koje imaš, znači već kategorisanih proizvoda, zaključiš da kolika je korelacija između (ne)pojavljivanja ključne reči i pripadnosti nekoj kategoriji. Npr. ako se u opisima 5 proizvoda pojavljuje fraza "teleća glava", od toga su 4 restorani, a jedno moj data mining algoritam. Možeš da zaključiš da pojavljivanje fraze "teleća glava" sa 80% određuje da je u pitanju "restoran". Prođeš isto za sve ključne reči/fraze i onda sračunaš bajesa i to je to... Kako ti baza raste ti radiš update svog modela, i tako povećavaš preciznost na osnovu već klasifikovanih "proizvoda".
Znači model, tj. verovatnoće korelacije pojavljivanja neke ključne reči i pripadnosti određenoj kategoriji ne određuješ "od oka", nego na osnovu postojećih klasifikovanih podataka.

AdriaMart 30. 10. 2011. 16:26

Hvala svima... Mislim da cu nakraju jednostavno bodovati ako se koren kljucnih reci nalazi u recima teksta pa gde dobijem najvise bodova to je i verovatno kategorija...


Vreme je GMT +2. Trenutno vreme je 14:44.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.