> ## Documentation Index
> Fetch the complete documentation index at: https://sensible.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# NLP table extraction tips

This Sensible Instruct method extracts a table in a document based on your description of the table title and each of its column headers.

**Prompt Tips**

* Extract all columns to get the best results. If you describe only a few of the columns, your results may be less accurate.
* Use the table titles or table column headers in the document as descriptions.
* For more information about how to write descriptions, or "prompts", see [Query Group](/llm-based-extractions/prompt-tips/query-group-tips).
* For advanced options, see [Advanced prompt configuration](/llm-based-extractions/prompt).

## Examples

### Example 1

The following example shows using the NLP Table method to extract data from a bank statement:

![Click to enlarge](https://mintlify.s3-us-west-1.amazonaws.com/sensible/assets/v0/images/screenshots/quickstart_instruct_4.png)

To try out this example in the Sensible app, take the following steps:

1. Navigate to the following example document:\
   \| Example document | [https://app.sensible.so/editor/instruct/?d=sensible\_instruct\_basics\&c=bank\_statement\&g=bank\_statement](https://app.sensible.so/editor/instruct/?d=sensible%5Finstruct%5Fbasics\&c=bank%5Fstatement\&g=bank%5Fstatement) |

2. Create fields to extract data using the following table:

| Field name                    | Method    | Overall table description     | Column IDs and descriptions                                                                            |
| ----------------------------- | --------- | ----------------------------- | ------------------------------------------------------------------------------------------------------ |
| savings\_transaction\_history | NLP Table | "savings transaction history" | **date** <br />- "date"**description** <br />- "description without totals"**amount** <br />- "amount" |

Click the **Send** icon for each column.

3. To verify the extracted data, scroll down in the right pane and compare the **Extracted data** section to the document in the left pane:

![Click to enlarge](https://mintlify.s3-us-west-1.amazonaws.com/sensible/assets/v0/images/screenshots/quickstart_instruct_5.png)

4. (**Optional**) To standardize the representation of the extracted dates and dollar amounts, configure `date` and `currency` types as shown in the following screenshots:

![Click to enlarge](https://mintlify.s3-us-west-1.amazonaws.com/sensible/assets/v0/images/screenshots/quickstart_instruct_6.png)

You should see that the formatting of the extracted data changes according to the types you specified. For example, Sensible reformats the date `04/11/23` to a standardized output format, `2023-04-11`:

![Click to enlarge](https://mintlify.s3-us-west-1.amazonaws.com/sensible/assets/v0/images/screenshots/quickstart_instruct_7.png)

### Example 2

The following example shows using the NLP Table method to extract data from an auto insurance document:

![Click to enlarge](https://mintlify.s3-us-west-1.amazonaws.com/sensible/assets/v0/images/screenshots/nlp_table_instruct.png)

To try out this example in the Sensible app, take the following steps:

1. Download the following example document:\
   \| Example document | [Download link](https://raw.githubusercontent.com/sensible-hq/sensible-docs/main/readme-sync/assets/v0/pdfs/nlp%5Ftable.pdf) |

2. Create a test document type in the Sensible app, then click the document type you created to edit it. In the document type's **Reference documents** tab, upload the example document you downloaded in a previous step.

3. Click the document type's **Configurations** tab, create a new test configuration, and click the configuration you created to edit it.

4. Click **Sensible Instruct** and create prompts to extract data using the following table:

| Field name               | Method    | Overall table description            | Column IDs and descriptions                                                                                     |
| ------------------------ | --------- | ------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| insured\_vehicles\_table | NLP Table | "insured vehicles"                   | **manufacturer** <br />- "vehicle make (not model)"**year** <br />- "year of manufacture"                       |
| transactions\_table      | NLP Table | "transactions for insurance account" | **transaction\_date** <br />- "transaction date."**transaction\_description** <br />- "transaction description" |

For example, use the following screenshot as a guide for configuring the `insured_vehicles_table` field:

![Click to enlarge](https://mintlify.s3-us-west-1.amazonaws.com/sensible/assets/v0/images/screenshots/nlp_table_instruct_2.png)

## Notes

For the full reference for this method in SenseML, see [NLP Table](/senseml-reference/llm-based-methods/nlp-table).
