Main Content

テキスト解析用のデータ セット

このページでは、テキスト解析アプリケーションを始めるために使用できるさまざまなデータ セットのリストを提供します。

データ セット説明タスク

工場レポート

工場レポート データ セットは、さまざまな属性 (変数 Description 内のプレーン テキストの説明、変数 Category 内のカテゴリカル ラベルなど) をもつ約 500 件のレポートが含まれている table です。

ファイル "factoryReports.csv" から工場レポート データを読み取ります。Description 列と Category 列から、それぞれテキスト データとラベルを抽出します。

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

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

このデータを深層学習用に処理する方法を示す例については、深層学習を使用したテキスト データの分類 (Deep Learning Toolbox)を参照してください。

テキスト分類、トピック モデリング

シェイクスピアのソネット集

ファイル sonnets.txt には、シェイクスピアのソネット集が 1 つのテキスト ファイルとして格納されています。

ファイル "sonnets.txt" からシェイクスピアのソネット集のデータを読み取ります。

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

ソネット集は 2 つの空白文字でインデントされ、2 つの改行文字で区切られています。replace を使用してインデントを削除し、split を使用してテキストを個別のソネットに分割します。最初の 3 つの要素のメイン タイトルと、各ソネットの前に出現するソネット タイトルを削除します。

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から『Alice's Adventures in Wonderland』(Lewis Carroll 著) のテキストをダウンロードします。

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 アップデート

ファイル weekendUpdates.xlsx には、"#weekend" と "#vacation" のハッシュタグを含む、ソーシャル メディアのステータス更新の例が格納されています。

関数 readtable を使用してファイル weekendUpdates.xlsx からテキスト データを取得し、変数 TextData からテキスト データを抽出します。

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

このデータを処理する方法を示す例については、テキスト内のセンチメントの分析を参照してください。

センチメント分析

ローマ数字

CSV ファイル "romanNumerals.csv" には、1 ~ 1000 の 10 進数が最初の列に格納され、それに対応するローマ数字が 2 番目の列に格納されています。

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 変換

財務レポート

証券取引委員会 (SEC) は、Electronic Data Gathering, Analysis, and Retrieval (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を参照してください。

センチメント分析

関連するトピック