AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Tutaj można dyskutować na tematy ogólnie związane z grami planszowymi, nie powiązane z konkretnym tytułem.
tommyray
Posty: 1306
Rejestracja: 11 mar 2017, 14:51
Lokalizacja: Gliwice/Katowice
Has thanked: 406 times
Been thanked: 547 times
Kontakt:

AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Post autor: tommyray »

Nie wiem czy zwróciliście uwagę, że podczas lockdown na stronie rządowej pojawił się był botchat z dopasowaną do wirusowego tematu AI i udzielał całkiem sensownie odpowiedzi na pytania tam stawiane. Od jakiegoś czasu chodzi mi po głowie aby pozwolić takiej "kognitywnej" machinie aby przemieliła odpowiedni rulebook i FAQ, jakieś Q&A pozbierane z forów i zaczęła udzielać odpowiedzi jak właśnie taki bot konwersacyjny. Wyobraźcie sobie: proste do implementacji na stronach www, bez czekania - odpowiedź od razu, bez obawy, że ktoś kogoś opieprzy z góry na dół za to że nie korzysta z szukajki, że nie umie czytać instrukcji itd itp.
Czat boty stosowane są już powszechnie a więc chyba czas aby ktoś to zaimplementował i w naszym światku. Takiemu przyszłemu Robinsonowi czy kolejnym Pierwszym Marsjanom pomogłoby to znacznie. Sam bym takie coś zrobił ale właśnie przypomniałem sobie o Bardzo Ważnych Rzeczach Jakie Mam Do Zrobienia i chyba muszę to zostawić tym mniej zajętym.
A może znacie przypadki implementacji tego typu rozwiązań technicznych w naszym hobby?
Ostatnio zmieniony 22 lip 2020, 22:09 przez tommyray, łącznie zmieniany 1 raz.
Awatar użytkownika
tomuch
Posty: 1903
Rejestracja: 21 gru 2012, 03:17
Lokalizacja: zza winkla
Has thanked: 147 times
Been thanked: 172 times

Re: AI w grach planszowych

Post autor: tomuch »

Jakiś czas temu przewinęła się informacja, że Alexa będzie tłumaczyć gry, ale nie pamietam, o jaką konkretnie grę/y chodziło.
kolekcja
rabaty: Planszostrefa 11%, Planszomania 7%, 3trolle 7%, Rebel 5%, Cdp 5%, Aleplanszowki 5%, Mepel 5%
sabat24
Posty: 107
Rejestracja: 13 mar 2019, 23:04
Has thanked: 2 times
Been thanked: 45 times

Re: AI w grach planszowych

Post autor: sabat24 »

Implementacji wprost do planszówek nie znam, ale zajmowałem się tym zagadnieniem na potrzeby własne w mojej firmie. Ogólnie istnieje kilka frameworków, które właściwie robią zdecydowaną większość pracy. Widziałem też jedną implementację na potrzeby planszówkowe. Tyle, że wszystko opiera się na języku angielskim ze względu na powszechność wytrenowanych modeli pod deep learning. Wątpię, by były publicznie dostępne takie modele dla języka polskiego, a to jest kluczowe przy tego typu systemach i zabiera najwięcej czasu.
W każdym razie dla zainteresowanych ja pracowałem na tym kodzie: cdQA. Obecnie już nierozwijany i przeistoczony w Neural Question Answering At Scale.

Całość implementacji sprowadzała się do wrzucenia skanów PDF instrukcji z gier planszowych (lub innego tekstu), użycie modelu BERT wstępnie trenowanego w SQuAD i przy dosłownie ok. 10 linijkach mamy system odpowiedzi na pytania na bazie instrukcji z gier. Kwestia branży jest tu o tyle bez znaczenia, że modele się później trenuje pod konkretne teksty. Tak realnie całą prace wykonuje nie programista, tylko osoba, która dodatkowo zbiera dane z for internetowych, czy innych miejsc, by poszerzyć umiejętności modelu i zajmuje się trenowaniem modeli.

