Мне нужно извлечь описания мест из текста.На данный момент я пытаюсь найти местоположение с его модификатором прилагательного.
Например, из
В компактном Дареме вам не нужен транспорт, чтобы передвигаться.
Я хочу получить
компактный Дарем
У меня есть CoreEntityMention
и SemanticGraph
моего предложения.Я могу получить индекс токена NE, чтобы найти IndexedWord
в SemanticGraph
, но NE может содержать более одного токена, поэтому я не знаю, как создать ссылку.Я видел этот похожий вопрос , но не понял предложенного решения.Нужно ли мне проверять зависимость для каждого токена?
Вот мой подход, написанный на Kotlin (без большой разницы с Java):
val dependencies = mutableListOf<String>()
val depGraph = entityMention.sentence().dependencyParse()
for (token in entityMention.tokens()) {
val node = depGraph.getNodeByIndex(token.index())
for (dependence in depGraph.childPairs(node)) {
if (dependence.first.shortName == "amod") {
dependencies.add(dependence.second.toString())
}
}
}
Это правильный и самый простой способ?