Kategoryzowanie (tagowanie) wpisów na mikroblogu

4

Ostatnio poczynionych zostało kilka zmian w związku z mechnizmem tagowania:

  • podniesiony został próg minimalnej liczby punktów potrzebnych do utworzenia nowego tagu
  • w ankiecie zdecydowaliśmy że na forum chcemy tagów technicznych
  • dodany został monit informujący o dodaniu nowego tagu

Teraz czas mikroblogi. W nawiązaniu do wątku Mikroblog - czy na pewno aktualny regulamin spełnia oczekiwania użytkowników? pracujemy nad filtrowaniem treści na mikroblogu. Jako, że mamy mechanizm tagowania to można by go wykorzystać. Cały szkopuł tkwi w tym, aby te treści jakoś tagować co nie jest takie proste. Ludzie robią to błędnie albo niechętnie.

Można dodać nowe tagi takie jak: Programowanie, Nowości, Wydarzenia, Autopromocja (jakie jeszcze?) ale jak przypisać je do istniejących wpisów?

IMHO do mikroblogów należałoby dodać komponent znany z forum czyli autocomplete z listą tagów.

Dodatkowo na forum można dodać sugestie jakie tagi można by użyć (na podstawie kategorii w jakiej publikujemy wątek):

screenshot-20201229103336.png

Jak to jednak zrobić na mikro? Idealnie byłoby gdyby jakaś usługa analizowała treść mikrobloga i na tej podstawie podpowiadała jakich tagów można by użyć. Jak się domyślam nie jest to jednak takie proste. Ktoś ma jakiś pomysł jak to można by najlepiej rozwiązać?

5
Adam Boduch napisał(a):

Można dodać nowe tagi takie jak: Programowanie, Nowości, Wydarzenia, Autopromocja (jakie jeszcze?) ale jak przypisać je do istniejących wpisów?

Właściwie to czy musimy się martwić istniejącymi wpisami - z perspektywy używalności mikro? Mikroblogi dość szybko zapełnią się tagowanymi treściami, więc problem potencjalnie będzie jedynie wtedy gdy np. ktoś będzie chciał odszukać starszy wpis.

IMHO do mikroblogów należałoby dodać komponent znany z forum czyli autocomplete z listą tagów.

Tym bardziej, że nie ma chyba wartości dodanej we wprowadzaniu dodatkowego zamieszania - jedne tagi z autocomplete, inne bez.

Dodatkowo na forum można dodać sugestie jakie tagi można by użyć (na podstawie kategorii w jakiej publikujemy wątek):
Jak to jednak zrobić na mikro? Idealnie byłoby gdyby jakaś usługa analizowała treść mikrobloga i na tej podstawie podpowiadała jakich tagów można by użyć. Jak się domyślam nie jest to jednak takie proste. Ktoś ma jakiś pomysł jak to można by najlepiej rozwiązać?

Są różne zewnętrzne usługi do analizowania tekstu, np. IBM Watson NLC - niestety żadnej dotąd nie używałem, także nie wiem na ile to będzie użyteczne, ani tym bardziej czy nie okazałoby się to zbyt drogim interesem. Chyba, że dałoby się zmieścić we free tier - widzę, że takie usługi miewają limitowane bezpłatne użycie, np. N żądań miesięcznie.

Przy okazji może dałoby się tego użyć do skategoryzowania istniejących wpisów, jeśli jednak brak tagów byłby palącym problemem.

Właściwie to na pierwszy ogień może dałaby radę bieda-analiza przez zwykłe znajdowanie słów kluczowych (już istniejących tagów?) w tekście? ;)

3

Kolejna propozycja:

screenshot-20201230185625.png

Mamy tutaj 3 tagi.

Pierwsze dwa tagi to propozycje dla użytkownika. Propozycje mogą wynikać np. z treści samego wpisu jak i historii wcześniejszego wyboru. Propozycje tagów mają obramowanie, ikonkę + oraz nadane lekkie opacity.

Drugi tag przedstawia styl hover dla danego tagu.

Trzeci tag, to tag wybrany, przypisany do wpisu. Logika podobna jak obecnie, czyli x usuwa tag z listy wyboru.

Dalej mamy placeholder pt. ...inny? jaki?. focus na elemencie rozwijałby listę autocomplete dla tagów.

Jak ocenianie pod kątem UX/UI?

0

