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)
PDF文档包含元数据。它包括有关文档及其内容的信息,如作者的姓名、关键字、版权信息。请参阅Adobedoc。在
您可以使用PyPDF2来提取PDF元数据。请参阅有关the DocumentInformation class的文档。在
此信息可能无法填写,可能会显示为空白。因此,一种可能是解析文本的开头或结尾,然后提取您认为的作者名。当然,这并不可靠。但是,如果你有书目数据库,可以尝试匹配。在
现在,像microsoftword或Libre Office Writer这样的编辑器总是在元数据中填写作者姓名。当您导出文档时,它会以PDF格式复制。所以,这应该对你有用。试试看,告诉我们!在
首先,有一些PDF文件是图像页面。如果我不能很容易地从图片中提取。但从你提到的pdf链接来看,我认为这是可以做到的。有一个名为PyPDF2的包,据我所知,它可以从pdf中提取文本。剩下的就是扫描最后几页并分析作者姓名。在
一个关于如何使用here描述的包的示例。其中列出的部分代码如下:
我将预先假设你有办法extract text from a PDF document,所以问题是“我如何才能从这篇文章中找出作者”。我认为一个简单的解决办法是使用通信电子邮件。下面是一个实现示例:
在本例中,
find_author(pdf_text)
返回['Archana']
。这不是完美的,但也不是不正确的。我想你可以用一些聪明的方法来扩展它,也许是通过在结果后面得到下一个单词,或者将这个猜测与元数据结合起来,或者甚至是在文档中找到DOI,如果它存在的话,并通过一些API查找它,但是我认为这应该是一个很好的起点。在相关问题 更多 >
编程相关推荐