Chciałem zacząć eksperymentować z siecią neuronową i jako problem z zabawką chciałem wytrenować jedną z czatów, tj. Wdrożyć bota czatującego, takiego jak cleverbot. W każdym razie nie takie sprytne.
Rozejrzałem się za dokumentacją i znalazłem wiele samouczków na temat ogólnych zadań, ale niewiele na ten temat. Ten, który znalazłem, ujawnił wyniki bez wglądu w implementację. Te, które to zrobiły, zrobiły to dość płytkie (na stronie dokumentacji tensorflow na seq2seq brakuje imho).
Teraz czuję, że mogłem mniej więcej zrozumieć tę zasadę, ale nie jestem pewien, a nawet nie jestem pewien, jak zacząć. Wyjaśnię zatem, w jaki sposób poradzę sobie z tym problemem, i chcę uzyskać informację zwrotną na temat tego rozwiązania, mówiąc mi, gdzie się mylę i ewentualnie mam link do szczegółowych wyjaśnień i praktycznej wiedzy na temat tego procesu.
Zestaw danych, którego użyję do tego zadania, to zrzut całej mojej historii czatów na Facebooku i WhatsApp. Nie wiem, jak duży będzie, ale być może wciąż nie jest wystarczająco duży. Językiem docelowym nie jest angielski, dlatego nie wiem, gdzie szybko zebrać znaczące próbki konwersacji.
Z każdego zdania wygeneruję wektor myślowy. Nadal nie wiem jak właściwie; Znalazłem dobry przykład dla word2vec na stronie deeplearning4j, ale nie dla zdań. Zrozumiałem, jak budowane są wektory słów i dlaczego, ale nie mogłem znaleźć wyczerpującego wyjaśnienia dla wektorów zdań.
Używając wektorów myślowych jako danych wejściowych i wyjściowych zamierzam trenować sieć neuronową. Nie wiem, ile warstw powinien mieć, a które muszą to być warstwy pierwsze.
Następnie powinna istnieć inna sieć neuronowa, która jest w stanie przekształcić wektor myślowy w sekwencję znaków tworzących zdanie. Czytam, że powinienem używać dopełnienia, aby nadrobić różne długości zdań, ale brakuje mi sposobu kodowania znaków (czy wystarczą znaki kodowe?).
Zgodnie z koncepcją twojego projektu, na początek chciałbym poprosić cię o zastosowanie technik testowych opartych na testach. Najpierw spróbuj utworzyć bazę danych o mniejszych rozmiarach, której można użyć do obsługi niewielkiej ilości zestawu danych, co może zapewnić pożądaną poprawę.
To powiedziawszy, użyj tej bazy danych, aby utworzyć zorganizowane drzewo zgodne z Twoimi danymi, jako węzłami, więc jeśli bot zacznie generować jakieś informacje zwrotne, z bazy danych, oznaczonej punktami danych z określonego zestawu danych. W ten sposób odpowiedź lub odpowiedź jest sposobem do następnego węzła w drzewie.
Uwaga : Na początek nie używaj całej historii czatów jako całości, ponieważ jest to proste zadanie .. np. zbyt wiele danych wejściowych == Przeregulowanie.
źródło