Problem z klasyfikacją tekstu: czy Word2Vec / NN jest najlepszym podejściem?

10

Chcę zaprojektować system, który po akapicie tekstu będzie mógł go skategoryzować i zidentyfikować kontekst:

  1. Jest szkolony z akapitów tekstowych generowanych przez użytkowników (takich jak komentarze / pytania / odpowiedzi)
  2. Każdy element w zestawie treningowym zostanie oznaczony. Więc na przykład („kategoria 1”, „tekst akapit”)
  3. Będą setki kategorii

Jakie byłoby najlepsze podejście do budowy takiego systemu? Patrzyłem na kilka różnych opcji, a poniżej znajduje się lista możliwych rozwiązań. Czy Word2Vec / NN jest obecnie najlepszym rozwiązaniem?

  1. Sieć rekurencyjnej sieci neuronowej Tensor zasilana uśrednionymi danymi Word2Vec
  2. RNTN i wektor akapitowy ( https://cs.stanford.edu/~quocle/paragraph_vector.pdf )?
  3. TF-IDF używany w sieci Deep Belief Network
  4. TF-IDF i regresja logistyczna
  5. Worek słów i klasyfikacja Naive Bayes
Shankar
źródło
Czy możesz wyjaśnić, jakie kategorie? Czy będzie musiał obsługiwać nowe kategorie i / lub niewidoczne słowa? Wymagania dotyczące rzadkich warunków i niewidocznych kategorii pomogą w zaprojektowaniu systemu.
NBartley,
Dzięki @NBartley. Niewidzialne słowa będą również dużym prawdopodobieństwem. Dane wejściowe będą treściami generowanymi przez użytkowników, stąd możliwość nowych niewidocznych słów będzie bardzo wysoka. Kategorie zostaną zdefiniowane, ale z czasem będziemy musieli rozszerzyć listę kategorii. Dzięki
Shankar,
Należy sprawdzić sense2vec zbyt arxiv.org/abs/1511.06388 . W skrócie to osadzanie słów w połączeniu z tagowaniem części mowy. Poinformowano, że poprawia osadzanie słów przez ujednolicenie homonimów. Ciekawie byłoby sprawdzić, czy poprawi to także wydajność zadań klasyfikacyjnych.
wacax,

Odpowiedzi:

5

1) Max-Entropy (regresja logistyczna) dla wektorów TFIDF jest dobrym punktem wyjścia dla wielu zadań klasyfikacji NLP.

2) Word2vec jest zdecydowanie czymś, co warto wypróbować i porównać z modelem 1. Sugeruję użycie smaku Doc2Vec do przeglądania zdań / akapitów.

Quoc Le i Tomas Mikolov. Rozproszone reprezentacje zdań i dokumentów. http://arxiv.org/pdf/1405.4053v2.pdf

Gensim (python) ma ładny model Doc2vec.

rushimg
źródło
Dzięki @rushimg. Jeśli kategorie są ze sobą ściśle powiązane, tzn. Para tekstu użyta jako dane wejściowe zawiera dużą liczbę wspólnych słów, które z dwóch podejść byłoby lepsze w zrozumieniu kontekstu i rozróżnieniu między nimi?
Shankar,
Użyłbym modelu Doc2Vec, ponieważ usuwa on założenie „worka słów” modelu maksymalnego. Jeśli tf-idf zostanie użyte jako cechy w modelu max-ent, zmniejszy to również wpływ typowych słów. Myślę, że wypróbowanie obu metod i ich ulepszenie byłoby najlepszym rozwiązaniem.
rushimg