2015-09-18 3 views
2

Учитывая следующий текст:Как реплицировать местоимения (местоименный) с их предшественниками

«Пациент:. Хорошо, и фильм был захватывающим Он был назван Первыми Ангелы, и это было около Линкольна - она ​​была основана по книге, я думаю, но это было о Линкольне, когда ему было восемь лет. Тогда весь фильм был ... И в этот промежуток времени я имею в виду, что он, должно быть, был как восемь или девять, его мать умер от какой-то болезни, и, хм, у него был двоюродный брат, а родители двоюродного брата умерли, поэтому двоюродный брат жил с ним, и голос двоюродного брата я - кузен рассказывает историю. вы узнаете об отношениях с отцом, и - и его отец оставляет их, чтобы найти жену, и возвращается с женой и несколькими детьми ».

Мне нужно воспроизвести упоминания о «его, ее, моей, их ...» с их фактическими предшественниками. Когда я использовал Stanford coref. это дает мне много упоминаний, которые не полезны, как «его отец», «отцу» или даже «отцу» до «его». Мне нужен текст «отец Линкольна» или «мать Линкольна». У меня есть список упоминаний: [619, 625] = [647, 653], [565, 575] = [588, 598], [565, 575] = [588, 591] ..... Я могу решить эту проблему в уродливом способе программирования, но мне интересно, есть ли какой-либо метод или способ очистить дополнительные упоминания или метод, помогающий помещать фактические имена вместо их местоимений?

ответ

3

Существует, насколько мне известно, чистый код, встроенный в CoreNLP, чтобы заменить местоимение его каноническим упоминанием. Это, по крайней мере, отчасти по дизайну: такая замена дает кучу неприятных нюансов в общем случае: например, если изменяется аннотация «оригинального текста»? Должны ли изменения характера меняться? Можете ли вы восстановить первоначальное предложение?

Когда у нас возникла необходимость в этом, мы добавили дополнительную аннотацию (называемую, например, AntecedentAnnotation) к токенам упоминания в цепочке цепочек, указывая на каноническое упоминание. Вы можете получить каноническое упоминание, используя функцию getRepresentativeMention().

+0

Да, у меня есть решение для смещения изменений. Вы можете сделать нисходящую сортировку, основываясь на смещениях смещений и вносить изменения из хвоста в сторону главы текста. Таким образом, любые изменения не повлияют на предыдущие смещения. Я использую репрезентативный метод упоминания, но он все равно дает мне беспорядок ... – user3147590

+0

@ Кристофер Мэннинг Надеюсь, что у вас есть ответ на этот вопрос .... ваш ответ был бы самым ценным. – user3147590

+0

В чем вопрос? Предлагаете ли вы написать функцию для этого в CoreNLP, или вы спрашиваете, действительно ли метод в вашем комментарии? –

Смежные вопросы