W firmach stosuje się takie rozwiązania, by przy skomplikowanych systemach nie zatrudniać wiele osób wsparcia, tylko redukować etaty, więc są na to odpowiednie środki i wymierne korzyści. Nie wiem czy na rynku polskich planszówek komukolwiek opłacałoby się to tworzyć, bo jak dla mnie nie jest to aż takie proste zadanie, by system wyszukiwania działał sprawnie i dawał bardzo trafne odpowiedzi, których sama instrukcja nie potrafi podać. Wszystkie systemy nie są oparte o wnioskowanie, a jedynie o pewien rodzaj wyszukiwania istniejącej treści. Mówię tutaj o systemach closed-domain (czyli zdefiniowanych w jakiś sposób odpowiedzi).
Może w bitewniakach miałoby to jakiś sens.
tommyray
Posty: 1306
Rejestracja: 11 mar 2017, 14:51
Lokalizacja: Gliwice/Katowice
Has thanked: 406 times
Been thanked: 547 times
Kontakt:

Re: AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Post autor: tommyray »

Dzięki sabat24, wydaję mi się, że można się pokusić o stworzenie takiej pomocy dla graczy w prostszy sposób, bazując na rozwiązaniu np. typu Watson. Hm, zobaczymy. W pełni kognitywnego asystenta dedukującego jakieś rozwiązania z bazowej instrukcji - o tym nie ma co narazie myśleć, ale taki asystent do wyszukiwania informacji z rulebooków i FAQ to chyba nie byłoby tak trudno zrobić. Zobaczymy ;)
Awatar użytkownika
Chizu
Posty: 106
Rejestracja: 28 kwie 2007, 18:44
Lokalizacja: Gdańsk
Has thanked: 40 times
Been thanked: 24 times

Re: AI w grach planszowych

Post autor: Chizu »

tomuch pisze: 22 lip 2020, 21:05 Jakiś czas temu przewinęła się informacja, że Alexa będzie tłumaczyć gry, ale nie pamietam, o jaką konkretnie grę/y chodziło.
To był Portal: zapowiedź.

Stworzenie chatbota na Alexę lub Asystenta Google, który odpowiadałby na proste pytania w stylu "co robi jednostka X", "ile kart mam dobrać na koniec rundy" nie powinno być specjalnie trudne. Zarówno Google jak i Amazon udostępniają narzędzia, które pozwalają na stosunkowo łatwe tworzenie prostych botów.

Co innego zrobienie "mądrego" chatbota, który sam by się "uczył" odpowiedzi na bardziej złożone pytania np. "jeśli zagrywam kartę A, a w grze jest karta B czy umiejętność karty B się aktywuje" . Tak jak napisał sabat24, wymagałoby to zdecydowanie większego nakładu pracy i bardziej skomplikowanych rozwiązań.
karp
Posty: 184
Rejestracja: 28 maja 2019, 18:34
Has thanked: 27 times
Been thanked: 70 times

Re: AI w grach planszowych

Post autor: karp »

tomuch pisze: 22 lip 2020, 21:05 Jakiś czas temu przewinęła się informacja, że Alexa będzie tłumaczyć gry, ale nie pamietam, o jaką konkretnie grę/y chodziło.
Ticket to ride.
sabat24
Posty: 107
Rejestracja: 13 mar 2019, 23:04
Has thanked: 2 times
Been thanked: 45 times

Re: AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Post autor: sabat24 »

Jakby znalazła się chociaż jedna osoba ze znajomością Pythona i umiejętnością kompilacji źródeł w c++ pod Windows albo ogólnie potrafiła na Linuxie posługiwać się Pythonem, by odpalić pewne gotowce i je trochę przekonfigurować, to ja od września nawet chętnie zabrałbym się od strony php i architektury za stworzenie takiego bota. Czy to w formie webowej, czy też na Slacka albo Facebooka.

Zrobiłem kilka testów dla Azula, wrzucając po prostu instrukcję. Oparłem to na wcześniej wspomnianym modelu BERT od Google. W wersji polskiej udało się botowi odpowiedzieć tylko na pytanie kiedy gra się kończy. Później przetłumaczyłem instrukcję Google Translatorem i tutaj trochę było lepiej, bo dostałem jeszcze odpowiedź o liczenie punktów, ale niezbyt precyzyjnie.
Q: How to get points?
A: count how many tiles in that group adjoins each other horizontally
Awatar użytkownika
mauserem
Posty: 1817
Rejestracja: 26 lis 2014, 09:37
Has thanked: 253 times
Been thanked: 165 times
Kontakt:

