문제

PDF 문서에서 서지 메타 데이터를 추출하는 메커니즘이 필요합니다.

최소한 제목과 초록. 저자와 그 제휴의 목록이 좋을 것입니다. 참조를 추출하는 것은 놀라운 일입니다.

이상적으로 이것은 오픈 소스 솔루션입니다.

문제는 모든 PDF의 텍스트를 인코딩하는 것은 아니며 텍스트의 논리적 순서를 유지하지 못하는 것이 많으므로 PDF2Text를 수행하는 것만으로도 1 열 2 열, 1 행 2 열 1의 행 2 행.

라이브러리가 많이 있다는 것을 알고 있습니다. 해결해야 할 문서에서 초록, 제목 작성자 등을 식별하고 있습니다. 이것은 매번 가능하지는 않지만 80%는 많은 인간의 노력을 절약 할 것입니다.

도움이 되었습니까?

해결책 2

우리는 2010 년 2 월 런던의 Dev8D 에서이 문제를 해결하기위한 콘테스트를 진행했으며 결과적으로 멋진 작은 GPL 도구를 만들었습니다. 우리는 아직 시스템에 통합되지 않았지만 세상에 있습니다.

https://code.google.com/p/pdfssa4met/

다른 팁

게시 당 하나의 링크 만 허용되므로 다음과 같습니다.PDFINFO LINUX 매뉴얼 페이지

이것은 제목과 저자를 얻을 수 있습니다. 매뉴얼 페이지의 하단을 보면 www.foolabs.com/xpdf에 대한 링크가 있으며 프로그램의 오픈 소스를 찾을 수 있으며 다양한 플랫폼의 바이너리가 있습니다.

참고 문헌을 꺼내려면보십시오 CB2BIB:

CB2BIB는 전자 메일 알림, 저널 웹 페이지 및 PDF 파일에서 형성되지 않은 또는 견딜 수없는 서지 참조를 신속하게 추출하기위한 무료, 오픈 소스 및 멀티 플랫폼 애플리케이션입니다.

이 주제에 대해 논의 된 www.zotero.org에서 토론 포럼을 확인할 수도 있습니다.

약간의 단순하지만 인터넷 검색 "Bibtex + Paper Title"Ussualy는 ACM, Citeseer 또는 기타 그러한 참조 추적 사이트에서 형식화 된 Bibtex 항목을 얻을 수 있습니다. 물론 이것은 논문이 비 컴퓨터 저널에서 나온 것이 아니라고 가정합니다 : D

-- 편집하다 --

나는 당신이 이것에 대한 맞춤형 솔루션을 찾지 못할 것 같은 느낌이 들었습니다. Citeseer, ACM 및 Google Scholar와 같은 인용 추적기에 글을 쓰면서 그들이 한 일에 대한 아이디어를 얻을 수 있습니다. 수많은 다른 사람들이 있으며 구현이 닫힌 소스가 아니라 출판 된 형태가 아니라는 것을 알 수 있습니다. 주제에 대한 수많은 연구 자료가 있습니다.

내가 참여한 연구팀은 그러한 문제를 조사했으며 우리는 손으로 서면 추출 알고리즘이나 머신 러닝이이를 수행한다는 결론에 도달했습니다. 손으로 서면 알고리즘이 가장 좋은 방법 일 것입니다.

이것은 가능한 변동의 양으로 인해 상당히 어려운 문제입니다. PDF의 텍스트를 정상화하는 것이 좋습니다 (수십 개의 프로그래밍 방식 PDF 라이브러리에서 얻을 수 있습니다). 그런 다음 사용자 정의 텍스트 스크래핑 알고리즘을 구현해야합니다.

