Projekty NLP dla początkujących

0

Witam wszystkich. Z tej strony student 2. Roku informatyki (w październiku zaczynam 3. Rok). Planuję po studiach pisać doktorat z zakresu NLP. Zamieszczam linka do moich prostych projektów NLP.

https://github.com/Kondexor2000/nlp

Mam poniższe pytania.

  1. Czego jeszcze musiałbym się nauczyć z zakresu NLP aby przejść na poziom średniozaawansowany, a potem na zaawansowany?
  2. Z tego, co ja wiem, każdy programista powinien obsłużyć GIT. Jednakże nie potrzebowałem GIT, aby zamieścić projekty NLP do GitHub. W jakich sytuacjach NLP Developer powinien obsłużyć GIT?
  3. Co ja muszę poprawić w projektach, aby były zgodne z praktykami SOLID, KISS i DRY?
4

Projekt powinieneś napisać bez użycia sklearn, to wtedy byś udowodnił, że masz podstawy statystyki, to są dość proste algorytmy do napisania od ręki i dodatkowo ze statystyki byś się podciągnął.

Tak to nlp to operacje na danych sekwencyjnych to powinieneś też sieci neuronowe poznać, rekurencyjne, transformer, czytać papiery na arxiv jak np. https://arxiv.org/pdf/1706.03762.pdf

Uczysz się całe życie, nie ma tak że jednej rzeczy się nauczysz i koniec w dodatku ta gałąź nauki się szybko rozwija.

Ciekawe artykuły do czytania są na stack/math/ai/overflow,
Dla przykładu jakiś https://medium.com/@ageitgey/natural-language-processing-is-fun-9a0bff37854e
Powinieneś dużo czytać i implementować.

2

@kondexor2000:

  1. Zaimplementować samemu jakieś algorytmy bez użycia bibliotek, napisać jakiś bardziej rozbudowany projekt - te kilka malutkich skryptów to poziom naprawdę bardzo podstawowy.
    Dodatkowo czytaj publikacje z zakresu AI/NLP - nie muszą być one pierwszej świeżości, zacznij od tych starszych - i próbuj implementować w miarę możliwości opisywane tam modele.

  2. Nie potrzebowałeś gita, ale co zrobisz kiedy nie będziesz mieć dostępu do przeglądarki - np. korzystając z ssh - a będziesz chciał spushować/pullować zmiany z repo?
    Poza tym, jest jeszcze masa innych powodów dla których nie powinieneś odkładać nauki gita.

  3. Twoje skrypty są za małe aby móc w jakikolwiek sensowny sposób poprawić ich jakość używając tych zasad, poza tym SOLID odnosi się do OOP którego w twoich skryptach nie ma.
    Jedyna rzecz, która przychodzi mi do głowy w odniesieniu do twojego kodu, a poprawiająca jego jakość, to wydzielenie w nim funkcji.

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