Re: AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Post autor: mauserem »

Mam wrażenie, że wątek za chwilę trafi do działu Pomysły i idee.
Ale to nic złego, bo idea sama w sobie jest świetna - alternatywna ścieżka polegająca na tworzeniu samouczków i interaktywnych tutoriali (vide Dized) zdecydowanie "kuleje" - przyrost treści jest ślimaczo powolny.
Oparcie się o Chatboty AI i "machine learning" wpięte do baz wiedzy (jak choćby to forum) to cholernie dobry pomysł - w sumie dobry materiał na solidny startup - może nie "unicorn", ale "boardgaming" wywołuje całkiem żywe zainteresowanie inwestorów VC. :mrgreen:
Mr_Fisq
Administrator
Posty: 4671
Rejestracja: 21 lip 2019, 11:10
Lokalizacja: Warszawa
Has thanked: 1217 times
Been thanked: 1419 times

Re: AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Post autor: Mr_Fisq »

Jeżeli dobrze rozumiem ideę BERT'a, to forum mogłoby być dobrym materiałem do treningu wstępnego, tylko wolumen danych może być zbyt mały (a i koszt samego treningu wstępnego jest duży).
Fajnym pomysłem wydaje się też przejście procedury trój-etapowej:
Trening-wstępny => gotowiec z google.
Tuning-ogólny => dotrenowanie na bazie podforum z pytaniami o zasady.
Tuning-szczególny => ostateczny trening na bazie konkretnej instrukcji => ze względu na swoją konstrukcję księga zasad z Root'a wydaje się dobrym materiałem na pierwszy krok w eksperymentach.

Nie wiem do czego potrzebna byłaby znajomość C++ w rozważanym rozwiązaniu. Wydaje się, że Python by wystarczył (niestety preferowana jest niewspierana już dwójka) na potrzeby PoC'a.

Ja ostatnio myślałem bardziej o klepnięciu jakiegoś grającego AI opartego o Deep Learning (zaczynając od Go dla którego jest masa materiałów), ale to najchętniej w oparciu o Python3 + Rust.

Edit:
PS. Nie, nie lubię php ;)
Sprzedam: Obniżki, nowości: Root, Lanzerath Ridge, Dawn of the Zeds, Etherfields
Przygarnę: Skirmishe grywalne solo, figurki do Stargrave/Frostgrave
sabat24
Posty: 107
Rejestracja: 13 mar 2019, 23:04
Has thanked: 2 times
Been thanked: 45 times

Re: AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Post autor: sabat24 »

Nie wiem do czego potrzebna byłaby znajomość C++ w rozważanym rozwiązaniu

Ponieważ nie koniecznie serwer musi być unixowy. A wtedy trzeba sobie samemu skompilować biblioteki.
niestety preferowana jest niewspierana już dwójka
Ja akurat zakładałem użycie DeepPavlova, który wymaga co najmniej 3.6 (jeśli dobrze pamiętam).

Edit:

PS. php jest używany do serwowania treści. Całość analizy robi Python i udostępnia on API w celu dwustronnej komunikacji z innymi warstwami. Dałem to jako przykład, gdyż jeśli ja miałbym się tym zajmować, to chciałbym mieć wersję finalną zintegrowaną właśnie z php.
Mr_Fisq
Administrator
Posty: 4671
Rejestracja: 21 lip 2019, 11:10
Lokalizacja: Warszawa
Has thanked: 1217 times
Been thanked: 1419 times

Re: AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Post autor: Mr_Fisq »

DeepPavlov wygląda ciekawie, przyjrzę mu się wieczorem.

Jeśli nie Unixowy to o jakiej konkretnie alternatywie myślisz (nie wspierającej dockera)?
Sprzedam: Obniżki, nowości: Root, Lanzerath Ridge, Dawn of the Zeds, Etherfields
Przygarnę: Skirmishe grywalne solo, figurki do Stargrave/Frostgrave
sabat24
Posty: 107
Rejestracja: 13 mar 2019, 23:04
Has thanked: 2 times
Been thanked: 45 times

Re: AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Post autor: sabat24 »

Miałem na myśli np. IIS. Aczoklwiek chodziło mi bardziej o brak stawiania odgórnych barier, że to koniecznie musi być coś unixowego.

