데이터 처리 방법
데이터 소스에 연결할 때 Discovery 는 데이터 소스의 정보를 처리하여 콜렉션을 작성합니다.
데이터 소스를 처리하는 목적은 의미 있는 정보를 식별하고 나중에 정보를 쉽게 찾고 검색할 수 있도록 콜렉션에 추가될 때 태그를 지정하는 것입니다.
모든 데이터 소스에 적용되는 처리에는 다음 단계가 포함됩니다.
- 데이터 소스에서 개별 문서 식별
- 문서에서 필드 찾기
- 필드 색인화
필드 관리 페이지에서 색인화된 필드 목록을 볼 수 있습니다.
-
콜렉션 관리 페이지로 이동한 후 콜렉션을 선택하십시오.
콜렉션 처리가 먼저 완료되었는지 확인하십시오. 활동 페이지에 처리 상태가 표시됩니다.
-
필드 관리 탭을 클릭합니다.
표시되는 필드는 데이터에 따라 다를 수 있습니다. 그러나 필드의 한 서브세트가 항상 나열됩니다. footer
및 header
와 같은 이름을 갖는 이러한 필드는 SDU (Smart Document Understanding) 도구에서 파생되며, 콜렉션에 SDU 모델을 명시적으로 적용하지 않는 경우에도 나열됩니다. (SDU 생성 필드의 전체 목록은 사용 가능한 필드 를 참조하십시오.) 데이터 유형이 지정된 필드만 콜렉션의 인덱스에 저장됩니다.
색인에 저장되는 SDU 생성 필드 중 하나는 text
필드입니다. text
필드에는 일반적으로 원본 문서의 기본 텍스트 본문이 포함되어 있습니다. 개선 및 사용자 정의 페이지에서 제출하는 검색 결과에 리턴되는 대부분의 컨텐츠는 이 하나의 필드에서 시작됩니다. 이 필드에서 관련 정보 청크만 구문 분석하고 리턴하는 방법은 프로젝트에서 사용되는 조회 결과 구성에 따라 결정됩니다.
자세한 정보는 기본 조회 결과 미리보기 를 참조하십시오.
처리가 많을수록 필드가 더 추가됩니다. 또한 프로젝트 유형에 따라 추가 처리가 자동으로 적용됩니다. 콜렉션의 문서에서 프로세스가 실행되면 프로세스와 연관된 정보를 저장하기 위해 추가 필드가 추가됩니다. 예를 들어, 기본 제공 엔티티 인리치먼트가 콜렉션에 적용되면 enriched_{field_name}.entities
로 시작하는 이름의 필드를 콜렉션의 문서에 추가하는 프로세스를 시작합니다.
- 기본적으로 적용되는 인리치먼트에 대한 자세한 정보는 기본 프로젝트 설정 을 참조하십시오.
필드 처리 방법
대부분의 구조화되지 않은 파일 유형의 경우 파일의 대량 컨텐츠가 text
필드에 추가됩니다. 고유 데이터 구조가 있는 파일 유형 (예: JSON 파일) 의 경우 소스 파일의 이름을 사용하여 컨텐츠가 저장되는 필드의 이름을 지정합니다. 이 유형의 파일을 업로드할 때 필드에 대해 존재하는 몇 가지 이름 지정 제한사항에 유의하십시오.
다음 필드 이름은 특별한 의미를 가집니다. 가능하면 구조화된 소스 파일에서 이러한 이름을 사용하지 마십시오.
document_id
highlight
html
metadata
parent_document_id
result_metadata
score
spans
다음 조건을 충족하는 필드 이름을 사용하지 마십시오. 이러한 제한된 문자가 있는 필드 이름은 조회되지 않습니다.
_
,+
및-
문자로 시작하십시오. 예:+extracted-content
..
,,
,#
,?
,(
,)
또는:
문자 또는 공백을 포함합니다. 예를 들어,extracted content
또는new:extracted-content
입니다.- 숫자로 끝납니다 (예:
extracted-content2
).
Discovery에서 문서를 처리하려면 콜렉션의 모든 문서에 특정 필드에 대해 동일한 데이터 유형이 있어야 합니다. 특정 필드의 데이터 유형이 문서마다 다른 경우 필드 인덱싱 프로세스가 실패하고 콜렉션에 대한 활동 페이지의 경고 및 오류 개요 섹션에 오류 메시지 인덱싱 실패가 표시됩니다.
HTML 필드
문서 인덱스의 html
필드는 문서에 대한 구조 정보를 저장합니다.
- Smart Document Understanding 도구를 사용하여 콜렉션에 어노테이션을 작성하는 경우 문서 표시가
html
필드에서 색인화됩니다. - Smart Document Understanding 도구를 사용하여 사전 훈련된 모델을 콜렉션에 적용하는 경우 문서 표시는
html
필드 및text
필드 모두에서 색인화됩니다. html
필드에는 크기 제한이 있습니다. 자세한 정보는 필드 한계 를 참조하십시오.
데이터 개선에 대한 참고:
- 문서의 테이블을 이해할 수 있는 인리치먼트를 적용하려면 문서에
html
필드가 포함되어야 합니다.
날짜 처리 방법
날짜는 다른 파일 유형별로 다른 방식으로 캡처됩니다.
- 구조화되지 않은 파일
-
구조화되지 않은 데이터가 있는 문서의 본문에서 날짜 정보를 캡처하는 가장 좋은 방법은 자연어 처리 모델 인리치먼트를 사용하는 것입니다. 예를 들어, 사전 빌드된 엔티티 인리치먼트는
text
필드 (또는 데이터 유형이String
인 기타 본문 필드) 에서 날짜를 인식하고 어노테이션을 작성합니다. 인리치먼트가 적용되는 문서에서enriched_{fieldname}.entities.type
=Date
로 레이블 지정된 필드를 찾아 날짜를 찾을 수 있습니다.Dates from metadata date fields, such as
extracted_metadata.publicationdate
, are stored in the index as dates as long as the date format matches one of the supported date data type formats. You can't see nested fields from the Manage fields page. And when you view a search result as JSON, date field values are displayed as string values because the JSON editor shows the date as a string. However, values from date fields behave like dates. You can use greater than (>
) or less than (<
) operators with such fields in Discovery Query Language queries, for example. - 구조화된 파일
-
가져오는 구조 파일 (예: CSV 또는 JSON 파일) 에는 날짜 데이터 유형으로 저장할 날짜 필드가 포함될 수 있습니다. Discovery 는 여러 날짜 형식을 인식할 수 있습니다. 그러나 목록에 형식을 추가해야 할 수도 있습니다. 자세한 정보는 날짜 형식 설정을 참조하십시오.
날짜 형식 설정
문서에 날짜 정보가 있는 루트 레벨 필드가 있는 경우 필드를 색인의 Date
데이터 유형 필드로 설정할 수 있습니다.
Discovery 는 다음 날짜 형식을 자동으로 인식합니다.
yyyy-MM-dd'T'HH:mm:ssZ
yyyy-MM-dd'T'HH:mm:ssXXX
yyyy-MM-dd'T'HH:mm:ss.SSSZ
yyyy-MM-dd'T'HH:mm:ss.SSSX
yyyy-MM-dd
M/d/yy
yyyyMMdd
yyyy/MM/dd
날짜를 다른 형식으로 저장하는 경우 지원되는 형식 목록에 형식을 추가할 수 있습니다.
더 많은 날짜 형식을 추가하려면 다음 단계를 완료하십시오.
-
콜렉션의 필드 관리 페이지에서 날짜 형식 필드에 형식을 새 행으로 추가하십시오.
Java SimpleDateFormat 클래스에서 지원되는 날짜 형식을 지정합니다.
예를 들어, 레코드가 날짜의 연도 값만 저장하는 경우 지원되는 날짜 형식 목록에
yyyy
를 추가하십시오. 그런 다음 연도 값을 포함하는 필드의 데이터 유형을 날짜로 설정하고 콜렉션을 다시 처리할 수 있습니다. 결과적으로 날짜 필드에서2019
의 발생은 색인에2019-01-01T05:00:00Z
로 저장됩니다.날짜 형식을 추가할 때 날짜에 대한 연관된 시간대를 지정해야 합니다.
-
시간대를 지정하십시오.
-
선택적으로 날짜 로케일을 선택하십시오.
선택하는 로케일은 날짜 유형 데이터 세트 필드의 날짜를 나타내는 문자열 값을 구문 분석하는 데 사용됩니다. 예를 들어,
EEE, MM dd, yyyy
형식을 사용하면 영어(미국) 로캘은"Wednesday, 07 01, 2020"
의 문자열 값을 구문 분석할 수 있고, 일본어(일본) 로캘은"水曜日, 07 01, 2020"
의 동일한 문자열 값을 구문 분석할 수 있습니다. -
인식되지 않은 형식의 날짜가 있는 문서를 이미 가져온 경우 문서를 다시 처리하십시오.
Discovery 는 텍스트 필드 내에서 색인에 날짜 필드로 언급된 날짜를 저장할 수 없습니다. 그러나 엔티티 인리치먼트와 같은 인리치먼트를 사용하여 텍스트에서 언급되는 날짜를 식별할 수 있습니다.
파일 유형 처리 방법
문서를 업로드할 때 파일의 데이터가 색인화됩니다. 다른 파일 유형은 Discovery에 의해 다르게 처리됩니다.
CSV 파일
데이터 추가에 대한 참고사항:
-
CSV 파일에 정의된 각 행은 각각 동일한
parent_document_id
가 있는 별도의 문서로 색인에 추가됩니다.하위 문서에는 일반적으로 구문이
{parent-ID}_n
인 문서 ID가 있습니다. 여기서 {parent-ID} 는 추가된 원래 파일의 문서 ID이고 n 은 순차 번호입니다. 예를 들어, 5개의 행이 있는 CSV 파일을 업로드하는 경우 5개의 문서가 문서 ID (예:f5214225c1e03e25190ffcdfad8e84ff_0
-f5214225c1e03e25190ffcdfad8e84ff_4
) 를 사용하여 콜렉션에 추가됩니다. -
CSV 파일에 대해 OCR (Optical Character Recognition) 기능을 사용으로 설정할 수 없습니다.
-
CSV 파일에 헤더가 있는 경우 헤더 이름을 사용하여 해당 열의 컨텐츠가 저장되는 필드의 이름을 지정합니다. Discovery에서 특별한 의미가 있는 이름을 사용하지 마십시오. 필드 이름이 이름 지정 규칙을 준수하는지 확인하십시오 (예: 공백 및 추가된 숫자 없음). 예를 들어, 파일을 추가하기 전에
start date
헤더의 이름을start_date
로 바꾸고label1
의 이름을label-one
로 바꿀 수 있습니다. 자세한 정보는 필드 처리 방법 을 참조하십시오. -
CSV 파일 헤더 이름에 제한된 문자가 포함된 경우 문서 변환기는 결과 필드를 색인에 추가할 때 필드 이름에서 제한된 문자를 자동으로 제거합니다.
데이터 개선에 대한 참고:
- 사전 빌드되거나 사용자 훈련된 Smart Document Understanding 모델을 CSV 파일에 적용할 수 없습니다.
HTML 파일
HTML 파일을 업로드하거나 웹 사이트와 같은 HTML 파일이 있는 데이터 소스를 크롤링하는 경우 text
필드와 함께 html
필드가 생성됩니다. 자세한 정보는 HTML 필드 를 참조하십시오.
JSON 파일
데이터 추가에 대한 참고사항:
-
소스 JSON 파일의 오브젝트 이름은 컨텐츠가 저장되는 필드의 이름을 지정하는 데 사용됩니다. Discovery에서 특별한 의미가 있는 이름을 사용하지 마십시오. 이름이 이름 지정 규칙을 준수하는지 확인하십시오 (예: 공백 및 추가된 숫자 없음). 예를 들어, 파일을 추가하기 전에
updated on
오브젝트의 이름을updated_on
로 바꾸고answer2
의 이름을answer-two
로 바꿀 수 있습니다. 자세한 정보는 필드 처리 방법 을 참조하십시오. -
루트 레벨 필드가 배열이지만 항목을 포함하지 않는 경우 필드는 색인에서 생략됩니다.
-
루트 레벨 필드가 배열이고 하나의 항목만 포함하는 경우, 배열은 한 항목의 데이터 유형으로 색인화됩니다. 예를 들어, 하나의 문자열이 있는 문자열 배열은 문자열로 색인화됩니다.
-
중첩된 필드에 배열이 있는 경우, 배열에 하나의 값만 있는 경우에도 배열로 색인화됩니다.
-
루트 레벨 필드가 배열이고 둘 이상의 항목을 포함하는 경우 데이터는 배열로 색인화됩니다.
-
Discovery 에서 생성된 JSON을 복사한 후 이를 JSON 파일로 업로드하는 경우 먼저 파일에서 다음 시스템 생성 필드를 제거하십시오.
document_id
,parent_document_id
,filename
및title
. -
JSON 파일에 대해 OCR (Optical Character Recognition) 기능을 사용으로 설정할 수 없습니다.
-
소스 문서에 이름이
document_id
인 필드가 있는 경우 필드를 건너뛰고 콜렉션의 인덱스에 추가되지 않습니다.JSON 파일의
document_id
필드가 API의2023-03-31
버전 업데이트로 변경되어 처리되는 방법입니다. 업데이트 전에 제품 사용자 인터페이스에서 JSON 파일을 업로드하거나 API를 사용하여 문서 추가 메소드로 추가할 때 파일의document_id
필드에 있는 값이 조회 결과에서document_id
값으로 표시되었습니다. 그러나 다른 문서 ID가 지정되어parent_document_id
필드에 저장되었습니다. 지정된 문서 ID는 문서 목록 메서드를 호출할 때 반환된 것으로, 문서 삭제 메서드 요청 의 엔드포인트 URL 에서 매개변수(document_id
)로 사용해야 하는 것입니다. 문서 업데이트 메소드를 사용하여 새document_id
를 지정한 경우, 원래 ID가 계속해서 조회 결과에 리턴됩니다. 그러나 문서를 삭제하려면 지정된 ID를 사용해야 합니다. 이전 동작에 의존하는 애플리케이션이 있는 경우 API 호출에서 2023-03-31이전의 버전 번호 (예:2020-08-30
) 를 지정할 수 있습니다.
데이터 개선에 대한 참고사항:
-
사전 빌드되거나 사용자 훈련된 Smart Document Understanding 모델을 JSON 파일에 적용할 수 없습니다.
-
JSON 파일에서 필드에 인리치먼트를 적용하면 필드 데이터 유형이 배열로 변환됩니다. 이 필드는 단일 값을 포함하는 경우에도 배열로 변환됩니다. 예를 들어, "field1": "Discovery" 는 "field1": ["Discovery"]가 됩니다.
-
JSON 파일에서 사용자 정의 필드의 처음 50 ,000자만 강화됩니다.
-
Part of Speech (POS) 인리치먼트가 자동으로 적용되는 프로젝트 유형에서 인리치먼트는 콜렉션에 추가되는 첫 번째 JSON 파일에 있는 대량의 파일 컨텐츠를 포함하는 필드에 적용됩니다. 이 필드는 다음 규칙으로 판별됩니다.
- 필드 이름이
text
인 경우 POS 강화가 적용됩니다. - 문자열 값이 가장 길고 고유 값 수가 가장 많은 필드가 선택됩니다.
- 둘 이상의 필드가 이전 조건을 충족하는 경우 필드 중 하나가 무작위로 선택됩니다.
- 필드 이름이
-
중첩된 필드에 인리치먼트를 적용하려면 컨텐츠 마이닝 프로젝트를 작성한 후 필드에 인리치먼트를 적용해야 합니다. 컨텐츠 마이닝 이외의 프로젝트 유형을 사용하려는 경우 컨텐츠 마이닝 프로젝트 유형으로 작성한 콜렉션을 다른 곳에서 재사용할 수 있습니다. 자세한 정보는 인리치먼트 적용 을 참조하십시오.
API의 콜렉션 업데이트 메소드에서 normalizations
및 conversions
오브젝트를 지정하여 JSON 필드를 이동하거나 병합할 수 있습니다.
단락이 파생되는 방법
Discovery 는 정교한 알고리즘을 사용하여 조회에서 리턴되는 모든 문서에서 최상의 텍스트 구절을 판별합니다. 단락은 기본적으로 문서당 리턴됩니다. 이는 각 문서 조회 결과 내에서 섹션으로 표시되며 통과 관련성에 따라 정렬됩니다.
Discovery 는 문장 경계 발견을 사용하여 전체 문장을 포함하는 구절을 선택합니다. 대략 길이가 200자인 단락을 검색한 후 길이가 두 배인 컨텐츠 청크를 보고 전체 문장을 포함하는 단락을 찾습니다. 문장 경계 발견은 모든 지원되는 언어에 적용되고 언어별 로직을 사용합니다.
대화식 검색을 제외한 모든 프로젝트 유형의 경우, 표시 사용자 정의 > 검색 결과 페이지에서 검색 결과에 구절이 표시되는 방법을 변경할 수 있습니다. 예를 들어, 문서당 표시되는 구절 수 및 구절당 최대 문자 크기를 구성할 수 있습니다.