Wyszukiwanie pasujących tematów przy zakładaniu wątku

0

Witam

Gdzieś ostatnio coś czytałem o Ajax, i opisali tam taką możliwość, że jak się wpisuje w jakiegoś edit'a na stronce text, to asynchronicznie można wypytywać np google o podpowiedzi, i wciskać to do listy rozwijalnej - tak mniej więcej.
W związku z tym mam taki pomysł - pomysł jak pomysł - ocencie sami. Często na forum jest tak, że ludzie piszą, bez użycia wyszukiwarki - najpierw piszą, a jak ich ktoś zjedzie, że było wiele razy, to wtedy szukają (czy to na googlach, czy na 4p). Może by zrobić taki mechanizm, że przy dodawaniu nowegą wątku, w trakcie jego redagowania, gdzieś (z boku, na dole lub górze) wyświetlają się wyniki wyszukiwania (google, 4p) w jakiejś rameczce, "tej rzeczy o którą chce zapytać użytkownik". Problem oczywiście w tym czego szukać. Można by to eksperymentalnie dobrać, może z tematu (to by było najprościej, gorzej jak ktoś pisze najpierw treść a potem temat), może coś z treści. Jak się coś znajdzie pasującego to fajnie, jak nie to klikać nie trzeba. Zresztą można w opcjach operatora dać checkbox w stylu "szukaj w trakcie pisania" czy jakoś tak podobnie.

Tak czy siak, wydaje mi się że było by to spoko.

Pozdrawiam

0

Idea w sumie ciekawa. Sam też kiedyś myślałem o czymś w tym stylu, ale trochę na innej zasadzie - nie w trakcie pisania, tylko w momencie wysłania, a przed dodaniem, żeby się pokazywało okienko z potencjalnymi pokrewnymi tematami i przycisk dodaj, na wypadek, jakby jednak gotowe już rozwiązanie się nie znalazło (myślałem o tym w czasach, gdy o ajaksie jeszcze nie miałem bladego pojęcia).

Tak czy inaczej podstawowym problemem jest zrozumienie, czego chce użytkownik i czego szukać :).

0

Pomysl genialny ale wymagaloby to opracowania dobrego filtra do szukajki, zeby nie znajdowal tematow gdzie wiele razy wystepuje slowo "jest", "program" itp inne slowa ktore za wiele nie mowia. Imo powazne wyzwanie implementacyjne.

W sumie moglbym sie tego podjac bo ciekawe zagadnienie do opracowania tylko kompletnie nie wiem jak teraz sprawa wyglada z rozwijaniem kojota, afaik Adam wszystko teraz przepisuje u siebie na localu...

0

Ano przepisuje. Ale mozesz taka funkcje/klase napisac (na razie - poki co - po stronie serwera). Tzn. zadnych zmian w strukturze tabel zwiazanych z forum, nie przewiduje. Aktualna struktura jest tutaj: http://cvs.4programmers.net/cgi-bin/cvsweb/coyote/install/schema/mysql.sql?rev=1.33;content-type=text%2Fplain

Ale poki co mozesz pominac szczegoly laczenia sie z baza danych i pobierania zapytan (klasa DB delikatnie bedzie sie roznila od tej wykorzystywanej tutaj) i skupic sie na samym procesie filtrowania i zwracania danych.

Jezeli chesz, moge rowniez wrzucic na CVS zrodla nowej wersji frameworka'a (czy jadra - jak zawac tak zwac) i mozna pisac. Chodzi o to zeby ustalic, rzeczy (np. klasa DB czy obsluga widokow) ktore juz zostana na stale, zeby bez obaw pisac moduly i klasy pod te jadro, ktore sie nie zmieni.

0

Pomysł dobry; tylko średnie tematy by wyszukiwało pod nazwą wątku "pomocy!!!" jak to ma czasem miejsce ;)

0

Przy okazji można dorzucić blokadę takich głupich tematów ;). A jak przez automat przejdzie, to i tak temat zaraz wylatuje, więc jeden grzyb. Swoją drogą - samo wyszukiwanie po tytule to za mało, trzeba by właśnie poszukać istotnych elementów w treści + tytule.

0

Struktura tabeli coyote_forums trochę się zmieniła (pole opisujace czy watki z dzialu maja byc na glownej wyswietlane). Marooned jakis czas temu zmienial - mial dodać na cvs, nie wiem czy dodał :-)

0

Ano to nie ma. I juz bym zmiany nadpisal :P
Ale nie rozumiem po co nowe pole do tego ;/ Po prostu warunek zeby nie wyswietlac z zablokowanych for.

0

Kiedyś już mówiłem o zablokowanych, to ktoś rzucił kontrargumentem, który uznałem za słuszny :-)
[i np. z perełek nie pojawi się żaden post na głównej. Jak ktoś da ogłoszenie w zablokowanym dziale (na swojej stronie) to też się nie pojawi na głównej]

0

właśnie :P

0

Cieszę się że pomysł się spodobał.

Co do słów "jest", "jak", "to", ... może można by zrobić jakąś tablicę słów wykluczanych z wyszukiwania ...

0

Wlasnie problem w tym, ze ciezko taki slownik wynalezc, zastanawiam sie czy mozna to zrobic jakos inteligentnie. W najgorszym razie moze to byc po prostu wyszukiwanie po wyrazach z tematu bo z tresci wiadomosci za wiele wyciagnac sie nie da (bo jakie slowo w tresci postow np tego tematu jest wartosciowe do wyszukiwania?)