Chyba wolałbym rozwiązanie podobne do tego, jak przy zakładaniu wątku - nie wymaga to klikania na dodatkowe elementy, by wyświetlić listę autocomplete. Tym bardziej, że domyślenie się, że to jest klikalne i się dostanie autocomplete znane z forum może nie być takie oczywiste - w końcu w innych miejscach na forum placeholdery po prostu są i pełnią rolę placeholdera ;)

2

@superdurszlak: chyba źle to wytłumaczyłem :) czasem ciężko opisać słowami działanie UI. Lista autocomplete będzie dostępna bez żadnego dodatkowego klikania (tak jak jest obecnie, przy zakładaniu nowego wątku).

1

W sumie to trudno określić czy proponowane rozwiązanie jest dobre czy nie, bez możliwości poklikania.

@Adam Boduch: będzie opcja na deweloperskim potestować? ;)

1

Wystawiłem na testowy serwer wersje prawie działającą ;)

https://4programmers.dev/Forum/Off-Topic/Submit

1

Brak uwag? W takim razie póki co wdrażamy na forum zanim przejdziemy do mikroblogów. Może w między czasie pojawią się jakieś wnioski/opinie.

1

Pracę nad tą funkcją trwają. IMHO możemy wyświetlać tagi przypisane do wpisu na górze, aby od razu było wiadomo czego dotyczy wpis:

screenshot-20210106164919.png

P.S. Możecie zobaczyć to na https://4programmers.dev

1

Zastanawiam się, czy tagi nie byłyby lepiej widoczne po lewej stronie? Np. pod datą dodania lub obok. A jeśli nie to jednak poniżej wpisu, jak w postach - te długie i tak są zwinięte :)

0

No właśnie długie wpisy są zawinięte i nie będzie wiadomo czego wpis dotyczy. Można spróbować wyrównać do lewej.

Co ciekawe, na github od kilku lat wisi zadanie polegające na przeniesieniu wyświetlania tagów wyżej, nad treścią postu ;)

0

Przenieść tagi nad treść.

0

Zobaczymy jaki będzie feedback :) Póki co sugerowane tagi są ustalane na podstawie historii użytkownika + najpopularniejsze. Chcemy zapewne jednak aby użytkownicy trzymali się tych głównych, podstawowych tagów takich jak Nowości IT, Wydarzenia itp + jakieś tagi techniczne, prawda? Trzeba będzie jakoś zmodyfikować ten "algorytm", aby sugerował któryś z tagów głównych.

3

Odświeżam wątek ponieważ już trochę czasu minęło od ujednolicenia tagowania z tym znanym z forum. Ludzie tagują tak jak chcą, każdy inaczej ;)

Powracam więc do tematu sugerowanych tagów: tak aby każdy wpis był przypisany do co najmniej jednego tagu (kategorii) tak aby później było możliwe filtrowanie. Sugerowane przeze mnie kategorie to:

  • Nowości IT - informacje o nowinkach, świeże newsy
  • Wydarzenia - eventy, informacje o patronowanych przez nas wydarzeniach
  • Programowanie (albo IT?) - kategoria określająca że wpis jest techniczny?
  • Off-Topic (albo jakaś inna nazwa) - nietechniczne wpisy?
  • Autopromocja - promocja własnego bloga, kodu?

Co myślicie o takiej liście?

0
  • Nowości IT - informacje o nowinkach, świeże newsy
  • Wydarzenia - eventy, informacje o patronowanych przez nas wydarzeniach
  • Programowanie (albo IT?) - kategoria określająca że wpis jest techniczny?
  • Off-Topic (albo jakaś inna nazwa) - nietechniczne wpisy?
  • Autopromocja - promocja własnego bloga, kodu?

