Я собираюсь заранее предположить, что у вас есть способ извлечь текст из PDF-документа , поэтому вопрос действительно в том, "как я могу определить автора из этого текста".Я думаю, что одно простое решение - использовать переписку по электронной почте.Вот пример реализации:
import difflib
# Some sample text
pdf_text="""SENTIMENT ANALYSIS OF DOCUMENT BASED ON ANNOTATION\n
Archana Shukla\nDepartment of Computer Science and Engineering,
Motilal Nehru National Institute of Technology,
Allahabad\narchana@mnnit.ac.in\nABSTRACT\nI present a tool which
tells the quality of document or its usefulness based on annotations."""
def find_author(some_text):
words = some_text.split(" ")
emails = []
for word in words:
if "@" in word:
emails.append(word)
emails_clean = emails[0].split("\n")
actual_email = [a for a in emails_clean if "@" in a]
actual_email = actual_email[0]
maybe_name = actual_email.split("@")[0]
all_words_lists = [a.split("\n") for a in words]
words = [a for sublist in all_words_lists for a in sublist]
words.remove(actual_email)
return difflib.get_close_matches(maybe_name, words)
В этом случае find_author(pdf_text)
возвращает ['Archana']
.Это не идеально, но это не так.Я думаю, что вы, вероятно, могли бы расширить это некоторыми хитрыми способами, возможно, получая следующее слово после результата или комбинируя это предположение с метаданными, или даже находя DOI в документе, если / когда он существует, и просматривая его через некоторый API, но, тем не менее, я думаю, что это должно быть хорошей отправной точкой.