Разделение предложения на субстанции с CoreNLP

Я работаю над следующей проблемой: я хотел бы разбить предложения на субстанции, используя Stanford CoreNLP. Пример предложения может быть:

"Richard is working with CoreNLP, but does not really understand what he is doing"

Теперь я хотел бы, чтобы мое предложение было разбито на одну букву "S", как показано на диаграмме дерева ниже:

Я хотел бы, чтобы вывод был списком с одним "S" следующим образом:

['Richard is working with CoreNLP', ', but', 'does not really understand what', 'he is doing']

Буду очень благодарен за любую помощь:)

2 ответа

Я подозреваю, что инструмент, который вы ищете, это Tregex, более подробно описанный здесь, в Power Point, или Javadoc самого класса.

В вашем случае, я считаю, что шаблон, который вы ищете, просто S, Итак, что-то вроде:

tregex.sh “S” <path_to_file>

где файл представляет собой дерево в формате Penn Treebank, то есть что-то вроде (ROOT (S (NP (NNS dogs)) (VP (VB chase) (NP (NNS cats))))),

В качестве отступления: я считаю, что фрагмент ", но" на самом деле не является предложением, как вы подчеркнули на рисунке. Скорее, выделенный вами узел включает в себя целое предложение "Ричард работает с CoreNLP, но на самом деле не понимает, что он делает". Tregex распечатал бы все это предложение как одно из совпадений. Точно так же "не совсем понимает, что" не является предложением, если оно не включает в себя весь SBAR: "не понимает, что он делает".

Если вам нужны только "листовые" предложения (т. Е. Предложения, которые не включены в другое предложение), вы можете попробовать шаблон более похожий на:

S !>> S

Примечание: я не проверял шаблоны - используйте на свой страх и риск!

Хорошо, я обнаружил, что сделать это следующим образом:

import requests

url = "http://localhost:9000/tregex"
request_params = {"pattern": "S"}
text = "Pusheen and Smitha walked along the beach."
r = requests.post(url, data=text, params=request_params)
print r.json()

Кто-нибудь знает, как использовать другие языки (мне нужен немецкий)?

Другие вопросы по тегам