나는 PDF의 끝에서 뒤로 시작하여 어떤 종류의 인용 키가 존재하는지 예를 들어 [1], [저자 년], (저자 년) 다음 문장을 구문 분석하려고합니다. 라이브러리에서 얻은 텍스트를 정상화하려면 코드를 작성해야 할 것입니다 (추가 공백을 제거하는 등). 인용 키를 한 줄의 첫 번째 단어로만 찾고 문서 당 10 페이지에 대해서만 찾을 수 있습니다. 첫 번째 단어에는 키 구분 기호가 있어야합니다 (예 : '또는'( '. 키를 찾을 수없는 경우 그런 다음 10 페이지는 PDF를 무시하고 인간의 개입을 위해 플래그를 지정합니다.

인용 내에서 메타 데이터를 형식화하기 위해 프로그래밍 방식으로 더 프로그램 적으로 상담 할 수있는 라이브러리를 원할 수도 있습니다.

작업 솔루션을 얻기 위해 꽤 많은 시간을 소비 한 다음 스크래핑 알고리즘/엔진을 튜닝하고 추가하는 지속적인 프로세스가 될 수 있다고 생각합니다.

이 경우 권장합니다 테트 ~에서 pdflib

할 수있는 일에 대한 빠른 느낌을 얻을 필요가 있다면 TET 요리 책

이것은 오픈 소스 솔루션이 아니지만 현재 제 생각에는 최선의 선택입니다. 플랫폼 의존적이지 않으며 풍부한 언어 바인딩과 상업적 지원이 있습니다.

누군가가 저를 동등하거나 더 나은 오픈 소스 대안으로 지적했다면 나는 행복 할 것입니다.

텍스트를 추출하려면 사용합니다 TET_xxx() 기능 및 쿼리 메타 데이터를 사용할 수 있습니다 pcos_xxx() 기능.

Commanline 도구를 사용하여 필요한 모든 정보가 포함 된 XML 파일을 생성 할 수도 있습니다.

tet --tetml word file.pdf

TETML을 처리하는 방법에 대한 예가 있습니다 xslt 에서 TET 요리 책

TETML에는 무엇이 포함되어 있습니까?

TETML 출력은 UTF-8 (USS 또는 MVS : EBCDIC-UTF-8을 가진 Zseries : www.unicode.org/reports/tr16 참조)에서 인코딩되며 다음 정보를 포함합니다. 각 페이지의 일반 문서 정보 및 메타 데이터 텍스트 내용이 포함되어 있습니다. (단어 또는 단락) Glyph 정보 (글꼴 이름, 크기, 좌표) 구조 정보, 예를 들어 페이지 리소스 정보에 위치한 이미지에 대한 정보, 즉 PDF 처리 중에 예외가 발생한 경우 페이지 리소스 정보, 즉 글꼴, 색상 영역 및 이미지 오류 메시지에 대한 정보

보세요 itext. PDF를 읽을 수있는 Java 라이브러리입니다. 여전히 올바른 데이터를 찾는 문제에 직면하지만 라이브러리는 목적을 추론 할 수있는 형식 및 레이아웃 정보를 제공합니다.

시도 할 또 다른 Java 라이브러리가 될 것입니다 pdfbox. PDF는 실제로보고 인쇄되도록 설계되었으므로 도서관이 당신을 위해 무거운 리프팅을 할 수 있기를 바랍니다. 그럼에도 불구하고, 당신은 추출하려는 데이터를 얻기 위해 텍스트 조각을 약간 다시 붙여야 할 수도 있습니다. 행운을 빕니다!

이 연구 논문을 살펴보십시오. 조건부 랜덤 필드를 사용한 연구 논문에서 정확한 정보 추출

같은 오픈 소스 패키지를 사용하고 싶을 수도 있습니다 스탠포드 네르 CRF를 시작하려면.

아니면 아마도, 당신은 그들을 수입 할 수 있습니다 (연구 논문) 멘델리. 분명히, 그것은 당신에게 필요한 정보를 추출해야합니다.

도움이 되었기를 바랍니다.

다음은 내가 Linux를 사용하는 것입니다 CB2BIB.

  1. CB2BIB를 열고 클립 보드 연결이 켜져 있고 참조 데이터베이스가로드되었는지 확인하십시오.
  2. Google Scholar에서 논문을 찾으십시오
  3. 종이 아래에서 'Bibtex로 가져 오기'를 클릭하십시오
  4. 다음 페이지에서 모든 것을 선택 (예 : Bibtex 코드)
  5. 이제 CB2BIB에서 형식으로 나타납니다
  6. 선택적으로 이제 네트워크 검색 (글로브 아이콘)을 눌러 추가 정보를 추가합니다.
  7. CB2BIB에서 저장을 누르면 용지를 Ref 데이터베이스에 추가합니다.

모든 논문에 대해 이것을 반복하십시오. PDF에서 메타 데이터를 안정적으로 추출하는 방법이 없으면 이것이 내가 찾은 가장 쉬운 솔루션이라고 생각합니다.

추천합니다 gscholar 와 함께 pdftotext.

PDF는 메타 데이터를 제공하지만 올바른 컨텐츠로 거의 채워지지 않습니다. 예를 들어, "없음"또는 "Adobe-Photoshop"또는 기타 멍청한 문자열은 제목 필드에 들어갑니다. 그렇기 때문에 위의 도구 중 어느 것도 제목이 문서의 어느 곳에도있을 수 있으므로 PDFS에서 정확한 정보를 도출 할 수없는 이유입니다. 또 다른 예 : 많은 회의 절차 논문에도 회의 제목이 있거나 자동 추출 도구를 혼동하는 편집자의 이름이있을 수 있습니다. 그런 다음 신문의 실제 저자에 관심이있을 때 결과가 잘못되었습니다.

그래서 나는 Google Scholar와 관련된 반자동 접근법을 제안합니다.

  1. PDF를 텍스트로 렌더링하면 저자 및 제목을 추출 할 수 있습니다.
  2. 두 번째 복사이 정보 중 일부를 붙여 넣고 Google 학술 검색을 쿼리하십시오. 이를 자동화하기 위해 멋진 파이썬 스크립트 gscholar.py를 사용합니다.

실생활에서 이것은 내가하는 일입니다.

me@box> pdftotext 10.1.1.90.711.pdf - | head
Computational Geometry 23 (2002) 183–194
www.elsevier.com/locate/comgeo

Voronoi diagrams on the sphere ✩
Hyeon-Suk Na a , Chung-Nim Lee a , Otfried Cheong b,∗
a Department of Mathematics, Pohang University of Science and Technology, South Korea
b Institute of Information and Computing Sciences, Utrecht University, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands

Received 28 June 2001; received in revised form 6 September 2001; accepted 12 February 2002
Communicated by J.-R. Sack
me@box> gscholar.py "Voronoi diagrams on the sphere Hyeon-Suk" 
@article{na2002voronoi,
  title={Voronoi diagrams on the sphere},
  author={Na, Hyeon-Suk and Lee, Chung-Nim and Cheong, Otfried},
  journal={Computational Geometry},
  volume={23},
  number={2},
  pages={183--194},
  year={2002},
  publisher={Elsevier}
}

편집 : 조심하십시오. 또 다른 훌륭한 대본입니다 Bibfetch.

방금 발견되었습니다 PDFTK... 놀랍습니다. Win/Lin/Mac 및 소스를위한 이진 분포로 제공됩니다.

사실, 나는 다른 문제를 해결했습니다 (내 프로필을보고, 나는 또 다른 PDF 질문에 대답했습니다. 1 개의 링크 제한으로 인해 연결할 수 없습니다).

예를 들어 PDF 메타 데이터 추출을 수행 할 수 있습니다. 예를 들어, 제목이 포함 된 줄을 반환합니다.

 pdftk test.pdf dump_data output test.txt | grep -A 1 "InfoKey: Title" | grep "InfoValue"

제목, 저자, MOD 날짜 및 북마크 및 페이지 번호 (테스트 PDF에는 북마크가 있음)를 덤프 할 수 있습니다. 분명히 출력을 올바르게 방출하려면 약간의 작업이 필요하지만, 이것이 귀하의 요구에 맞아야한다고 생각합니다.

PDF에 메타 데이터가없는 경우 (예 : "Abstract"Metadata 없음) PDF2Text와 같은 다른 도구를 사용하여 텍스트를 고정시킬 수 있으며 위와 같은 일부 Grep 트릭을 사용할 수 있습니다. PDF가 OCR'D가 아닌 경우 훨씬 더 큰 문제가 있으며 PDF (S)의 임시 쿼리는 고통스럽게 느려집니다 (OCR에 가장 적합).

그럼에도 불구하고 각 쿼리가 파일 메타 데이터/텍스트를 스캔하는 대신 문서 색인을 작성하는 것이 좋습니다.

PYPDF 도움이 될 수 있습니다. PDF 파일 (암호화되지 않은)의 내용을 읽고 쓰는 데 광범위한 API를 제공하며, 이는 쉬운 언어 파이썬으로 작성되었습니다.

노력하다 Citeyoulike. 그것은 당신이 논문 라이브러리를 만들고, 논문을 할당하고, 그들에게 태그를 할당하고, 검색하고, 주석을 첨부 할 수있는 웹 사이트입니다. 또한 웹 브라우저에 버튼을 추가 할 수 있으며, 이는 초록을 포함하여 원하는 정보를 자동으로 추출하려고합니다. 그래도 PDF에서 많이 얻지 못합니다. 그러나 IEEE Explorer, Citeseer 또는 많은 저널 사이트에 대한 논문에 대한 인용을 지적하면 일반적으로 모든 Bibtex 정보를 얻을 수 있습니다.

문제는 PDF가 종종 인용 정보를 모두 가지고 있지는 않다는 것입니다. 당신은 일반적으로 제목과 저자를 가지고 있지만 반드시 회의의 이름이나 출판 연도는 아닙니다. 먼저 Siteeser, PubMed 또는 다른 장소에서 논문에 대한 인용을 찾아서 정보를 추출하는 것이 합리적입니다.

일반적으로 나는 Citeyoulike가 논문을 조직하는 데 매우 유용하다는 것을 알았습니다. 또한 다른 사람들과 협력하는 데 유용합니다. 그룹을 만들고, 논문을 공유하고, 포럼을 설정하는 등을 만들 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top