Ja dałbym – na początek – takie tagi:

  • News – "nowości" brzmi dla mnie trochę sztucznie; ale może to dlatego, że czytam głównie artykuły anglojęzyczne? Jak lepsze są dla Ciebie, @Adam Boduch , "nowości", to one w sumie znaczą to samo co "news" dla mnie;
  • Wydarzenia – wszystkie wydarzenia, nie tylko te patronowane przez 4p;
  • Programowanie/IT – jako jeden tag z ukośnikiem; Programowanie – tak, to wpis stricte techniczny w rozumieniu 4p (typu "pokazuję kod JavaScript" albo "opisuję ciekawostkę ze świata JavaScriptu", albo… no, ostatecznie może być nie tylko o JavaScripcie :P);
  • Software/hardware – też jako jeden tag z ukośnikiem; czuję, że te tematy powinny zostać oddzielone od Programowanie/IT (ale jak się nie sprawdzi, to w porządku); dlaczego "Software/hardware", a nie "Oprogramowanie/sprzęt"? "Software", żeby nie myliło się wizualnie z "Programowanie", a "hardware", żeby było do pary językowo;
  • Off-Topic – dobra nazwa, spójna z forum; podobne treści może opisywać; też na przykład nowinki ze świata nauki (łącznie z tagiem "News") lub ostatni wpis @cerrato (jeśli mogę, Cer, posłużyć się przykładem) o nowościach samochodowych (https://4programmers.net/Mikroblogi/View/92719);
  • Autopromocja

UPDATE: Zmieniłem Programowanie/IT na Programowanie; to "IT" może przejść dla mnie do Software/hardware… albo nie wiem w sumie… może właśnie IT zamiast Software/hardware?


UPDATE2: Powiem może, jak ja ogólnie widzę tę ostatnią wątpliwość: "IT" to dla mnie coś odrębnego od "computer science"; z drugiej strony zarówno "computer science", jak i "IT" zawierają kategorie "oprogramowanie" oraz "sprzęt"; "computer science" zawiera kategorię "programowanie".

0

Pisząc Programowanie/IT miałem na myśli tag Programowanie albo IT (tagi nie mogą zawierać slashy). Innymi słowy chodzi mi o wpisy techniczne. Niektórzy skarżyli się jakiś czas temu że chcieliby tylko techniczne wpisy czytać.

Możemy spróbować ze słowem "news", chociaż nie jest to polskie słowo (no ale hardware albo software też nie ;))

0
Adam Boduch napisał(a):

Pisząc Programowanie/IT miałem na myśli tag Programowanie albo IT (tagi nie mogą zawierać slashy).

W takim razie Programowanie i IT, coby inaczej tagować wpisy dotyczące stricte programowania, a inaczej te dotyczące po prostu branży. Głównych kategorii może być przecież z dziesięć.

2

Funkcjonalność wdrożyłem na serwerze deweloperskim - https://4programmers.dev

screenshot-20210119194201.png

Dodatkowo jak widzicie dodany został tooltip. Moderatorzy mogą w panelu administracyjnym dodawać tagi jak i również edytować opis widoczny w tooltipie.

0

Sprawdziłem na szybko jak to działa na deweloperskim i mam parę uwag jako użyszkodnik-noga:

  • Ten żółty tooltip pod tagami trochę zasłania dodatkowe tagi, które pokazują się po kliknięciu ***
  • Jak już zamknąłem i pobawiłem się zawartością listy z dodatkowymi tagami (który otwarłem już wcześniej, ale tooltip mi zasłaniał) to chciałem dodać własny tag - mogłem wpisać treść, ale nie mogłem zatwierdzić i nawet niechcący opublikowałem na Mikroblogu wciskając Enter. Rozumiem, że gdybym miał na serwerze deweloperskim dość punktów (mój użytkownik testowy ma całe 2) to mógłbym te tagi normalnie dodawać jak przy zakładaniu wątku, jednak czy w przypadku focusu na tagach Enter faktycznie powinien publikować wpis?
0

Ostatnio właśnie została wdrożona poprawka aby enter w polu tekstowym wysyłał jednak zdarzenie submit.

Natomiast jeśli masz wyświetloną listę podpowiedzi tagów i naciśniesz enter, to po prostu zatwierdzasz podświetlony tag na liście. Enter wówczas nie publikuje wpisu.

1

Ok, minął już ponad tydzień. Jakieś przemyślenia? Wnioski?

Może zacznę od siebie: IMHO to nie działa. Ludzie nie potrafią albo nie chcą tagować. Tj. każdy taguje na swój sposób, jak mu się podoba. Codziennie poprawiam zatem wpisy. A tym sposobem nie osiągniemy tego czego chcemy, czyli właściwego filtrowania wpisów :/

0

@Adam Boduch: Ty napisałeś:

Idealnie byłoby gdyby jakaś usługa analizowała treść mikrobloga i na tej podstawie podpowiadała jakich tagów można by użyć.

@superdurszlak napisał:

