1. TOP
  2. PRODUCT
  3. Text Classification API

Text Classification API

Text Classification APIはConvolutional Neural Networkを利用して、文章の分類を行うAPIです。
例えば、学習データとしてニュース記事とそのトピック(スポーツや政治など)を与えると、未知の記事データに対してのトピックを推定してくれます。
今回のdefaultモデルでは、求人系の文章とそれがどのような職種の求人かというラベルを学習させています。また、本APIではラベルとテキストを対にしたcsvがあれば、あなただけの文章分類モデルを作成し、試すことができます。リファレンスを参照して、是非ご利用ください。

DETAIL

Text Classification APIはCNNを利用して、文章を予め与えられたラベルに自動的に分類するAPIです。例えば、ポジティブなことを言っている文章かネガティブなことを言っている文章かを自動的に分類することが可能です。
また、ラベルと文章が対になっている学習データがあれば、あなただけの文書分類モデルを作成することも可能です。まずは、用意されているモデルに対して文章を投げてみて、どのような返答がくるかを試してみてください。

NOTES

他人の名称・メールアドレス・住所・電話番号など個人を特定しうる情報はアップロードしないでください。

REFERENCE

  • classify
  • dataset
    _URL
  • create
    _model
  • model
    _status

classify

CNNを使用した文書分類を試せます。モデル作成で作ったモデルを試すことも可能です。

エンドポイント

URL:
https://api.a3rt.recruit-tech.co.jp/text_classification/v1/classify
メソッド:
GET/POST
No. エンドポイント 説明
1 classify パラメータとして与えられた文書を指定されたモデルで分類し、予測ラベルを返答します。

リクエストパラメータ

No. パラメータ名 説明 値サンプル 制約 必須
1 apikey APIキーを指定します AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 半角英数字
2 model_id モデルIDを指定します
空の場合はdefault
default 半角英数字・ハイフン
3 text 予測したいテキストを指定します
最大1000文字, 最大500単語
私は一生懸命働いているのにあなたって人は最低ね! 全角/半角文字列

レスポンスフィールド

No. フィールド名 説明 値サンプル 返却条件 複数項目
1 status 処理ステータス 0 int 常に返却 -
2 message メッセージ ok string 常に返却 -
3 classes 結果
label 予測ラベル label001 string 常に返却 -
probability 予測確率 0.9085 double 常に返却 -

ステータスコード / メッセージ

No. status HTTP
status
message 返却条件
1 0 200 ok 正常応答
2 1000 400 apikey is null APIキー未指定
3 1001 400 apikey not found APIキーが見つからない
4 1002 400 deleted account 退会済み
5 1003 400 temporary account アカウント未承認
6 1010 400 server not found サーバが見つからない
7 1011 400 server parameter error サーバ設定エラー
8 1030 403 access deny アクセス拒否
9 1400 400 bad request リクエストパラメータが不正
10 1404 404 not found 指定したオブジェクト見つからない
11 1405 405 method not allowed メソッドが正しくない
12 1413 413 request entity too long リクエストパラメータの値が長すぎる
13 1500 500 internal server error API処理で異常が発生しました

制限事項

API実行に関する制限事項

同一 API Key で一度に学習できるモデルは一つまでです

ファイルに関する制限事項(dataset_url実行時のみ)
データ行数:
ヘッダー含め100行以上、1万行以内
各レコードのテキスト文字数:
1000文字以内かつ500単語以内

ブラウザによるファイルのアップロードは、今後対応していく予定です

モデル作成インスタンスに関する制限事項(create_model実行時のみ)

バージョンv1では、最大3並列までとなります

3並列すべてのインスタンスにリクエストがきている場合は、いずれかの学習が完了次第順次割り当てになります。モデル作成に時間がかかることもありますがご了承ください。

dataset_URL

CNNを使用した文書分類を試せます。datasetではモデルを作りたい学習データを配置するパスを返却します。

エンドポイント

URL:
https://api.a3rt.recruit-tech.co.jp/text_classification/v1/dataset
メソッド:
POST
No. エンドポイント 説明
1 dataset 所定のファイル配置場所とdataset_idを返却します。

リクエストパラメータ

No. パラメータ名 説明 値サンプル 制約 必須
1 apikey APIキーを指定します AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 半角英数字

レスポンスフィールド

No. フィールド名 説明 値サンプル 返却条件 複数項目
1 status 処理ステータス 0 int 常に返却 -
2 message メッセージ ok string 常に返却 -
3 dataset_id データセットID xxxxxxxxxxx string 常に返却 -
4 dataset_url データセットURL 配置先URL string 常に返却 -

ステータスコード / メッセージ

