TLEKorzystanie word2vec klasyfikowanie słów w kategoriach
mam wektory z niektórych przykładowych danych i każdy wektor ma nazwę kategorii (Miejsca, kolorów, nazw).
['john','jay','dan','nathan','bob'] -> 'Names'
['yellow', 'red','green'] -> 'Colors'
['tokyo','bejing','washington','mumbai'] -> 'Places'
Moim celem jest wyszkolenie modelu, który pobierze nowy łańcuch wejściowy i określi, do której kategorii należy. Na przykład, jeśli nowe wejście jest "fioletowe", powinienem być w stanie przewidzieć "Kolory" jako właściwą kategorię. Jeśli nowy sygnał wejściowy to "Calgary", powinien przewidzieć "Miejsca" jako właściwą kategorię.
PODEJŚCIE
Zrobiłem rozeznanie i natknąłem Word2vec. Ta biblioteka ma funkcję "podobieństwa" i "najbardziej podobną", z której mogę korzystać. Tak więc jeden z podejść o brutalnej sile, o którym myślałem, jest następujący:
- Weź nowe wejście.
- Obliczyć podobieństwo z każdym słowem w każdym wektorze i wziąć średnią.
Na przykład dla danych wejściowych "różowy" mogę obliczyć jego podobieństwo ze słowami w wektorach "nazwy" wziąć średnią, a następnie zrobić to dla pozostałych 2 wektory również. Wektor, który daje mi najwyższą średnią podobieństwa, byłby prawidłowym wektorem dla danych wejściowych.
WYDANIE
Biorąc moja ograniczona wiedza w NLP i maszynowego uczenia nie jestem pewien, czy jest to najlepsze podejście, a więc szukam pomocy i sugestie na lepszych metod, aby rozwiązać mój problem. Jestem otwarty na wszelkie sugestie, a także proszę wskazać wszelkie błędy, które mogłem popełnić, ponieważ jestem nowy w świecie uczenia maszynowego i NLP.
użyj spacy's ner i możesz również trenować model spacy z Twoimi danymi. –
@AyodhyankitPaul będę google teraz! dziękuję za opinie i jeśli to możliwe, bardzo by mi się podobało, gdybyś mógł dostarczyć małe demo, chciałbym to zobaczyć – Dinero