From 4e50d4e40be4c221cda8de15692f186191becb55 Mon Sep 17 00:00:00 2001 From: Bogatenkova Anastasiya Date: Wed, 30 Aug 2023 14:35:56 +0300 Subject: [PATCH 1/7] TLDR-446 annotations doc (#322) * Annotations information added * Line types information added --- .github/workflows/release.yaml | 2 +- README.md | 56 +++++--- docs/source/index.rst | 9 ++ docs/source/readers_output/annotations.rst | 159 +++++++++++++++++++++ docs/source/readers_output/line_types.rst | 65 +++++++++ 5 files changed, 273 insertions(+), 18 deletions(-) create mode 100644 docs/source/readers_output/annotations.rst create mode 100644 docs/source/readers_output/line_types.rst diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 2594ee25..3aaf7639 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -41,7 +41,7 @@ jobs: - name: Push to dockerhub if: ${{ success() }} run: | - docker build -f docker/Dockerfile -t dedocproject/dedoc:$GITHUB_REF_NAME . + docker build -f Dockerfile -t dedocproject/dedoc:$GITHUB_REF_NAME . docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_PASSWORD }} docker tag dedocproject/dedoc:$GITHUB_REF_NAME dedocproject/dedoc:latest docker push dedocproject/dedoc:$GITHUB_REF_NAME diff --git a/README.md b/README.md index f821b75d..105502e3 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,17 @@ ![Dedoc](https://github.com/ispras/dedoc/raw/master/dedoc_logo.png) -Dedoc is an open universal system for converting documents to a unified output format. It extracts a document’s logical structure and content, its tables, text formatting and metadata. The document’s content is represented as a tree storing headings and lists of any level. Dedoc can be integrated in a document contents and structure analysis system as a separate module. +Dedoc is an open universal system for converting documents to a unified output format. +It extracts a document’s logical structure and content, its tables, text formatting and metadata. +The document’s content is represented as a tree storing headings and lists of any level. +Dedoc can be integrated in a document contents and structure analysis system as a separate module. + +Relevant documentation of the dedoc is available [here](https://dedoc.readthedocs.io). ## Features and advantages -Dedoc is implemented in Python and works with semi-structured data formats (DOC/DOCX, ODT, XLS/XLSX, CSV, TXT, JSON) and none-structured data formats like images (PNG, JPG etc.), archives (ZIP, RAR etc.), PDF and HTML formats. Document structure extraction is fully automatic regardless of input data type. Metadata and text formatting is also extracted automatically. +Dedoc is implemented in Python and works with semi-structured data formats (DOC/DOCX, ODT, XLS/XLSX, CSV, TXT, JSON) and none-structured data formats like images (PNG, JPG etc.), archives (ZIP, RAR etc.), PDF and HTML formats. +Document structure extraction is fully automatic regardless of input data type. +Metadata and text formatting are also extracted automatically. In 2022, the system won a grant to support the development of promising AI projects from the [Innovation Assistance Foundation (Фонд содействия инновациям)](https://fasie.ru/). @@ -16,36 +23,35 @@ In 2022, the system won a grant to support the development of promising AI proje * Support for extracting document structure out of nested documents having different formats. * Extracting various text formatting features (indentation, font type, size, style etc.). * Working with documents of various origin (statements of work, legal documents, technical reports, scientific papers) allowing flexible tuning for new domains. -* Working with PDF documents containinng a text layer: - * Support to automatically determine the correctness of the text layer in PDF documents; - * Extract containing and formatting from PDF-documents with a text layer using the developed interpreter of the virtual stack machine for printing graphics according to the format specification. -Extracting table data from DOC/DOCX, PDF, HTML, CSV and image formats: +* Working with PDF documents containing a textual layer: + * Support to automatically determine the correctness of the textual layer in PDF documents; + * Extract containing and formatting from PDF-documents with a textual layer using the developed interpreter of the virtual stack machine for printing graphics according to the format specification. +* Extracting table data from DOC/DOCX, PDF, HTML, CSV and image formats: * Recognizing a physical structure and a cell text for complex multipage tables having explicit borders with the help of contour analysis. * Working with scanned documents (image formats and PDF without text layer): * Using Tesseract, an actively developed OCR engine from Google, together with image preprocessing methods. * Utilizing modern machine learning approaches for detecting a document orientation, detecting single/multicolumn document page, detecting bold text and extracting hierarchical structure based on the classification of features extracted from document images. -This project may be useful as a first step of automatic document analysis pipeline (e.g. before the NLP part) +This project may be useful as a first step of automatic document analysis pipeline (e.g. before the NLP part). -This project has REST Api and you can run it in Docker container -To read full Dedoc documentation run the project and go to localhost:1231. +This project has REST Api and you can run it in Docker container. +Also, dedoc can be installed as a library via `pip`. +To read full Dedoc documentation go [here](https://dedoc.readthedocs.io). ## Run the project -How to build and run the project -Ensure you have Git and Docker installed - +### Install and run dedoc using docker + Clone the project ```bash git clone https://github.com/ispras/dedoc.git - -cd dedoc/ +cd dedoc ``` Ensure you have Docker installed. -Start 'Dedoc' on the port 1231: +Start `dedoc` on the port `1231`: ```bash docker-compose up --build ``` @@ -55,6 +61,22 @@ Start Dedoc with tests: test="true" docker-compose up --build ``` -Now you can go to the localhost:1231 and look at the docs and examples. +Now you can go to the `localhost:1231` and look at the docs and examples. +You can change the port and host in the config file `dedoc/config.py`. + +### Install dedoc using pip + +One may install the dedoc library via `pip`. +To fulfil all the library requirements, you should have `torch~=1.11.0` and `torchvision~=0.12.0` installed. +You can install suitable for you versions of these libraries and install dedoc using `pip` command: + +```bash +pip install dedoc +``` + +Or you can install dedoc with torch and torchvision included: +```bash +pip install "dedoc[torch]" +``` -You can change the port and host in the config file 'dedoc/config.py' +Go [here](https://dedoc.readthedocs.io/en/latest/getting_started/installation.html) to get more details about dedoc installation. diff --git a/docs/source/index.rst b/docs/source/index.rst index 8978f173..1cf30272 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -50,6 +50,8 @@ Reading documents using dedoc Dedoc allows to get the common intermediate representation for the documents of various formats. The resulting output of any reader is a class :class:`~dedoc.data_structures.UnstructuredDocument`. +See :ref:`readers' annotations ` and :ref:`readers' line types ` +to get more details about information that can be extracted by each available reader. .. _table_formats: @@ -220,6 +222,13 @@ For a document of unknown or unsupported domain there is an option to use defaul dedoc_api_usage/return_format +.. toctree:: + :maxdepth: 1 + :caption: Readers output + + readers_output/annotations + readers_output/line_types + .. toctree:: :maxdepth: 1 :caption: Structure types diff --git a/docs/source/readers_output/annotations.rst b/docs/source/readers_output/annotations.rst new file mode 100644 index 00000000..e177ed53 --- /dev/null +++ b/docs/source/readers_output/annotations.rst @@ -0,0 +1,159 @@ +.. _readers_annotations: + +Text annotations +================ + +Below the readers are enlisted that can return non-empty list of annotations for document lines: + +* `+` means that the reader can return the annotation. +* `-` means that the reader doesn't return the annotation due to complexity of the task or lack of information provided by the format. + +.. _table_annotations: + +.. list-table:: Annotations returned by each reader + :widths: 20 10 10 10 10 10 10 + :class: tight-table + + * - **Annotation** + - :class:`~dedoc.readers.DocxReader` + - :class:`~dedoc.readers.HtmlReader`, :class:`~dedoc.readers.MhtmlReader`, :class:`~dedoc.readers.EmailReader` + - :class:`~dedoc.readers.RawTextReader` + - :class:`~dedoc.readers.PdfImageReader` + - :class:`~dedoc.readers.PdfTabbyReader` + - :class:`~dedoc.readers.PdfTxtlayerReader` + + * - :class:`~dedoc.data_structures.AttachAnnotation` + - `+` + - `-` + - `-` + - `-` + - `-` + - `+` + + * - :class:`~dedoc.data_structures.TableAnnotation` + - `+` + - `-` + - `-` + - `+` + - `+` + - `+` + + * - :class:`~dedoc.data_structures.LinkedTextAnnotation` + - `+` + - `+` + - `-` + - `-` + - `+` + - `+` + + * - :class:`~dedoc.data_structures.BBoxAnnotation` + - `-` + - `-` + - `-` + - `+` + - `+` + - `+` + + * - :class:`~dedoc.data_structures.AlignmentAnnotation` + - `+` + - `+` + - `-` + - `-` + - `-` + - `-` + + * - :class:`~dedoc.data_structures.IndentationAnnotation` + - `+` + - `-` + - `+` + - `+` + - `+` + - `+` + + * - :class:`~dedoc.data_structures.SpacingAnnotation` + - `+` + - `-` + - `+` + - `+` + - `+` + - `+` + + * - :class:`~dedoc.data_structures.BoldAnnotation` + - `+` + - `+` + - `-` + - `+` + - `+` + - `+` + + * - :class:`~dedoc.data_structures.ItalicAnnotation` + - `+` + - `+` + - `-` + - `-` + - `+` + - `+` + + * - :class:`~dedoc.data_structures.UnderlinedAnnotation` + - `+` + - `+` + - `-` + - `-` + - `-` + - `-` + + * - :class:`~dedoc.data_structures.StrikeAnnotation` + - `+` + - `+` + - `-` + - `-` + - `-` + - `-` + + * - :class:`~dedoc.data_structures.SubscriptAnnotation` + - `+` + - `+` + - `-` + - `-` + - `-` + - `-` + + * - :class:`~dedoc.data_structures.SuperscriptAnnotation` + - `+` + - `+` + - `-` + - `-` + - `-` + - `-` + + * - :class:`~dedoc.data_structures.ColorAnnotation` + - `-` + - `-` + - `-` + - `+` + - `-` + - `+` + + * - :class:`~dedoc.data_structures.SizeAnnotation` + - `+` + - `+` + - `-` + - `+` + - `+` + - `+` + + * - :class:`~dedoc.data_structures.StyleAnnotation` + - `+` + - `+` + - `-` + - `-` + - `+` + - `+` + + * - :class:`~dedoc.data_structures.ConfidenceAnnotation` + - `-` + - `-` + - `-` + - `+` + - `-` + - `-` diff --git a/docs/source/readers_output/line_types.rst b/docs/source/readers_output/line_types.rst new file mode 100644 index 00000000..826a4807 --- /dev/null +++ b/docs/source/readers_output/line_types.rst @@ -0,0 +1,65 @@ +.. _readers_line_types: + +Types of textual lines +====================== + +Each reader returns :class:`~dedoc.data_structures.UnstructuredDocument` with textual lines. +Readers don't fill `hierarchy_level` metadata field (structure extractors do this), but they can fill `hierarchy_level_tag` with information about line types. +Below the readers are enlisted that can return non-empty `hierarchy_level_tag` in document lines metadata: + +* `+` means that the reader can return lines of this type. +* `-` means that the reader doesn't return lines of this type due to complexity of the task or lack of information provided by the format. + +.. _table_line_types: + +.. list-table:: Line types returned by each reader + :widths: 20 20 20 20 20 + :class: tight-table + + * - **Reader** + - **header** + - **list_item** + - **raw_text, unknown** + - **key** + + * - :class:`~dedoc.readers.DocxReader` + - `+` + - `+` + - `+` + - `-` + + * - :class:`~dedoc.readers.HtmlReader`, :class:`~dedoc.readers.MhtmlReader`, :class:`~dedoc.readers.EmailReader` + - `+` + - `+` + - `+` + - `-` + + * - :class:`~dedoc.readers.RawTextReader` + - `-` + - `+` + - `+` + - `-` + + * - :class:`~dedoc.readers.JsonReader` + - `-` + - `+` + - `+` + - `+` + + * - :class:`~dedoc.readers.PdfImageReader` + - `-` + - `+` + - `+` + - `-` + + * - :class:`~dedoc.readers.PdfTabbyReader` + - `+` + - `+` + - `+` + - `-` + + * - :class:`~dedoc.readers.PdfTxtlayerReader` + - `-` + - `+` + - `+` + - `-` From bf2c2acc50f9d396fb39050c0fa8eeece1ed5449 Mon Sep 17 00:00:00 2001 From: Andrew Perminov Date: Tue, 5 Sep 2023 15:46:20 +0300 Subject: [PATCH 2/7] add tesseract info to instalation docs (#325) --- docs/source/getting_started/installation.rst | 21 +++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/source/getting_started/installation.rst b/docs/source/getting_started/installation.rst index 42ae2ea8..08a38a4c 100644 --- a/docs/source/getting_started/installation.rst +++ b/docs/source/getting_started/installation.rst @@ -74,8 +74,27 @@ If you don't need converters, you can skip this step. 2. Install `Tesseract OCR 5` framework. You can try any tutorial for this purpose or look `here `_ -to get the example of Tesseract installing for dedoc container. +to get the example of Tesseract installing for dedoc container or use next commands for building Tesseract OCR 5 from sources: +2.1. Install compilers and libraries required by the Tesseract OCR: + + .. code-block:: bash + + sudo apt-get update + sudo apt-get install -y automake binutils-dev build-essential ca-certificates clang g++ g++-multilib gcc-multilib libcairo2 libffi-dev \ + libgdk-pixbuf2.0-0 libglib2.0-dev libjpeg-dev libleptonica-dev libpango-1.0-0 libpango1.0-dev libpangocairo-1.0-0 libpng-dev libsm6 \ + libtesseract-dev libtool libxext6 make pkg-config poppler-utils pstotext shared-mime-info software-properties-common swig zlib1g-dev + +2.2. Build Tesseract from sources: + + .. code-block:: bash + + sudo add-apt-repository -y ppa:alex-p/tesseract-ocr-devel + sudo apt-get update --allow-releaseinfo-change + sudo apt-get install -y tesseract-ocr tesseract-ocr-rus + git clone --depth 1 --branch 5.0.0-beta-20210916 https://github.com/tesseract-ocr/tesseract/ + cd tesseract && ./autogen.sh && sudo ./configure && sudo make && sudo make install && sudo ldconfig && cd .. + export TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata/ 3. Install the dedoc library via pip. To fulfil all the library requirements, you should have `torch~=1.11.0` and `torchvision~=0.12.0` installed. From 13c4b6c829b63fee577ec0b0a757e8f6695ced0d Mon Sep 17 00:00:00 2001 From: Andrey Mikhailov Date: Tue, 5 Sep 2023 21:50:03 +0800 Subject: [PATCH 3/7] Remove plexus-utils-1.1.jar (#326) --- .../tabbypdf/jars/plexus-utils-1.1.jar | Bin 168568 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dedoc/readers/pdf_reader/pdf_txtlayer_reader/tabbypdf/jars/plexus-utils-1.1.jar diff --git a/dedoc/readers/pdf_reader/pdf_txtlayer_reader/tabbypdf/jars/plexus-utils-1.1.jar b/dedoc/readers/pdf_reader/pdf_txtlayer_reader/tabbypdf/jars/plexus-utils-1.1.jar deleted file mode 100644 index 5c50e1779f7ed95c94394c5ad401580fb09a6f53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168568 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⪼m1!ESbf=Jzf>1l~;9J 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 I2?Xx{0D7eyEdT%j From 7486e44383a555f85f47735bfe5a32d02a9d867a Mon Sep 17 00:00:00 2001 From: Oksana Belyaeva Date: Tue, 5 Sep 2023 18:49:09 +0300 Subject: [PATCH 4/7] TLDR-455 change README and fixed 3.1, 3.3.4, 3.3.3 notes of FOND (#323) * TLDR-455 change README and fixed 3.1, 3.3.4, 3.3.3 notes of FOND * TLDR-455 update installation instructions * TLDR-455 update README according online-instruction * TLDR-455 added info about trusted torch * fix indentation in code --------- Co-authored-by: dronperminov --- README.md | 172 ++++++++++++++++--- docs/source/getting_started/installation.rst | 86 ++++++++-- 2 files changed, 226 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 105502e3..0d615b00 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,6 @@ It extracts a document’s logical structure and content, its tables, text forma The document’s content is represented as a tree storing headings and lists of any level. Dedoc can be integrated in a document contents and structure analysis system as a separate module. -Relevant documentation of the dedoc is available [here](https://dedoc.readthedocs.io). - ## Features and advantages Dedoc is implemented in Python and works with semi-structured data formats (DOC/DOCX, ODT, XLS/XLSX, CSV, TXT, JSON) and none-structured data formats like images (PNG, JPG etc.), archives (ZIP, RAR etc.), PDF and HTML formats. Document structure extraction is fully automatic regardless of input data type. @@ -32,51 +30,181 @@ In 2022, the system won a grant to support the development of promising AI proje * Using Tesseract, an actively developed OCR engine from Google, together with image preprocessing methods. * Utilizing modern machine learning approaches for detecting a document orientation, detecting single/multicolumn document page, detecting bold text and extracting hierarchical structure based on the classification of features extracted from document images. - +## Impact This project may be useful as a first step of automatic document analysis pipeline (e.g. before the NLP part). +Dedoc is in demand for information analytic systems, information leak monitoring systems, as well as for natural language processing systems. +The library is intended for application use by developers of systems for automatic analysis and structuring of electronic documents, including for further search in electronic documents. +# Online-Documentation +Relevant documentation of the dedoc is available [here]((https://dedoc.readthedocs.io/en/latest/)) + +# Installation instructions +**************************************** This project has REST Api and you can run it in Docker container. Also, dedoc can be installed as a library via `pip`. -To read full Dedoc documentation go [here](https://dedoc.readthedocs.io). - +There are two ways to install and run dedoc as a web application or a library that are described below. + -## Run the project +## Install and run dedoc using docker -### Install and run dedoc using docker +You should have [`git`] (https://git-scm.com) and [`docker`](https://www.docker.com) installed for running dedoc by this method. +This method is more flexible because it doesn't depend on the operating system and other user's limitations, +still, the docker application should be installed and configured properly. -Clone the project +If you don't need to change the application configuration, you may use the built docker image as well. + +### 1. Pull the image +```bash +docker pull dedocproject/dedoc +``` + +### 2. Run the container +```bash +docker run -p 1231:1231 --rm dedocproject/dedoc python3 /dedoc_root/dedoc/main.py +``` + +Go to [dockerhub](https://hub.docker.com/r/dedocproject/dedoc) to get more information about available dedoc images. + +If you need to change some application settings, you may update `config.py` according to your needs and re-build the image. +You can build and run image: + +### 1. Clone the repository +```bash +git clone https://github.com/ispras/dedoc +``` + +### 2. Go to the `dedoc` directory ```bash -git clone https://github.com/ispras/dedoc.git cd dedoc ``` - -Ensure you have Docker installed. -Start `dedoc` on the port `1231`: - ```bash + +### 3. Build the image and run the application +```bash docker-compose up --build ``` -Start Dedoc with tests: - ```bash +### 4. Run container with tests +```bash test="true" docker-compose up --build - ``` +``` -Now you can go to the `localhost:1231` and look at the docs and examples. -You can change the port and host in the config file `dedoc/config.py`. +If you need to change some application settings, you may update `config.py` according to your needs and re-build the image. -### Install dedoc using pip -One may install the dedoc library via `pip`. -To fulfil all the library requirements, you should have `torch~=1.11.0` and `torchvision~=0.12.0` installed. -You can install suitable for you versions of these libraries and install dedoc using `pip` command: +## Install dedoc using pip + +If you don't want to use docker for running the application, it's possible to run dedoc locally. +However, it isn't suitable for any operating system (`Ubuntu 20+` is recommended) and +there may be not enough machine's resources for its work. +You should have `python` (`python3.8`, `python3.9` are recommended) and `pip` installed. + +### 1. Install necessary packages: +```bash +sudo apt-get install -y libreoffice djvulibre-bin unzip unrar +``` + +`libreoffice` and `djvulibre-bin` packages are used by converters (doc, odt to docx; xls, ods to xlsx; ppt, odp to pptx; djvu to pdf). +If you don't need converters, you can skip this step. +`unzip` and `unrar` packages are used in the process of extracting archives. + +### 2. Install `Tesseract OCR 5` framework: +You can try any tutorial for this purpose or look [`here`](https://github.com/ispras/dedockerfiles/blob/master/dedoc_p3.9_base.Dockerfile) +to get the example of Tesseract installing for dedoc container or use next commands for building Tesseract OCR 5 from sources: + +#### 2.1. Install compilers and libraries required by the Tesseract OCR: +```bash +sudo apt-get update +sudo apt-get install -y automake binutils-dev build-essential ca-certificates clang g++ g++-multilib gcc-multilib libcairo2 libffi-dev \ +libgdk-pixbuf2.0-0 libglib2.0-dev libjpeg-dev libleptonica-dev libpango-1.0-0 libpango1.0-dev libpangocairo-1.0-0 libpng-dev libsm6 \ +libtesseract-dev libtool libxext6 make pkg-config poppler-utils pstotext shared-mime-info software-properties-common swig zlib1g-dev +``` +#### 2.2. Build Tesseract from sources: +```bash +sudo add-apt-repository -y ppa:alex-p/tesseract-ocr-devel +sudo apt-get update --allow-releaseinfo-change +sudo apt-get install -y tesseract-ocr tesseract-ocr-rus +git clone --depth 1 --branch 5.0.0-beta-20210916 https://github.com/tesseract-ocr/tesseract/ +cd tesseract && ./autogen.sh && sudo ./configure && sudo make && sudo make install && sudo ldconfig && cd .. +export TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata/ +``` + +## Install the dedoc library via pip. + +To fulfil all the library requirements, you should have `torch~=1.11.0` and `torchvision~=0.12.0` installed. +You can install suitable for you versions of these libraries and install dedoc using pip command: ```bash pip install dedoc ``` Or you can install dedoc with torch and torchvision included: + ```bash pip install "dedoc[torch]" ``` +## Install and run dedoc from sources + +If you want to run dedoc as a service from sources. it's possible to run dedoc locally. +However, it isn't suitable for any operating system (Ubuntu 20+ is recommended) and +there may be not enough machine's resources for its work. +You should have `python` (python3.8, python3.9 are recommended) and `pip` installed. + +### 1. Install necessary packages: according to instructions [install necessary packages](#1-Install-necessary-packages) + +### 2. Build Tesseract from sources according to instructions [Install Tesseract OCR-5 framework](#2-Install-Tesseract-OCR-5-framework) + +### 3. We recommend to install python's virtual environment (for example, via `virtualenvwrapper`) + +Below are the instructions for installing the package `virtualenvwrapper`: + +```bash +sudo pip3 install virtualenv virtualenvwrapper +mkdir ~/.virtualenvs +export WORKON_HOME=~/.virtualenvs +echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.8" >> ~/.bashrc +echo ". /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc +source ~/.bashrc +mkvirtualenv dedoc_env +``` + +### 4. Install python's requirements and launch dedoc service on default port `1231`: + +```bash +# clone dedoc project +git clone https://github.com/ispras/dedoc.git +cd dedoc +# check on your's python environment +workon dedoc_env +export PYTHONPATH=$PYTHONPATH:$(pwd) +pip install -r requirements.txt +pip install torch=1.11.0 torchvision==0.12.0 -f https://download.pytorch.org/whl/torch_stable.html +python dedoc/main.py -c ./dedoc/config.py +``` +Now you can go to the `localhost:1231` and look at the docs and examples. + +## Option: You can change the port of service: +you need to change environment DOCREADER_PORT + +1. For local service launching on your_port (1166 example). [Install instruction from sources](#Install-and-run-dedoc-from-sources) and launch with environment: +```bash +DOCREADER_PORT=1166 python dedoc/main.py -c ./dedoc/config.py +``` + +2. For service launching in docker-container you need to change port value in DOCREADER_PORT env and field 'ports' in docker-compose.yml file: +```yaml + ... + dedoc: + ... + ports: + - your_port_number:your_port_number + environment: + DOCREADER_PORT: your_port_number + ... + test: + ... + environment: + DOCREADER_PORT: your_port_number +``` + Go [here](https://dedoc.readthedocs.io/en/latest/getting_started/installation.html) to get more details about dedoc installation. diff --git a/docs/source/getting_started/installation.rst b/docs/source/getting_started/installation.rst index 08a38a4c..2186aab7 100644 --- a/docs/source/getting_started/installation.rst +++ b/docs/source/getting_started/installation.rst @@ -59,20 +59,25 @@ Install dedoc using pip If you don't want to use docker for running the application, it's possible to run dedoc locally. However, it isn't suitable for any operating system (Ubuntu 20+ is recommended) and there may be not enough machine's resources for its work. -You should have `python` (python3.8+ is recommended) and `pip` installed. +You should have `python` (python3.8, python3.9 are recommended) and `pip` installed. +.. _install_packages: -1. Install `libreoffice` and `djvulibre-bin` packages: +1. Install necessary packages: +****************************** .. code-block:: bash - sudo apt-get install -y libreoffice djvulibre-bin + sudo apt-get install -y libreoffice djvulibre-bin unzip unrar -These packages are used by converters (doc, odt to docx; xls, ods to xlsx; ppt, odp to pptx; djvu to pdf). +`libreoffice` and `djvulibre-bin` packages are used by converters (doc, odt to docx; xls, ods to xlsx; ppt, odp to pptx; djvu to pdf). If you don't need converters, you can skip this step. +`unzip` and `unrar` packages are used in the process of extracting archives. +.. _install_tesseract: 2. Install `Tesseract OCR 5` framework. +*************************************** You can try any tutorial for this purpose or look `here `_ to get the example of Tesseract installing for dedoc container or use next commands for building Tesseract OCR 5 from sources: @@ -89,14 +94,17 @@ to get the example of Tesseract installing for dedoc container or use next comma .. code-block:: bash - sudo add-apt-repository -y ppa:alex-p/tesseract-ocr-devel - sudo apt-get update --allow-releaseinfo-change - sudo apt-get install -y tesseract-ocr tesseract-ocr-rus - git clone --depth 1 --branch 5.0.0-beta-20210916 https://github.com/tesseract-ocr/tesseract/ - cd tesseract && ./autogen.sh && sudo ./configure && sudo make && sudo make install && sudo ldconfig && cd .. - export TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata/ + sudo add-apt-repository -y ppa:alex-p/tesseract-ocr-devel + sudo apt-get update --allow-releaseinfo-change + sudo apt-get install -y tesseract-ocr tesseract-ocr-rus + git clone --depth 1 --branch 5.0.0-beta-20210916 https://github.com/tesseract-ocr/tesseract/ + cd tesseract && ./autogen.sh && sudo ./configure && sudo make && sudo make install && sudo ldconfig && cd .. + export TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata/ + +.. _install_library_via_pip: 3. Install the dedoc library via pip. +************************************* To fulfil all the library requirements, you should have `torch~=1.11.0` and `torchvision~=0.12.0` installed. You can install suitable for you versions of these libraries and install dedoc using pip command: @@ -109,3 +117,61 @@ Or you can install dedoc with torch and torchvision included: .. code-block:: bash pip install "dedoc[torch]" + +Install and run dedoc from sources +---------------------------------- + +If you want to run dedoc as a service from sources. it's possible to run dedoc locally. +However, it isn't suitable for any operating system (Ubuntu 20+ is recommended) and +there may be not enough machine's resources for its work. +You should have `python` (python3.8, python3.9 are recommended) and `pip` installed. + +1. Install necessary packages: according to instructions :ref:`install_packages` + +2. Build Tesseract from sources according to instructions :ref:`install_tesseract` + +3. We recommend to install python's virtual environment (for example, via `virtualenvwrapper`) + +Below are the instructions for installing the package `virtualenvwrapper`: + + .. code-block:: bash + + sudo pip3 install virtualenv virtualenvwrapper + mkdir ~/.virtualenvs + export WORKON_HOME=~/.virtualenvs + echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.8" >> ~/.bashrc + echo ". /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc + source ~/.bashrc + mkvirtualenv dedoc_env + +4. Install python's requirements and launch dedoc service on default port `1231`: + + .. code-block:: bash + + # clone dedoc project + git clone https://github.com/ispras/dedoc.git + cd dedoc + # check on your's python environment + workon dedoc_env + export PYTHONPATH=$PYTHONPATH:$(pwd) + pip install -r requirements.txt + pip install torch=1.11.0 torchvision==0.12.0 -f https://download.pytorch.org/whl/torch_stable.html + python dedoc/main.py -c ./dedoc/config.py + + +Install trusted torch (verified version) +---------------------------------------------- + +You can install a trusted library `torch` (as a verified version of the library, verified by tools developed by the Ivannikov Institute for System Programming of the Russian Academy of Sciences). + +For `python3.9`: + .. code-block:: bash + + pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torch-1.11.0a0+git137096a-cp39-cp39-linux_x86_64.whl + pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torchvision-0.12.0a0%2B9b5a3fe-cp39-cp39-linux_x86_64.whl + +For `python3.8`: + .. code-block:: bash + + pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torch-1.11.0a0+git137096a-cp38-cp38-linux_x86_64.whl + pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torchvision-0.12.0a0%2B9b5a3fe-cp38-cp38-linux_x86_64.whl \ No newline at end of file From 6ce98558fbf4488fa6dc3a35608acbec6ff6b472 Mon Sep 17 00:00:00 2001 From: Alexander Golodkov <55749660+alexander1999-hub@users.noreply.github.com> Date: Wed, 6 Sep 2023 16:51:28 +0300 Subject: [PATCH 5/7] fixed examples directory (#324) * fixed examples directory * update readme * update installation.rst * update README --------- Co-authored-by: Alexander Golodkov Co-authored-by: Belyaeva Oksana --- README.md | 2 +- docs/source/getting_started/installation.rst | 24 +++++--- examples/README.md | 31 ++++++++++ examples/create_structured_document.py | 11 ++++ examples/create_unstructured_document.py | 39 +++++++----- examples/example.jpg | Bin 0 -> 30805 bytes examples/example_converter.py | 19 ------ examples/example_doc_parser.py | 14 ++--- examples/example_img_parser.py | 31 ++++++++++ examples/example_manager_input.py | 41 +++++++++---- examples/example_pdf_parser.py | 60 +++++++++++++++++++ examples/example_post.py | 2 + examples/example_with_text_layer.pdf | Bin 0 -> 6832 bytes examples/example_without_text_layer.pdf | Bin 0 -> 29056 bytes 14 files changed, 212 insertions(+), 62 deletions(-) create mode 100644 examples/README.md create mode 100644 examples/create_structured_document.py create mode 100644 examples/example.jpg delete mode 100644 examples/example_converter.py create mode 100644 examples/example_img_parser.py create mode 100644 examples/example_pdf_parser.py create mode 100644 examples/example_with_text_layer.pdf create mode 100644 examples/example_without_text_layer.pdf diff --git a/README.md b/README.md index 0d615b00..2a1e6d53 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Dedoc is in demand for information analytic systems, information leak monitoring The library is intended for application use by developers of systems for automatic analysis and structuring of electronic documents, including for further search in electronic documents. # Online-Documentation -Relevant documentation of the dedoc is available [here]((https://dedoc.readthedocs.io/en/latest/)) +Relevant documentation of the dedoc is available [here](https://dedoc.readthedocs.io/en/latest/) # Installation instructions **************************************** diff --git a/docs/source/getting_started/installation.rst b/docs/source/getting_started/installation.rst index 2186aab7..70373dfc 100644 --- a/docs/source/getting_started/installation.rst +++ b/docs/source/getting_started/installation.rst @@ -105,8 +105,8 @@ to get the example of Tesseract installing for dedoc container or use next comma 3. Install the dedoc library via pip. ************************************* -To fulfil all the library requirements, you should have `torch~=1.11.0` and `torchvision~=0.12.0` installed. -You can install suitable for you versions of these libraries and install dedoc using pip command: +You need `torch~=1.11.0` and `torchvision~=0.12.0` installed. +If you already have torch and torchvision in your environment: .. code-block:: bash @@ -155,7 +155,7 @@ Below are the instructions for installing the package `virtualenvwrapper`: workon dedoc_env export PYTHONPATH=$PYTHONPATH:$(pwd) pip install -r requirements.txt - pip install torch=1.11.0 torchvision==0.12.0 -f https://download.pytorch.org/whl/torch_stable.html + pip install torch==1.11.0 torchvision==0.12.0 -f https://download.pytorch.org/whl/torch_stable.html python dedoc/main.py -c ./dedoc/config.py @@ -164,14 +164,22 @@ Install trusted torch (verified version) You can install a trusted library `torch` (as a verified version of the library, verified by tools developed by the Ivannikov Institute for System Programming of the Russian Academy of Sciences). -For `python3.9`: - .. code-block:: bash +First you need to install two required packages.: - pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torch-1.11.0a0+git137096a-cp39-cp39-linux_x86_64.whl - pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torchvision-0.12.0a0%2B9b5a3fe-cp39-cp39-linux_x86_64.whl + .. code-block:: bash + + sudo apt-get install -y mpich intel-mkl + +Second you need to install torch and torchvision from built wheels: For `python3.8`: .. code-block:: bash pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torch-1.11.0a0+git137096a-cp38-cp38-linux_x86_64.whl - pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torchvision-0.12.0a0%2B9b5a3fe-cp38-cp38-linux_x86_64.whl \ No newline at end of file + pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torchvision-0.12.0a0%2B9b5a3fe-cp38-cp38-linux_x86_64.whl + +For `python3.9`: + .. code-block:: bash + + pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torch-1.11.0a0+git137096a-cp39-cp39-linux_x86_64.whl + pip install https://github.com/ispras/dedockerfiles/raw/master/wheels/torchvision-0.12.0a0%2B9b5a3fe-cp39-cp39-linux_x86_64.whl \ No newline at end of file diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 00000000..39938547 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,31 @@ +# Examples of document parsing with Dedoc + +This directory contains files with examples of using Dedoc to process different types of documents. + +It's worth starting with the `example_manager_input.py` file. It describes examples of document processing using the `DedocManager` class. +This is the easiest way, since this class automatically determines the format of the file being processed and calls the necessary readers. + +As shown in corresponding examples, you can create this manager with following lines: +``` +from dedoc.config import get_config +from dedoc import DedocManager + +manager = DedocManager(config=get_config()) +``` +And after that you can get parsed document with one simple line, just replace `"your_file_name"` with the path to your chosen file: +``` +parsed_document = manager.parse(file_path="your_file_name") +``` +To get more information, look at Dedoc usage tutorial. + +If you want to call a specific parser, you can look at some examples in this directory. File `example_doc_parser.py` shows how you can use `DocxReader`, +`example_pdf_parser.py` shows examples with PDF file parsing. In order to parse img-like file you can call `PdfImageReader` like it's shown in +`example_img_parser.py`. + +Also you can look at the example of using a post-request to parse documents while Dedoc container is working. This example is written in `example_post.py`. + +You can check an example like this: +```bash +cd examples +python create_structured_document.py +``` \ No newline at end of file diff --git a/examples/create_structured_document.py b/examples/create_structured_document.py new file mode 100644 index 00000000..0a4d468d --- /dev/null +++ b/examples/create_structured_document.py @@ -0,0 +1,11 @@ +# noqa +from create_unstructured_document import unstructured_document +from dedoc.structure_constructors import TreeConstructor + +# to create structured document you can use TreeConstructor and apply it to unstructured document +# in this example we'll use unstructured_document from create_unstructured_document.py +structure_constructor = TreeConstructor() +parsed_document = structure_constructor.structure_document(document=unstructured_document, + structure_type="tree") + +print(parsed_document.to_dict()) diff --git a/examples/create_unstructured_document.py b/examples/create_unstructured_document.py index a8c327d1..de27cd87 100644 --- a/examples/create_unstructured_document.py +++ b/examples/create_unstructured_document.py @@ -1,12 +1,13 @@ +# noqa # in this example we create UnstructuredDocument, lets construct document corresponding to example.docx -from dedoc.data_structures import LineWithMeta -from dedoc.data_structures import ParagraphMetadata -from dedoc.data_structures import Table +from dedoc.data_structures import LineMetadata, Table, UnstructuredDocument from dedoc.data_structures import TableMetadata - +from dedoc.data_structures import LineWithMeta # First of all lets create some table, table consist of cells (list of rows, and row is a list of strings -from dedoc import HierarchyLevel +from dedoc.data_structures import HierarchyLevel +from dedoc.metadata_extractors import BaseMetadataExtractor + table_cells = [ ["N", "Second name", "Name", "Organization", "Phone", "Notes"], @@ -15,7 +16,7 @@ # table also has some metadata, lets assume that our table is on first page table_metadata = TableMetadata(page_id=0) -# finally lets build table +# let's build table table = Table(cells=table_cells, metadata=table_metadata) # Documents also contain some text. @@ -23,13 +24,7 @@ # but unstructured document consist of flat list of lines with text and metadata # hierarchy structure hidden in HierarchyLevel attribute of LineWithMeta # lets build firs line, it is document tree root: -text = "DOCUMENT TITLE" -metadata = ParagraphMetadata( - paragraph_type="title", - predicted_classes=None, - page_id=0, - line_id=0 -) + # hierarchy level define position of this line in document tree. hierarchy_level = HierarchyLevel( @@ -42,8 +37,14 @@ # if can_be_multiline is true than several lines in a row with same level_1, level_2 and paragraph_type # will be merged in one tree node can_be_multiline=True, - paragraph_type="title" + line_type="header" ) +text = "DOCUMENT TITLE" +metadata = LineMetadata(page_id=0, + line_id=1, + tag_hierarchy_level=None, + hierarchy_level=hierarchy_level, + other_fields=None) # Annotations: one may specify some information about some part of the text, for example that some word # written in italic font. @@ -51,11 +52,14 @@ line1 = LineWithMeta( line=text, - hierarchy_level=hierarchy_level, metadata=metadata, annotations=annotations ) +unstructured_document = UnstructuredDocument(tables=[table], + lines=[line1], + attachments=[]) + # I hope you understand some concepts of the LineWithMeta, but you may ask why it need level_1 and level_2 # parameters. Why is only level_1 not enough. Imagine that we have lists like these: # 1. 1.1. 1.2.1.1. and so on, It may be difficult to restrict the length of the list with @@ -63,3 +67,8 @@ # HierarchyLevel(1, 1) for 1. # HierarchyLevel(1, 2) for 1.1. # HierarchyLevel(1, 4) for 1.2.1.1. and so on +unstructured_document = BaseMetadataExtractor().add_metadata(document=unstructured_document, + directory="./", + filename="example.docx", + converted_filename="example.doc", + original_filename="example.docx") diff --git a/examples/example.jpg b/examples/example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..afd13dc27603df2e84390d67676e45b11866b222 GIT binary patch literal 30805 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 RQ9PA`#c8i!Z)In#{ZH}`AJ_l@ literal 0 HcmV?d00001 From cef05018cfcdeeda929c7deea434b6039ffb149a Mon Sep 17 00:00:00 2001 From: Andrew Perminov Date: Wed, 6 Sep 2023 17:22:10 +0300 Subject: [PATCH 6/7] new version 0.11.2 (#327) --- VERSION | 2 +- docs/source/changelog.rst | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 027934ea..a8839f70 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.11.1 \ No newline at end of file +0.11.2 \ No newline at end of file diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index a300853f..d991dabe 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -1,6 +1,17 @@ Changelog ========= +v0.11.2 (2023-09-06) +-------------------- +Release note: `v0.11.2 `_ + +* Remove plexus-utils-1.1.jar. +* Update installation documentation. +* Add documentation for Tesseract OCR installation. +* Add documentation for annotations. +* Add documentation for secure torch. +* Fix examples. + v0.11.1 (2023-08-30) -------------------- Release note: `v0.11.1 `_ From 1f541bfda2b38707dafd8fe082e3d0525e435394 Mon Sep 17 00:00:00 2001 From: Andrew Perminov Date: Wed, 6 Sep 2023 17:43:19 +0300 Subject: [PATCH 7/7] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 2a1e6d53..02b9cb26 100644 --- a/README.md +++ b/README.md @@ -130,8 +130,7 @@ export TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata/ ## Install the dedoc library via pip. -To fulfil all the library requirements, you should have `torch~=1.11.0` and `torchvision~=0.12.0` installed. -You can install suitable for you versions of these libraries and install dedoc using pip command: +You need torch~=1.11.0 and torchvision~=0.12.0 installed. If you already have torch and torchvision in your environment: ```bash pip install dedoc