Właściwie to na pierwszy ogień może dałaby radę bieda-analiza przez zwykłe znajdowanie słów kluczowych (już istniejących tagów?) w tekście?

Moim zdaniem można by zrobić tak, by:

  1. tagów było max 20 (może być max 15, może być max 25, chodzi o skalę, by można to było łatwo ogarnąć);
  2. jeśli dopuszczamy możliwość, że część tagów nie będzie odpowiadała ewentualnym założeniom, to OK; jeśli nie, to tylko moderatorzy mogliby definiować nowe tagi (np. dla mnie mogą być tagi "nietechniczne", ale niektórzy, jak pamiętam, opowiadali się za tylko technicznymi tagami, Ty chyba też);
  3. za każdym nowym wpisem moderatorzy otrzymywaliby informację o nim, zależnie od znalezionych w nim słów kluczowych, które odpowiadają tagom, i tagów (jak wspomnieliście), a dokładnie:
    a) jeśli jest więcej niż 5 słów kluczowych (powtórzenia się liczą), to informacja byłaby: "Sugerowane słowa kluczowe jako tagi: <lista słów kluczowych w malejącej kolejności liczby wystąpień>",
    b) jeśli jest mniej niż 5 słów kluczowych, to informacja zawierałaby dodatkowo: "Sugerowane dodać nowe tagi".

Punkt nr 3. stosowałoby się niezależnie od tego, czy użytkownik dał jakieś tagi, czy nie. Można go jeszcze dostosować pod względem relacji tagi – słowa kluczowe. Na przykład jeśli jest 5 tagów, to lista słów kluczowych nie będzie mieć słów odpowiadających tym tagom (żeby było prościej).

Mam nadzieję, że zrozumiale napisałem; jeśli nie, pisz(cie), doprecyzuję.


PS Tak mi wpadło do głowy w temacie pomocy Tobie: są moderatorzy od poszczególnych działów forum, a nie ma moderatora od mikrobloga (Kompendium, działu Praca?).


PS2 A nie, przepraszam. :/ Ja jestem na przykład Moderatorem Wiki (a więc i Kompendium). (Trzeba się wziąć za siebie i zacząć coś robić poza tymi kilkoma stronami pomocy!)

1

