Skip to main content

Grobid

GROBID是一个用于提取、解析和重构原始文档的机器学习库。

它被设计和期望用于解析学术论文,在这方面表现特别好。注意:如果提供给GROBID的文章是大型文档(例如论文),超过一定数量的元素,可能无法处理。

此加载器使用GROBID将PDF解析为保留与文本部分相关的元数据的Documents


最佳方法是通过docker安装GROBID,请参阅https://grobid.readthedocs.io/en/latest/Grobid-docker/。

(注意:其他说明可以在这里找到。)

一旦GROBID运行起来,您可以按照下面的描述进行交互。

现在,我们可以使用数据加载器。

from langchain.document_loaders.parsers import GrobidParser
from langchain.document_loaders.generic import GenericLoader
loader = GenericLoader.from_filesystem(
"../Papers/",
glob="*",
suffixes=[".pdf"],
parser=GrobidParser(segment_sentences=False),
)
docs = loader.load()
docs[3].page_content
    '与Chinchilla、PaLM或GPT-3不同,我们只使用公开可用的数据,使我们的工作与开源兼容,而大多数现有模型依赖于不公开可用或未记录的数据(例如"Books -2TB"或"Social media conversations")。存在一些例外,特别是OPT(Zhang等,2022年),GPT-NeoX(Black等,2022年),BLOOM(Scao等,2022年)和GLM(Zeng等,2022年),但没有一个与PaLM-62B或Chinchilla竞争的模型。'
docs[3].metadata
    {'text': '与Chinchilla、PaLM或GPT-3不同,我们只使用公开可用的数据,使我们的工作与开源兼容,而大多数现有模型依赖于不公开可用或未记录的数据(例如"Books -2TB"或"Social media conversations")。存在一些例外,特别是OPT(Zhang等,2022年),GPT-NeoX(Black等,2022年),BLOOM(Scao等,2022年)和GLM(Zeng等,2022年),但没有一个与PaLM-62B或Chinchilla竞争的模型。',
'para': '2',
'bboxes': "[[{'page': '1', 'x': '317.05', 'y': '509.17', 'h': '207.73', 'w': '9.46'}, {'page': '1', 'x': '306.14', 'y': '522.72', 'h': '220.08', 'w': '9.46'}, {'page': '1', 'x': '306.14', 'y': '536.27', 'h': '218.27', 'w': '9.46'}, {'page': '1', 'x': '306.14', 'y': '549.82', 'h': '218.65', 'w': '9.46'}, {'page': '1', 'x': '306.14', 'y': '563.37', 'h': '136.98', 'w': '9.46'}], [{'page': '1', 'x': '446.49', 'y': '563.37', 'h': '78.11', 'w': '9.46'}, {'page': '1', 'x': '304.69', 'y': '576.92', 'h': '138.32', 'w': '9.46'}], [{'page': '1', 'x': '447.75', 'y': '576.92', 'h': '76.66', 'w': '9.46'}, {'page': '1', 'x': '306.14', 'y': '590.47', 'h': '219.63', 'w': '9.46'}, {'page': '1', 'x': '306.14', 'y': '604.02', 'h': '218.27', 'w': '9.46'}, {'page': '1', 'x': '306.14', 'y': '617.56', 'h': '218.27', 'w': '9.46'}, {'page': '1', 'x': '306.14', 'y': '631.11', 'h': '220.18', 'w': '9.46'}]]",
'pages': "('1', '1')",
'section_title': 'Introduction',
'section_number': '1',
'paper_title': 'LLaMA: Open and Efficient Foundation Language Models',
'file_path': '/Users/31treehaus/Desktop/Papers/2302.13971.pdf'}