Получите тройню за негативные настроения - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь разобрать медицинские исследовательские работы как часть моего более крупного проекта.К сожалению, большинство предложений газет возвращают отрицательное мнение, поэтому запрос триплетов не удался.

Я читаю то, что могу найти, и кажется, что нет парсеров, анализирующих отрицательные предложения.Есть ли какие-либо ссылки, которые могут мне помочь, или это все еще нерешенная проблема?Я новичок НЛП.Я пытался использовать граф зависимостей, но заблудился со сложным предложением.Я пытаюсь найти отрицательный токен (ы), удалить их, получить тройки и пометить предложение как отрицательное.

public Collection<RelationTriple> RemoveNeg(CoreMap sentence, String 
                          sent, String sentimstr, String[] sentgphA){

    String apair = sentimstr;
    String nonNegSent = "";
    Collection<RelationTriple> triples = null;
    for (CoreLabel token : sentence.get(TokensAnnotation.class)) {
        logger.debug(token);
    }
    for(String part : sentgphA) {
 //Many of the negative sentences do not have and neg parts so this 
 // doesn't work
        if(part.contains("neg")) {
            logger.debug(part);
            String[] negwd = part.split(",");
            String[] negwd2 = negwd[1].split("-");
            nonNegSent = sent.replace(negwd2[0], "");
            Annotation doc = new Annotation(nonNegSent);
            pipeline.annotate(doc);
            for (CoreMap ngsentence : 
                   doc.get(CoreAnnotations.SentencesAnnotation.class)) {
                triples = 
 ngsentence.get(NaturalLogicAnnotations.RelationTriplesAnnotation.class);
                logger.debug(triples);
            }
        }
    }
    return triples;
}

Пример предложения: один важный фенотип может быть связан с коморбидомсостояния, включая сахарный диабет (СД).Я не знаю, как программно найти то, что делает такое предложение отрицательным.Я даже не уверен, что это жизнеспособный подход.

...