2012-12-15 12 views
13

Chcę wyodrębnić pełną relację między dwoma podmiotami za pomocą Stanford CoreNLP (lub może innych narzędzi).Wyodrębnianie relacji między jednostkami w Stanford CoreNLP

Na przykład:

Windows jest bardziej popularne niż Linux.

To narzędzie wymaga Java.

Piłka nożna to najpopularniejsza gra w świecie.

Jaki jest najszybszy sposób? A jaka jest najlepsza praktyka?

góry dzięki

+0

hej, czy są jakieś biblioteki NLP, które są zdolne do konwersji tekstu na trzyosobowe predykaty obiektu? –

Odpowiedz

5

Prawdopodobnie szukasz relacji zależności między rzeczownikami. Stanford Parser zapewnia takie wyniki. Spójrz na here. Możesz połączyć to, co Pete powiedział (to znaczy wykres POS) z wykresem zależności, aby określić, z jaką relacją (na przykład obiekt bezpośredni lub obiekt nominalny, itp.) Może się podzielić para rzeczowników (lub wyrażeń rzeczownikowych).

3

Więc szukasz zdaniu czasownika, która łączy zwroty rzeczownikowe. To jest w rzeczywistości martwe proste w Stanford CoreNLP. Wystarczy uruchomić go przez potok i przejść przez wykres POS, aby uzyskać to, co chcesz. Będziesz musiał wymyślić sposoby radzenia sobie ze złożonymi zdaniami i oczywiście będziesz chciał użyć systemu porównawczego do radzenia sobie z anaforą.

To nie jest banalne, więc czy możesz nieco przerwać pytanie na pytanie, na które można odpowiedzieć? Jeśli masz pytanie, czy to możliwe? Wtedy odpowiedź brzmi: tak. Jeśli jest "jak mogę to zrobić?" sugeruję, abyś zaczął korzystać z systemu i sam odpowiedział na to pytanie.

+0

Co nazywasz wykresem POS? – mbatchkarov

+0

(ROOT (S (NP (PRP $ Moja) (NN pies)) (ADVP (RB też)) (VP (VBZ lubi) (S (VP (VBG odżywianie) (S (ADJP (Banany NNS)))))) (..))) –

+6

Czy to nie jest drzewo parse? – mbatchkarov

8

ReVerb skupia się na Otwórz IE. Możesz zacząć od przeczytania artykułu "Identifying Relations for Open Information Extraction" i sprawdzenia strony demo.

+0

link do papieru może być martwy, czy możesz go ponownie sprawdzić? – Bhashithe

+0

Gotowe aktualizowanie linku. –

+0

Zrobiłem prosty przykład, w Pythonie, w jaki sposób używać tych tagów PoS do wyodrębniania relacji: http://davidsbatista.net/blog/2017/05/08/ReVerb/ –

0

Istnieje Stanford Relation Extractor, który jest częścią głównego rurociągu NLP. Jest określany przez "relację" i ma przynajmniej zależności od "ner" i "parsowania", od rozpoznawanych nazwanych encji i parsera.

Powiązane problemy