Main Content

텍스트 분석을 위한 데이터 세트

이 페이지에는 텍스트 분석 응용 작업을 시작할 때 사용할 수 있는 다양한 데이터 세트가 나열되어 있습니다.

데이터 세트설명작업

Factory Reports

Factory Reports 데이터 세트는 약 500개의 보고서로 구성된 테이블로, 변수 Description에는 일반 텍스트 설명, 변수 Category에는 범주 레이블이 들어 있으며 이외에도 여러 다양한 특성이 포함되어 있습니다.

파일 "factoryReports.csv"에서 Factory Reports 데이터를 읽어옵니다. Description 열과 Category 열에서 각각 텍스트 데이터와 레이블을 추출합니다.

filename = "factoryReports.csv";
data = readtable(filename,'TextType','string');

textData = data.Description;
labels = data.Category;

딥러닝을 위해 이 데이터를 처리하는 방법을 보여주는 예제는 딥러닝을 사용하여 텍스트 데이터 분류하기 (Deep Learning Toolbox) 항목을 참조하십시오.

텍스트 분류, 토픽 모델링

셰익스피어의 소네트

파일 sonnets.txt에는 셰익스피어의 모든 소네트가 하나의 텍스트 파일에 들어 있습니다.

파일 "sonnets.txt"에서 셰익스피어의 소네트 데이터를 읽어옵니다.

filename = "sonnets.txt";
textData = extractFileText(filename);

소네트는 공백 문자 2개로 들여쓰기 되어 있고 새 줄 문자 2개로 구분되어 있습니다. replace를 사용하여 들여쓰기를 제거하고 split을 사용하여 텍스트를 구분된 소네트로 분할합니다. 처음 세 개의 요소에서 주 제목을 제거하고 각 소네트 앞에 나타나는 소네트 제목을 제거합니다.

textData = replace(textData,"  ","");
textData = split(textData,[newline newline]);
textData = textData(5:2:end);

딥러닝을 위해 이 데이터를 처리하는 방법을 보여주는 예제는 딥러닝을 사용하여 텍스트 생성하기 (Deep Learning Toolbox) 항목을 참조하십시오.

토픽 모델링, 텍스트 생성

ArXiv 메타데이터

ArXiv API로 https://arxiv.org에 제출된 과학 분야 전자 연구물(초록과 관련 주제 영역이 포함되어 있음)의 메타데이터에 액세스할 수 있습니다. 자세한 내용은 https://arxiv.org/help/api 항목을 참조하십시오.

arXiV API를 사용하여 수학 논문에서 초록과 범주 레이블 집합을 가져옵니다.

url = "https://export.arxiv.org/oai2?verb=ListRecords" + ...
    "&set=math" + ...
    "&metadataPrefix=arXiv";
options = weboptions('Timeout',160);
code = webread(url,options);

반환된 XML 코드를 구문 분석하고 레코드를 추가로 가져오는 방법을 보여주는 예제는 Multilabel Text Classification Using Deep Learning 항목을 참조하십시오.

텍스트 분류, 토픽 모델링

Project Gutenberg 도서 자료

Project Gutenberg에서 다양한 도서를 다운로드할 수 있습니다. 예를 들어 webread 함수를 사용하여 https://www.gutenberg.org/files/11/11-h/11-h.htm에서 루이스 캐럴의 이상한 나라의 앨리스 텍스트를 다운로드할 수 있습니다.

url = "https://www.gutenberg.org/files/11/11-h/11-h.htm";
code = webread(url);

HTML 코드의 <p>(단락) 요소에 관련 텍스트가 들어 있습니다. htmlTree 함수로 HTML 코드를 구문 분석한 후 요소 이름 "p"를 갖는 모든 요소를 찾아 관련 텍스트를 추출합니다.

tree = htmlTree(code);
selector = "p";
subtrees = findElement(tree,selector);

extractHTMLText 함수를 사용하여 HTML 하위 트리에서 텍스트 데이터를 추출하고 빈 요소를 제거합니다.

textData = extractHTMLText(subtrees);
textData(textData == "") = [];

딥러닝을 위해 이 데이터를 처리하는 방법을 보여주는 예제는 딥러닝을 사용하여 단어 단위로 텍스트 생성하기 항목을 참조하십시오.

토픽 모델링, 텍스트 생성

Weekend updates

파일 weekendUpdates.xlsx에는 해시태그 "#weekend"와 "#vacation"이 포함된 소셜 미디어 상태 업데이트의 예제가 들어 있습니다.

readtable 함수를 사용하여 파일 weekendUpdates.xlsx에서 텍스트 데이터를 추출하고, 변수 TextData에서 텍스트 데이터를 추출합니다.

filename = "weekendUpdates.xlsx";
tbl = readtable(filename,'TextType','string');
textData = tbl.TextData;

이 데이터를 처리하는 방법을 보여주는 예제는 텍스트에 내포된 감성 분석하기 항목을 참조하십시오.

감성 분석

Roman Numerals

CSV 파일 "romanNumerals.csv"에는 첫 번째 열에 1~1000의 10진수가 들어 있고, 두 번째 열에 그에 해당하는 로마 숫자가 들어 있습니다.

CSV 파일 "romanNumerals.csv"에서 10진수-로마 숫자 쌍을 불러옵니다.

filename = fullfile("romanNumerals.csv");

options = detectImportOptions(filename, ...
    'TextType','string', ...
    'ReadVariableNames',false);
options.VariableNames = ["Source" "Target"];
options.VariableTypes = ["string" "string"];

data = readtable(filename,options);

딥러닝을 위해 이 데이터를 처리하는 방법을 보여주는 예제는 Sequence-to-Sequence Translation Using Attention 항목을 참조하십시오.

sequence-to-sequence 변환

Finance Reports

SEC(증권거래위원회)에서는 사람들에게 EDGAR(전자 데이터 수집, 분석 및 검색) API를 통해 재무 보고서에 액세스할 수 있도록 허용하고 있습니다. 자세한 내용은 https://www.sec.gov/os/accessing-edgar-data 항목을 참조하십시오.

이 데이터를 다운로드하려면 예제 Generate Domain Specific Sentiment Lexicon에 지원 파일로 첨부된 함수 financeReports를 사용하십시오. 이 함수에 액세스하려면 예제를 라이브 스크립트로 여십시오.

year = 2019;
qtr = 4;
maxLength = 2e6;
textData = financeReports(year,qtr,maxLength);

이 데이터를 처리하는 방법을 보여주는 예제는 Generate Domain Specific Sentiment Lexicon 항목을 참조하십시오.

감성 분석

관련 항목