2016-01-20 14 views
5

Robię NLP, gdzie dowiedziałem się, kiedy u pacjentów zdiagnozowano stwardnienie rozsiane.Czy istnieje sposób, aby powiedzieć NLTK, że pewne słowo nie jest właściwym rzeczownikiem, ale rzeczownikiem?

Chciałbym użyć nltk, aby powiedzieć mi, że rzeczownikiem zdania było stwardnienie rozsiane. Problem polega na tym, że lekarze często określają stwardnienie rozsiane jako MS, które nltk przyjmuje jako właściwy rzeczownik.

Na przykład to zdanie: "Jego stwardnienie rozsiane zostało zdiagnozowane w 1999 roku". Jest oznaczony jako: [('His', 'PRP$'), ('MS', 'NNP'), ('was', 'VBD'), ('diagnosed', 'VBN'), ('in', 'IN'), ('1999', 'CD'), ('.', '.')]

MS powinno być rzeczownikiem tutaj. Jakieś sugestie?

+1

Rozpoznanie określonego obiektu jest trudnym problemem. Wypróbuj [this] (http://textminingonline.com/how-to-use-stanford-named-entity-recognizer-ner-in-python-nltk-and-other-programming-languages). –

+0

Obecnie używasz domyślnych znaczników POS. W takim przypadku musisz trenować własny korpus z uwzględnieniem poprawnych wartości POS. Jeśli nie jako mechanizm awaryjny, powinieneś mieć kolejną warstwę korekcji błędów po użyciu standardowego modelu POS Tagger. – Renien

+0

Jakie jest źródło danych? Czy można udostępniać? Czy istnieje lista słów/wyrażeń/skrótów, które mają być zawsze rzeczownikami? Czy masz oznaczone dane? Jaka jest domena danych? Jaki jest ostateczny cel tagowania POS? Odpowiedź na te pytania zawęziłaby rozwiązania twoich pytań. – alvas

Odpowiedz

0

Reasumując, masz następujące opcje:

  1. Korygowanie tag w post-processing - trochę brzydki, ale szybkie i łatwe.
  2. Zatrudnij zewnętrznego rozpoznawcę nazwy (Stanford NER jako @Bob Dylan z namysłem zasugerował) - ten jest bardziej zaangażowany, szczególnie, że Stanford NER jest w języku Java i nie jest szczególnie szybki.
  3. Naucz ponownie POS Tagger danych dla konkretnych domen (masz wystarczająco dużego uwagami zbiór danych do wykorzystania go do tego?)
  4. Używaj WSD podejście (Word Sense ujednoznacznienie) - Na początek trzeba mieć dobry słownik domeny do użycia.
Powiązane problemy