Co do treningu wstępnego jest np. polbert, czyli BERT wytrenowany wstępnie dla konkretnie polskiego języka. Przypuszczam, że użycie tego modelu będzie trochę lepsze, niż wersja wielojęzyczna od Google.

Jeśli chodzi o fine-tuning to tu właśnie wychodzi cała słabość działania na języku polskim dla aplikacji QA. To forum ma raczej zbyt mało treści. SQuAD zawiera 150 tys. pytań i odpowiedzi bardzo dobrze usystematyzowanych i opracowanych, nie zawierając przy tym literówek, błędów gramatycznych i nieistotnych dygresji. A i tak uważa się, że to nie jest jakoś za duża baza. W każdym razie nie poczuwam się na siłach, by zajmować się akurat NLP i wypowiadać się w tych kwestiach autorytatywnie. Jeśli masz ochotę zagłębić temat (lub ktokolwiek inny) i wypuścić np. restAPI dla języka polskiego albo komunikacji na poziomie CLI, ja jestem w stanie puścić to w sieć jako bot i pomóc przy ściąganiu treści z różnych miejsc do treningu, czy też w jakiś inny sposób.
Ja ostatnio myślałem bardziej o klepnięciu jakiegoś grającego AI opartego o Deep Learning (zaczynając od Go dla którego jest masa materiałów), ale to najchętniej w oparciu o Python3 + Rust.
Na studiach robiłem programik do grania w oczko w internetowym kasynie, uznając zasady gry za proces decyzyjny markowa i korzystając z reinforcement learning dla MonteCarlo. Jedyne co mnie motywowało, by nie rzucić tego w diabły, to wygrana :) Ogólnie tworzenie AI do gier to fajna idea, ale modelowanie tego wszystkiego wymaga potencjalnie mnóstwa wolnego czasu i dobrej motywacji.

Edit:
Widziałem też ciekawy projekt (open-source) dziś o nazwie AllenNLP Można go testować on-line i dla angielskiego daje całkiem niezłe odpowiedzi.
Fuser.exe
Posty: 728
Rejestracja: 11 lip 2014, 13:11
Lokalizacja: Poznań
Has thanked: 23 times
Been thanked: 8 times

Re: AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Post autor: Fuser.exe »

sabat24 pisze: 23 lip 2020, 11:23 Jakby znalazła się chociaż jedna osoba ze znajomością Pythona i umiejętnością kompilacji źródeł w c++ pod Windows albo ogólnie potrafiła na Linuxie posługiwać się Pythonem, by odpalić pewne gotowce i je trochę przekonfigurować, to ja od września nawet chętnie zabrałbym się od strony php i architektury za stworzenie takiego bota. Czy to w formie webowej, czy też na Slacka albo Facebooka.
Umiem pythona na średnim poziomie (w rozumieniu kogoś uczącego się samodzielnie z książek) + właśnie zaczynam się uczyć WSL2, mam dużo wolnego czasu i chętnie bym się zaangażował jeśli intelektualnie ogarnę.
sabat24
Posty: 107
Rejestracja: 13 mar 2019, 23:04
Has thanked: 2 times
Been thanked: 45 times

Re: AI (chat boty i wyszukiwarki semantyczne) w grach planszowych

Post autor: sabat24 »

Zerknij więc na DeepPavlova - tutaj jest link do Slavic BERTa (czyli uwzględniającego m. in. polski język). Wcześniej podałem też link do polberta.

Tutaj link do instrukcji trenowania i odpalenia ODQA, czyli Open Domain Question Answering. Tam jest ranker oparty na trzech modelach i reader.

Ogólnie można sie tym pobawić na początek, by poznać zasadę trenowania modeli i działania na różnych wstępnie wytrenowanych modelach dla języka, by zobaczyć, który jest lepszy. Jak już tutaj będzie pewna biegłość i uda Ci się zadać pytanie polskiej wiki, a ona da Ci jakąś sensowną odpowiedź, to będzie można próbować już trenować pod bazę typowo grową.

DeepPavlov ma też moduł spellcheckera, który pozwala trafnie poprawiać literówki w danych wejściowych. Jednak na początek można założyć, że dane wejściowe są w 100% poprawne.
ODPOWIEDZ