Archive for the ‘IR’ Category

a propos GGL Swirl

2009.11.17

za Explore images with Google Image Swirl, now in Labs

„no tak, GGL robi własne photosynth.net” – pomyślałem najpierw – „zwłaszcza, że MS zrobił już w pełni funkcjonalnym w Sliverlight… to będzie dobry przykład, żeby zrezygnować z Flasha, ale na rzecz HTML 5″… a tu się okazuje, że to nie ta bajka…

chodzi tylko o wspomaganie wyszukiwania, a nie tworzenie panoram, czy VR… Swirl to pomysł wizualizację wyników wyszukiwania – akurat dla do obrazów, bo dla txt jest Wonder Wheel

grupowanie wyników – skoro GGL to robi (jak zwykle nie jako pierwszy, ale (chyba) dobrze) to znaczy, że mam dobry argument do własnej pracy „dlaczego grupowanie wyników”… mogę nawet przytoczyć cytat z w/w posta: „These aren’t just the most relevant images — they are the most relevant groups of images.” <- dokładnie  na tej zasadzie działa mój prototyp

z resztą, wcześniej GGL potwierdził, postulowaną przeze mnie, potrzebę możliwości zadawania zapytań analitycznych poprzez udostępnienie Squared – thanx GGL 🙂

dLibra w praktyce

2007.05.21

dLibra używa parser’a zapytań z Lucene („a high-performance, full-featured text search engine library written entirely in Java”)… może i mi się kiedyś to przyda…

szkoda, że dLibra nie jest tak samo FLOSS’owa… licencja/wdrożenie kosztuje 1200PLN, a myślałem, że sobie ściągnę i będę na niej ćwiczył rekomendacje na bazie spójności 🙂

OAI-PMH

  • kryteria selekcji elementów to:
    • przynależność do zbiorów
    • data modyfikacji rekordów
  • w odpowiedzi na żądanie Identify otrzymujemy m.in. listę „przyjaznych” repozytoriów – czyli możemy tworzyć sieć FOAF repozytoriów 🙂
  • narzuca format metadanych (przynajmniej DC), ale nie narzuca formatu danych tj. definiowania zbiorów (np. zakresy tematyczne czy formaty obiektów cyfrowych)

na podstawie

przetestowałem protokół w DBC – całości nie przeczekałem, ale coś się parsuje 🙂 , choć nie wygląda tak, jak przykładowy dlibra.psnc.pl

tu piękną aktualną listę, a tu metalistę bibliotek dostępnych przez OAI-PMH – teraz można ładne pytania rozproszone zadawać 🙂 – np. tą ostrygą

okazuje się, że Google akceptuje OAI-PMH jako jeden ze sposobów dostarczenia Sitemaps

takie moje „opracowanie” LSA z 2006.07.10 znalazłem

2007.03.18

Latent semantic analysis – technika wykorzystywana w NLP, szczególnie w semantyce wektorowej.

Mamy macierz terminy X dokumenty np. tf-idf, LSA zamienia ją na terminy X koncepty oraz dokumenty X koncepty – mamy pośrednią zależność terminy-dokumenty na poziomie pojęć!

Możemy:

  • Clustering, classification
  • synonymy and polysemy (synonimia, homonimia) – a antonimia nie 😉
  • IR (przenosimy query w concept space)

Zmniejszamy macierz (łączymy wymiary –

{(car), (truck), (flower)} –> {(1.3452 * car + 0.2828 * truck), (flower)}), bo jest:

  • za duża
  • zaszumiona
  • za rzadka 

Iloczyn skalarny wektorów terminów – korelacja terminów

Iloczyn macierzowy (macierz przez siebie samą) zawiera wszystkie korelacje (jest macierzą)

Tej macierzy robimy SVD (Singular Value Decomposition)  – rozkładamy na: 2 ortonormalne (odwrócone – ich iloczyn daje I – jednostkową) i diagonalną (U:E:VT).

W macierzach jednostkowych U i V mamy w wierszach (wektorach) relacje termin-pojęcie i dokument-pojęcie.

