# Upload Data

## Upload Method

You can check the following data in the Dashboard data area.

* Data automatically uploaded through [**API integration**](/nlu-api-dashboard/getting-started/data-integration.md)&#x20;
* Data uploaded directly **via File uploading**
* Data uploaded directly through **Sentence input**&#x20;

{% hint style="info" %}
There are three upload methods, but they can all be browsed in one data area on Dashboard page.
{% endhint %}

<figure><img src="/files/76drcc0P8gNUvjtMzByk" alt=""><figcaption><p>GNB > Dashboard</p></figcaption></figure>

## Upload Data Settings&#x20;

When uploading a file, you can choose whether to use the data as training or test data in advance. By selecting the Train/Test option and uploading the file, the dashboard will be presented with the toggle on for each option.

#### RANDOM Setting&#x20;

If you select the RANDOM option when uploading a file, you can enter a percentage (%). Among the data in the file, the percentage entered (e.g. 20%) is randomly set as test data, and the remaining percentage (e.g. 80%) is set as training data.

<figure><img src="/files/cUXHIYiU8PpHvByhdQqf" alt=""><figcaption><p>GNB > Dashboard (&#x26; Inference) > Upload Phrases dialog</p></figcaption></figure>

After the upload is complete, you can check the Train/Test setting (toggle) status of each data in the dashboard.

### &#x20;Supported Upload Files

You can upload JSON, TXT/TSV, and XLSX files.

<figure><img src="/files/tFXxcCJFCliaLROwS6vY" alt=""><figcaption><p>GNB > Dashboard (&#x26; Inference) > Upload Phrases dialog</p></figcaption></figure>

## 

## Guide and examples&#x20;

### Review Analysis

#### JSON

```
{
    {'text': 'hello Mom', "review_sentiments": [{"category":"만족도", "sentiment":'1'}]},
    {'text': 'hello kid', "review_sentiments": [{"category":"delicious", "sentiment":'1'}]},
    {'text': "what's dinner?",},
    {'text': 'chicken dinner!',}
}    
```

#### TXT/TSV

* If category tags exist, a header must be included (as in the first example).&#x20;
  * The text (classification target) must be located at the very beginning.&#x20;
* If category tags do not exist, the header can be omitted (as in the second example).&#x20;
* The data should be separated by tabs.

```
REVIEW\t Satisfaction\t Price
Very tasty and affordable\t2\t2
I would like to eat again later\t2\t1

Very tasty and affordable
I would like to eat again later
```

#### XLSX

* The order of the columns does not matter.&#x20;
* The sentiment must be one of the following values: -2, -1, 0, 1, or 2.

```
|REVIEW| category |sentiment|
|------|----------|---------|
|hello |  PRICE   |   1     |
|myhome|  LENGTH  |   2     |
|dinner|  MATERIAL|   -1    |


|    REVIEW    |
|--------------|
|hello friends!|
```

###

### NER

#### JSON

```
{
    {'text': 'hello Mom',
     "entities":[{"tag": {"name": "family"}, "start": 6, "end": 9, "token": "Mom"}]},
    {'text': 'hello kid'}
}
```

#### XLSX

* Column names must be specified. The order of column names does not matter.&#x20;
  * The column names are \["PHRASE", "TOKEN", "START", "END", "TAG", "NO"]
  * The order of column names does not matter.&#x20;
* 'NO' is an optional column.

```
|PHRASE.      |TOKEN|START|END|TAG.                  |NO|
|-------------|-----|-----|---|----------------------|--|
|hello mom.   |mom  | 6   | 8 |{'name':'family'}     |2 |
```

###

###

### Text Classification

#### JSON

```
{
    {'text': 'hello Mom', 'intent': {'name': 'good'}},
    {'text': 'hello kid'}
} 
```

#### TXT/TSV

* There are no column names.&#x20;
* The data can be in either the \[text] or \[intent, text] format.&#x20;
  * If intent is present, it should be placed before text.&#x20;
  * Both of the following formats are valid:
* <pre><code><strong>GOOD So Good
  </strong>BAD So Bad

  So Good
  So Bad
  </code></pre>

#### XLSX

* There are no specific column names required.&#x20;
* It can be either in the form of \[text] or \[intent, text].&#x20;
* Both examples below are valid.

```
|GOOD|hello mom!!|
|GOOD|hello dad!!|
|BAD|get out bob!!|

|hello mom!!|
|hello dad!!|
```

###

### Tree Classification

#### JSON

```
{
    {'text': 'hello Mom!!',
     'tree_classes': [
         {'category': 'Large Category', 'value': 'Mom'},
         {'category': 'Medium Category', 'value': 'Woman'},
         {'category': 'Small Category', 'value': '50'}
     ]
    }
    {'text': 'hello kid'},
}
```

#### TXT/TSV

* If there are category tags, there must be a header (first example).&#x20;
  * The text (classification target) must be located at the very beginning.&#x20;
* If there are no category tags, the header can be omitted (second example).&#x20;
* The data is separated by a tab.

```
TREE\t Satisfaction\t Price
There are a lot of people \t1\t1
it's delicious even though I have to wait a bit. \t2\t2

There are a lot of people 
it's delicious even though I have to wait a bit.
```

#### XLSX

* Column names must exist and the following order must be followed:&#x20;
  * TEXT - Large category - Medium category - Small category

```
|TEXT	    |  Large Category  |  Medium Category  |  Small Category. |
|hello Mom. |          1       |          2        |          3.      |
|hello kid. |       Company    |      Engineer     |  New Employee.   |
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.allganize.ai/nlu-api-dashboard/data-management/upload-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
