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