Możemy:

  • Clustering dokumentów – Porównywać 2 wiersze V na poziomie pojęć (zwykle przez podobieństwo kosinusowe)
  • Clustering terminów – Porównywać 2 wiersze U
  • Wyszukać dokumenty tworzyć z pytania minidoc

 

http://en.wikipedia.org/wiki/Latent_semantic_analysis

http://lsi.research.telcordia.com/lsi/papers/JASIS90.pdf  (1990)

Probabilistic Latent Semantic Analysis – jak LSA, tylko zamiast SVD robimy dekompozycję „derived from a latent class model.” – mniej złożone obliczeniowo, lepsze wyniki – dobra podstawa statystyczna

 

http://en.wikipedia.org/wiki/Probabilistic_latent_semantic_analysis

http://www.cs.brown.edu/people/th/papers/Hofmann-UAI99.pdf (1999)

kilka nowych rzeczy od Google’a a propos Enron’a

2006.12.06

Ostatnio próbując sprawdzić czy mój import e-mail Enron do MySQL’a dobrze działa zacząłem przeszukiwać tysiące plików (e-mail’i) na dysku, żeby porównać rekord w bazie z mail’em, z którego nagłówków rekord powstał… i wtedy mnie olśniło, że od wyszukiwania jest… Google

Stworzyłem więc sobie nowy Custom Search Engine dla Enron’a i w opcjach znalazłem ciekawą rzecz: Refinements – czyli możliwość dodania tagów (Google „tagi” nazywa „labels” – jak w GMail’u) do URLi, które Engine przeszukuje i w wynikach klikając na taki label zawężamy wyszukiwanie. Co więcej kliknięcie na label może dodać kilka tagów filtrujących. Labels są utrzymywane globalnie, więc można nawet (po kliknięciu label) zaproponować również wyniki z innych engine’ów używających tych etykietek. Etykietki są ułożone tematycznie, gdzie Google pozwala (podobnie jak wcześniej tagowanie obrazów na zasadzie gry – Image Labeler) tagować konkretne witryny. Widać wyraźnie, że tagowanie to nowy kierunek dla PageRank…

Ale wracając do Enrona – engine jest, ale nie ma index’ów… no bo w sumie skąd? teraz umieszczę link do maildir‚a tu (Enron Mail Search Engine) i poczekam aż Google to za’index’uje – ciekawe ile to w dzisiejszych czasach trwa?

Acha no i jeszcze użyłem do tego Google AJAX Search API (Beta)

Przy okazji poczytałem o GWT i możliwościach AJAXa

przewód

2006.11.16

Mój otwarty w czerwcu 2003 przewód doktorski nosi tytuł „Metody analizy spójności i zgodności kolekcji dokumentów WWW„. Obecnie widzę to tak:

  • WWW – Semantic Web, ewentualnie obecna Web 🙂
  • dokument WWW – np. post czy komentarz w blogu
  • kolekcja dokumentów WWW – np. blog
  • zgodność – podobieństwo wynikające z content‚u, np. tf-idf
  • spójność – podobieństwo wynikające z informacji semantycznej, np. na podstawie ontologii, czy relacji między autorami w sieci społecznej (tak jak w inżynierii społecznej, ale w innym celu 🙂 )
  • analiza w celu znalezienia bardziej spójnych zbiorów postów i komentarzy (recenzji) w blogosferze, które można następnie wykorzystać do np. poprawiania wyników z wyszukiwarki czy badania zmian popularności tematyki w czasie

W PN do tego doszedł nowy pomysł.
O ile rekomendowanie automatyczne (profile match) i ręczne („poleć znajomemu”) są znane od dawna, to wydaje mi się, że połączenie tych 2 rzeczy może być rewolucyjne. Tzn. proponojemy użytkownikowi zarekomendowanie dokumentu (usługi, produktu, itd.) znajomym z jego sieci społecznej, ale tylko takim, o których wiemy, że takimi rzeczami się interesują (są z nim w warstwie sieci społecznej dotyczącej tej tematyki).

zacofany

2006.11.05

No i dzięki Tag Surfingowi odkryłem, że „Francuzi robią to od lat” (jak mówił pewien bohater(?) Stage Beauty tłumacząc swoje perwersyjne hobby 🙂 ) Np. TagFetch – piękna wyszukiwarka oparta na tagach i RSS.