Jedyna wartosc przedstawia tutaj temat i zgodnosc jego wyrazow z iloscia ich powtorzen w watku:

"Wyszukiwanie pasujących tematów przy zakładaniu wątku"

Słowa "wyszukiwanie", "temat" i "watek" wystepuja dosyc czesto i w zasadzie jak ten temat bylby np w dziale Webmaster to szukanie watkow po tych slowach powinno zwrocic w miare wartosciowe tematy, problem tylko w tym, ze te slowa przydaloby sie odmienic, zastanawialem sie czy nie wystarczy odciac jakis tam procent wyrazu, np "wyszukiwa*", "tem*", "wat*".

0

Jeśli już, to nie "jakiś procent", tylko poszukać metody na wydobycie rdzenia słowotwórczego z jakiejś odmienionej formy. Myślę, że byłoby to wykonalne, bo wykluczając jakieś pojedyncze wyjątki (ok, dziesiątki albo setki, ale w porównaniu z ilością słów w języku - marny procent) odmienianie wyrazów odbywa się na bardzo konkretnych zasadach.

0

Hmm, ale te dziesiatki i setki trzeba by bylo wklepac recznie, btw, moglby ktos zrzucic do sqla pareset watkow z jakiegos dzialu? Poeksperymentuje i zobacze co z tego wyjdzie.

0

Co do wydobywania rdzenia slowa to nazywa sie to lematyzacja i ktorys z pracownikow naukowych uczelni w Poznaniu udostepnial darmowy lematyzator dla jezyka polskiego w Javie. Jak przekopie swoj dysk to sie dowiem czy jeszcze jest i czy nie ma czegos nowego moze :)

0

tylko jeden ból że to jest <ort>nie zgodne</ort> z regulaminem google ;>

0

ale niby co? ...

0
Marooned napisał(a)

właśnie :P

Ty lepiej nie pyskuj i wrzucaj nowe pliki na CVS [diabel]

Wolverine: hmm, taki slownik da sie sciagnac, zbudowac samemu. Chodzi o to, aby pomijal takie popularne wyrazy jak: ze, on, to, da, sie, ktory, gdzie, co, jak... itp...

0

Jakie pliki? :)
O czymś nie wiem? :)
jedyne co, to nie zmieniłem .sql i update (tego to nie ruszam) by dodać to jedno pole do coyote_forum
reszta chyba wrzucona? yy.. chyba.. jutro sprawdzę, bo dziś nie mam jak

0

Jak byście to na poważnie rozważali, to może by jeszcze dorzucić rezultaty wyszukiwania w tip'sach na torry.net, delphi.about.com i www.delphi3000.com...

0

Ja jeszcze dorzuce, ze slownik slow kluczowych mozna zrobic skanujac baze postow i obliczajac miare tf-idf dla kazdego (jednorazowo). Z tego latwo pozniej obciac do np. 500 slow kluczowych tym samym pomijajac wszelkie 'jest', 'nie', 'cos', itp.

0
Adam Boduch napisał(a)

Ty lepiej nie pyskuj i wrzucaj nowe pliki na CVS
commited
sorry za opóźnienie - zapomniało mi się.. :)

0

Co do ułatwienia wyszukiwania - może dodatkowe pole typu "słowa kluczowe" dla każdego wątku? Jestem niestety świadomy, że mało komu będzie się chciało to wypełniać, ale wpisanie takich słów kluczowych do ciekawszych wątków (np. przez moderatorów) ułatwiłoby wyszukiwanie rozwiązywania problemów również przez samą szukajkę; jeśli pole to byłoby wypełniane tylko dla ciekawszych wątków, z istotnymi wskazówkami itd., to również rozwiązanie ew. problemu na podstawie aktualnej zawartości forum byłoby prostsze i szybsze.

// EDITED:
@nav: Słowa kluczowe albo tagowanie, mniej więcej na jedno wychodzi. Konkretna metoda rozwiązania nie jest istotna, chodzi mi tylko o jakąś możliwość. A zabezpieczenie przed trollami trzeba by niestety jakieś wykombinować.

0

zwykłe tagowanie byłoby wystarczające. Najlepiej jakby mógł to robić każdy (tylko jakoś trzeba by się zabezpieczyć przed trollami).

0

Ha !

Takie rozwiązanie jest na Gmail Help Discussion. I muszę powiedzieć, że na razie powstrzymało mnie przed wysłaniem kolejnego posta. Działa to błyskawicznie, i świetnie się sprawdza. Oczywiście jak ktoś wpisze w temacie "Help" to lipton : ) W każdym razie fajnie by było mieć coś takiego na 4p.

P.S. podejrzewam że było to tam wcześniej niż napisałem o tym po raz pierwszy na forum, więc nie będę ich posądzał o plagiat : )))))))

0

Przydałby się też jakiś system cache do tego, bo za każdym razem robić zapytanie na bazie, które trwa 2 sekundy to kiepsko wypadnie.

Co do silnika / "parsera" tematu - myślę, że spokojnie można oprzeć na kilku rzeczach:

  1. słowa kluczowe / klasy / popularne problemy danego języka
  2. frazy występujące w FAQ / ew. artykułach
    3). Posty na forum
    4). google?

1 użytkowników online, w tym zalogowanych: 0, gości: 1