No. status HTTP
status
message 返却条件
1 0 200 ok 正常応答
2 1000 400 apikey is null APIキー未指定
3 1001 400 apikey not found APIキーが見つからない
4 1002 400 deleted account 退会済み
5 1003 400 temporary account アカウント未承認
6 1010 400 server not found サーバが見つからない
7 1011 400 server parameter error サーバ設定エラー
8 1030 403 access deny アクセス拒否
9 1400 400 bad request リクエストパラメータが不正
10 1405 405 method not allowed メソッドが正しくない
11 1500 500 internal server error API処理で異常が発生しました

制限事項

API実行に関する制限事項

同一 API Key で一度に学習できるモデルは一つまでです

ファイルに関する制限事項(dataset_url実行時のみ)
データ行数:
ヘッダー含め100行以上、1万行以内
各レコードのテキスト文字数:
1000文字以内かつ500単語以内

ブラウザによるファイルのアップロードは、今後対応していく予定です

モデル作成インスタンスに関する制限事項(create_model実行時のみ)

バージョンv1では、最大3並列までとなります

3並列すべてのインスタンスにリクエストがきている場合は、いずれかの学習が完了次第順次割り当てになります。モデル作成に時間がかかることもありますがご了承ください。

ファイルフォーマット

学習データ(アップロードファイル)

  • CSV形式のテキストファイル
  • 行ヘッダあり(1行目に label, textが必要)
No. フィールド名 説明 値サンプル
1 label 分類したいラベル label01
2 text 項番1のラベルに属するテキストデータ 私は一生懸命働いているのにあなたって人は最低ね!

create_model

CNNを使用した文書分類を試せます。modelでは配置済みのデータセットに対して学習を起動させます。

エンドポイント

URL:
https://api.a3rt.recruit-tech.co.jp/text_classification/v1/model
メソッド:
POST
No. エンドポイント 説明
1 model パラメータとして指定されたデータセットに対して文書分類モデルを作成します。

リクエストパラメータ

No. パラメータ名 説明 値サンプル 制約 必須
1 apikey APIキーを指定します AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 半角英数字
2 dataset_id データセットIDを指定します
(datasetでレスポンスとして受けたもの)
xxxxxxxxxxx 半角英数字・ハイフン

レスポンスフィールド

No. フィールド名 説明 値サンプル 返却条件 複数項目
1 status 処理ステータス 0 int 常に返却 -
2 message メッセージ ok string 常に返却 -
3 model_id モデルID xxxxxxxxxxx string 常に返却 -

ステータスコード / メッセージ

No. status HTTP
status
message 返却条件
1 0 200 ok 正常応答
2 1000 400 apikey is null APIキー未指定
3 1001 400 apikey not found APIキーが見つからない
4 1002 400 deleted account 退会済み
5 1003 400 temporary account アカウント未承認
6 1010 400 server not found サーバが見つからない
7 1011 400 server parameter error サーバ設定エラー
8 1030 403 access deny アクセス拒否
9 1400 400 bad request リクエストパラメータが不正
10 1400 400 train data file not found 学習データファイルが見つからない
11 1400 400 bad train data file 学習データファイルの中身が形式が不正
12 1400 400 train data file size exceeds the size limit 学習データサイズが大きすぎるか小さすぎる
13 1403 403 order already exists すでに順番待ちしています
14 1404 404 not found 指定したオブジェクト見つからない
15 1405 405 method not allowed メソッドが正しくない
16 1413 413 request entity too long リクエストパラメータの値が長すぎる
17 1500 500 internal server error API処理で異常が発生しました

制限事項

API実行に関する制限事項

同一 API Key で一度に学習できるモデルは一つまでです

ファイルに関する制限事項(dataset_url実行時のみ)
データ行数:
ヘッダー含め100行以上、1万行以内
各レコードのテキスト文字数:
1000文字以内かつ500単語以内

ブラウザによるファイルのアップロードは、今後対応していく予定です

モデル作成インスタンスに関する制限事項(create_model実行時のみ)

バージョンv1では、最大3並列までとなります

3並列すべてのインスタンスにリクエストがきている場合は、いずれかの学習が完了次第順次割り当てになります。モデル作成に時間がかかることもありますがご了承ください。

model_status

CNNを使用した文書分類を試せます。check_statusではmodelで作成を開始したモデルの状況を確認することができます。

エンドポイント

URL:
https://api.a3rt.recruit-tech.co.jp/text_classification/v1/check_status
メソッド:
GET
No. エンドポイント 説明
1 check_status パラメータとして指定されたモデルのステータスを返却します。

リクエストパラメータ

