2009-09-21 3 views
4

저는 수만 명의 기사가있는 다소 큰 자료를 만들고 있습니다. 나는 현재 PDFBox를 사용하여 다양한 성공을 이끌어 내고 있으며, 추출이 적절하게 성공했는지 여부를 프로그램 적으로 각 파일에서 확인하는 방법을 찾고 있습니다. 나는 현재 각각에 대해 맞춤법 검사기를 사용하려고 생각하고 있지만 언어가 다를 수 있으므로 어떤 언어를 사용하고 있는지 확실하지 않습니다. 점수가있는 자연 언어 감지도 아이디어 일 수 있습니다.pdf로 추출한 텍스트의 품질을 빠르고 손쉽게 검사 할 수있는 방법은 무엇입니까?

아, 그리고 어떤 방법으로도 Java로 멋지게 플레이하고, 빠르게 통합 할 수 있어야합니다.

+0

PDFBox는 적극적으로 유지 관리되지 않으며 일부 최신 PDF 형식과 일부 유형의 이미지가 포함 된 PDF가 계속 표시됩니다. 필자가 찾은 유일한 라이브러리는 PDFTextStream입니다. PDFTextStream은 훌륭하지만 무료가 아닙니다. –

+0

PDFTextStream의 정확성이 훨씬 뛰어나다는 것을 언급해야합니다. –

답변

2

자동 학습 맞춤법 검사기를 사용해보십시오. 그 단어가 무섭지는 않습니다. 만날 가능성이있는 모든 단어가 포함 된 큰 사전부터 시작하십시오. 여러 언어를 사용할 수 있습니다.

PDF를 스캔 할 때 특정 수의 알려지지 않은 단어 (예 : 5 %)를 허용하십시오. 이 단어 중 일부가 충분히 자주 반복되는 경우 (예 : 5 번) 사전에 추가하십시오. PDF에 5 % 이상의 알려지지 않은 단어가 포함되어 있으면 처리 할 수없는 단어 일 가능성이 큽니다.

스캐너는 시간이 지남에 따라 학습하여 필요한 경우 알려지지 않은 단어의 양을 줄일 수 있습니다. 그게 너무 많은 경우, 매우 큰 사전도 잘 작동해야합니다.

사전이없는 경우 몇 개의 문서를 수동으로 처리하고 스캐너를 익히십시오. 십여 개 정도의 파일을 작성한 후에는 새 사전이 합리적인 수위를 확보 할만큼 충분히 커야합니다.

1

물론 완벽한 방법은 없습니다. - 아무것도 추출하지됩니다

1 :

은 일반적으로 텍스트 추출 poblems 두 종류가 있습니다. 스캔 한 문서가 있거나 PDF에서 무언가가 유효하지 않기 때문일 수 있습니다.

일반적으로 감지하기 쉽기 때문에 검사하기 위해 복잡한 코드가 필요하지 않습니다.

2 - 쓰레기가 생깁니다. PDF 파일이 이상하게 인코딩 되었기 때문에 대부분의 경우. 홈 메이드 인코딩이 제대로 선언되지 않았거나 PDF 작성자가 PDF에서 인식 할 수없는 문자를 필요로했을 수 있습니다 (예 : cedilla가있는 터키어 S가 어도비 글립 목록에서 잠시 사라졌습니다. 올바르게 인코딩되지 않은 문자를 만들 수 없습니다. 내부에 파일이 있으므로 페이지에서 시각적으로 볼 수 있도록 속여야합니다.)

저는 추출한 텍스트를 기반으로 PDF 파일의 언어를 검색하는 데 ngram 기반 방법을 사용합니다 (기술은 다르지만 아이디어는 같습니다). 언어가 인식되지 않은 파일은 일반적으로 문제의 좋은 용의자입니다 ...

맞춤법 검사에 대해 나는 여러 언어가있는 경우에 특히 오탐 (false positives)을 많이 줄 것이라고 생각합니다!

2

중지 단어 목록 ("and"및 "the"와 같이 검색 엔진에서 무시하는 가장 빈번한 단어)에 대해 코퍼스를 실행할 수는 있지만 가능한/예상되는 모든 언어에 대해 중지 단어 목록이 분명히 필요합니다. 먼저.