Nie bardzo rozumiem :( To musi też być w miarę proste do implementacji.

Bo tu nie chodzi o to, aby kategoryzować byle jak, bo to obecnie ma miejsce. Każdy sobie kategoryzuje po swojemu. Nie widzę sensu takiego postępowania. Ktoś wstawi tag offtopic, ktoś off-topic a inny offtop. Ktoś napisze bezpieczeństwo a ktoś inny security. Chodzi o to, aby trzymać się kilku, kilkunastu podstawowych tagów: programowanie, off-topic, news, autopromocja itp. Tylko dzięki temu jesteśmy w stanie zapewnić filtrowanie treści.

Na github jest zadanie dotczące filtrowania treści. Nad wpisami chciałbym wyświetlić te kilka głównych tagów/kategorii po których można by filtrować wpisy.

0

OK, już wyjaśniam. Trochę uprościłem. Trzy punkty:

  1. Automatyczne wyszukiwanie słów kluczowych. @superdurszlak wspomniał o nim – zaimplementujmy je.
  2. Lista tagów ze słowami kluczowymi. Listę tagów już mamy, Ty ją ułożyłeś/układasz. Teraz dla każdego tagu określmy, jakie słowa kluczowe mu odpowiadają.
  3. Powiadamianie. Po opublikowaniu nowego wpisu, system wyszukuje słowa kluczowe. I teraz: jeśli wpis już został przez autora otagowany tak, jak wskazują te słowa kluczowe, to nic się nie dzieje. Jeśli nie, moderator dostaje powiadomienie i może zareagować.

Przykład działania:

  1. Użytkownik publikuje wpis:
Dziś wyszły nowe wersje Javy, Perla, C# oraz PHP!

i opisuje go jednym tagiem: Java.

  1. System wyszukuje słowa kluczowe: Javy, Perla, C# oraz PHP.
  2. Moderator dostaje powiadomienie: Wpis <link do wpisu> nie jest otagowany zgodnie z treścią.

Inny przykład:

  1. Użytkownik publikuje wpis:
Mój skrypt przy uruchamianiu Linuxa: `echo "Dzien dobry, piekny mamy dzien"`

i opisuje go tagami: programowanie, administracja.

  1. System wyszukuje słowa kluczowe: skrypt, Linux.
  2. Nic się nie dzieje – moderator nie otrzymuje żadnego powiadomienia, bo słowo kluczowe skrypt odpowiada tagowi programowanie, a słowo kluczowe Linux odpowiada tagowi administracja.

Dla mnie to proste w założeniu, ale rozumiem, że Ty to inaczej widzisz, znając kod Coyote.

0

Załóżmy, że chcemy aby wpis miał minimum 1 tag z pośród: news, programowanie, off-topic, autopromocja. Jak widzisz, w formularzu dodane zostały te tagi jako "sugerowane". Jakie słowa kluczowe przypisałbyś tym tagom?

0

Oczywiście wszystkie słowa – i angielskie, i polskie – we wszystkich formach wszystkich odmian:

  • newsnew, news, nowinki, nowości, nowy, od nowa;
  • programowanieprogramming, software-development, programowanie, dalej m.in. nazwy języków programowania, bibliotek, wzorców projektowych (angielskie i polskie)…
  • off-topic – tutaj chyba bez słów kluczowych; ten tag byłby analizowany jedynie, gdyby nie było zbyt wielu/żadnych słów kluczowych;
  • autopromocja – trudna sprawa; chyba żadnego; należałoby tutaj polegać na użytkownikach (moderator nie dostawałby nigdy powiadomienia, że nie wykryto słów kluczowych); bo od czego zależy autopromocja? Moim zdaniem zarówno od treści wpisu, jak i np. od tego, jakie autor ma umiejętności czy w jakich projektach bierze udział (blog, vlog, podcast, konferencje?).
0

Zastanawiam się że tag news jest potrzebny. Wszak mamy wpisy techniczne (programowanie) albo nietechniczne (off-topic). Dodatkowo można przypisać tagi techniczne (np. python, javascript itd.).

0

@Adam Boduch: czy automatyczne wyszukiwanie słów kluczowych w poście oraz wpisie na mikroblogu jest do zaimplementowania w najbliższej przyszłości? Patrzyłem na GitHub, ale nie widzę issue z tym związanej. Do tej pory nie ustaliliśmy w tym wątku tej kwestii, więc chciałbym dopytać.

0

Nadal zastanawiam się bowiem jak ugryźć ten temat.

Fakt, że kategoryzowanie nie działa. Ludzie nie chcą albo nie potrafią kategoryzować.

Sprawdziłem również zestaw proponowanych przez Ciebie słów kluczowych. Sprawdziłem które wpisy zawierają te słowa i mają przypisane podane przez Ciebie tagi. Można takie wpisy policzyć na palcach jednej ręki. Oczywiście wiem, że to był tylko przykładowy zestaw słów kluczowych, ale zastanawiam się czy ten mechanizm się po prostu sprawdzi. Póki co zainwestowałem sporo czasu w mechanizm tagowania. Chciałem dobrze, a wyszło jak wyszło ;)

1

Wyszukiwanie treści to rzecz w moim odczuciu bardzo ważna. Mam dobre doświadczenia z tagami z uwagi na ich elastyczność. Też mi trochę szkoda, że nie można po prostu powiedzieć innym, żeby używali tagów w taki a taki sposób, i będą używać.

Ja jestem w sumie za każdą Twoją decyzją w tym temacie:

  1. Jeśli zdecydujesz się zaimplementować funkcjonalność automatycznego wyszukiwania słów kluczowych, a następnie oprzeć na tym tagi, to zdejmie to z moderatorów część pracy, którą może wykonać komputer. Wierzę, że zadziała dobranie odpowiednich słów kluczowych oraz indeksowanie linków i tytułów filmów na YouTube.
  2. Jeśli takiej funkcjonalności nie zdecydujesz się zaimplementować, to obowiązek poprawiania tagów może w moim odczuciu zejść na moderatorów (lub nawet jednego, "moderatora tagów" czy jakoś tak). Tylko trzeba wyraźnie to zaznaczyć, najlepiej w regulaminie.
  3. Jeśli pewnego dnia okaże się, że lepiej, żeby nie było tagów w ogóle, to ja chętnie będę pomagał rozwijać np. podział tematów forum na kategorie. Nie ma sytuacji bez wyjścia. :) A moim zdaniem ostatecznie liczy się sprawne wyszukiwanie treści, a niekoniecznie sposób, w jaki jest robione.

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