No. パラメータ名 説明 値サンプル 制約 必須
1 apikey APIキーを指定します AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 半角英数字
2 model_id モデルIDを指定します
(modelでレスポンスとして受けたもの)
xxxxxxxxxx 半角英数字・ハイフン

レスポンスフィールド

No. フィールド名 説明 値サンプル 返却条件 複数項目
1 status 処理ステータス 0 int 常に返却 -
2 message メッセージ ok string 常に返却 -
3 model_status モデルステータス
pending: 学習が予約されている状態
running: 学習中の状態
finish: 学習が完了し、Classify できる状態
failure: 学習が失敗した状態
finishの状態になればそのmodel_idをclassifyで指定することができます
running string 常に返却 -

ステータスコード / メッセージ

No. status HTTP
status
message 返却条件
1 0 200 ok 正常応答
2 1000 400 apikey is null APIキー未指定
3 1001 400 apikey not found APIキーが見つからない
4 1002 400 deleted account 退会済み
5 1003 400 temporary account アカウント未承認
6 1010 400 server not found サーバが見つからない
7 1011 400 server parameter error サーバ設定エラー
8 1030 403 access deny アクセス拒否
9 1400 400 bad request リクエストパラメータが不正
10 1404 404 not found 指定したオブジェクト見つからない
11 1405 405 method not allowed メソッドが正しくない
12 1500 500 internal server error API処理で異常が発生しました

制限事項

API実行に関する制限事項

同一 API Key で一度に学習できるモデルは一つまでです

ファイルに関する制限事項(dataset_url実行時のみ)
データ行数:
ヘッダー含め100行以上、1万行以内
各レコードのテキスト文字数:
1000文字以内かつ500単語以内

ブラウザによるファイルのアップロードは、今後対応していく予定です

モデル作成インスタンスに関する制限事項(create_model実行時のみ)

バージョンv1では、最大3並列までとなります

3並列すべてのインスタンスにリクエストがきている場合は、いずれかの学習が完了次第順次割り当てになります。モデル作成に時間がかかることもありますがご了承ください。

SAMPLE REQUEST

  • classify
  • dataset
    _URL
  • create
    _model
  • model
    _status

classify

前提条件
  • APIキーを事前に取得している
  • curlコマンドが実行できる環境がある

1)指定モデルに対して分類したいテキストを投げる

リクエスト curl -X POST https://api.a3rt.recruit-tech.co.jp/text_classification/v1/classify \
-d apikey=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \
-d model_id=default \
--data-urlencode text='システムの企画から開発・運用まで幅広く関われます。'
レスポンス

{
	"status": 0,
	"message": "ok",
	“classes”: [
		{
			"label": "ITエンジニア(システム開発・SE・インフラ)",
			"probability": 0.930484
		},
		...
	]
}

dataset_URL

前提条件
  • APIキーを事前に取得している
  • curlコマンドが実行できる環境がある

1)ファイル配置のURLとデータセットIDを取得する

リクエスト curl -X POST https://api.a3rt.recruit-tech.co.jp/text_classification/v1/dataset \
-d apikey=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
レスポンス

{
	"status": 0,
	"message": "ok",
	“dataset_id”: “xxxxxxxxxxx”,
	“dataset_url”: “https://・・・”
}

2)ローカルにあるファイルをdataset_urlに配置する

リクエスト curl -D - -X PUT --upload-file <filepath> '<dataset_url>'
レスポンス HTTP/1.1 200 OK
x-amz-id-2: JoZeEY2C95dJJUMo1ebTG2B+BWvmv4EYn4pAzOPXvMILRYmTzOSyKxcZR4+lec7oHOjC2Gv8AP4=
x-amz-request-id: C11436677B8AEE17
Date: Mon, 20 Feb 2017 10:22:46 GMT
ETag: "892d7981b3f8bdf7de55f3d00f7cf0a3"
Content-Length: 0
Server: AmazonS3

create_model

前提条件
  • APIキーを事前に取得している
  • curlコマンドが実行できる環境がある

1)配置したデータセットに対して学習を開始する

リクエスト curl -X POST https://api.a3rt.recruit-tech.co.jp/text_classification/v1/model \
-d apikey=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \
-d dataset_id=xxxxxxxxxxx
レスポンス

{
	"status": 0,
	"message": ok,
	“model_id”: “xxxxxxxxxx”
}

model_status

前提条件
  • APIキーを事前に取得している
  • curlコマンドが実行できる環境がある

1)学習しているモデルのステータスを確認する

リクエスト curl -X GET 'https://api.a3rt.recruit-tech.co.jp/text_classification/v1/check_status?apikey=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&model_id=xxxxxxxxxx'
レスポンス

{
	"status": 0,
	"message": "ok",
	"model_status": "finish"
}