1. TOP
  2. PRODUCT
  3. Named Entity API

Conditional Random Fields(CRF)やRecurrent Neural Network(Bidirectional LSTM)と呼ばれる機械学習手法を組み合わせることにより固有表現抽出機能を実現したAPIです。
膨大な量の文章を教師データとし、文章の中の単語・品詞の並び・関係性などを機械学習することで、ユーザが入力した文章内の固有表現を予測する機能を提供します。
このAPIの利用により、文章から人名や地名といった単語を抽出することができます。そのため、あるデータから固有名詞を除去したい場合などに活用できます。

DETAIL

Named Entity APIは、機械学習の技術を活用して生まれた固有表現抽出を行うAPIです。
リクルートでは、人工知能やビッグデータ処理に関する研究・開発が盛んに行われています。様々なデータを扱う中で最適な成果を得られるように、 ある言葉・単語を除去したいといったデータクレンジングの必要性が出てきます。それに応えることができるように開発されたものが、Named Entity APIになります。
このAPIでは、CRF・双方向LSTMの仕組みと、文章と品詞情報が対となった大量の文章データを用いることで、固有表現を予測する機能を実現しています。 辞書からデータを検索するのではなく、文章内の単語情報の前後関係で推測して固有表現判別を行う仕組みになっています。
AIや機械学習の研究が活発に行われるようになった昨今、教師データを各種条件に合わせ加工する必要・重要性が増しています。まだ研究段階ではありますが、本APIはデータ加工の中でも固有名詞のクレンジングに活用されることを期待しています。

NOTES

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

推奨ブラウザについて:
  本ページはGoogle Chromeを推奨しています。
  Google Chrome以外のブラウザでは正しく作動しないケースがあります。

REFERENCE

  • predict

Named Entity API (classify)

固有表現抽出用のAPIです。
入力されたテキストの中から固有表現に該当する単語を抽出し、幾つかの種類に分類します。


固有表現は下記8種類に分類されます。なお、固有表現に該当しない単語は、「O(オー)」で表現されます。

 ART
:人工物 (例:ピラミッド、憲法)
 DAT
:日付 (例:今年、1月1日)
 LOC
:地名 (例:北海道、アメリカ)
 MNY
:金額 (例:250円、3万円)
 ORG
:組織 (例:リクルート、県立高校)
 PNT
:割合 (例:5割引き、3割6分5厘)
 PSN
:人名 (例:佐藤太郎、渡辺花子)
 TIM
:時間 (例:1時、夕方)


分類予測結果は、これら固有表現の種類に接頭辞として「B-」「I-」が付与されたラベルが返されます。
「B-XXX」は固有表現の始まり、「I-XXX」は固有表現が続いていることを意味します。


文章例: 佐藤 太郎 さん の 誕生日 は 1 月 1 日 です 。
結果例: B-PSN I-PSN O O O O B-DAT I-DAT I-DAT I-DAT O O

エンドポイント

URL:
https://api.a3rt.recruit-tech.co.jp/named_entity/v1/predict
メソッド:
GET

リクエストパラメータ

No. パラメータ名 説明 値サンプル 制約 必須
1 apikey APIキーを指定します AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 半角英数字
2 sentence 予測対象の文章を指定します 佐藤太郎さんの誕生日は1月1日です。 UTF-8

レスポンスフィールド

No. 説明 値サンプル 返却条件 複数
項目
1 status 処理ステータス 0 int 常に返却 -
2 message メッセージ ok string 常に返却 -
3 sentence 入力文を分かち書きしたデータを格納した配列 ['佐藤', '太郎', 'さん', 'の', '誕生日', 'は', '1', '月', '1', '日', 'です', '。'] list status 0 のみ -
4 result 固有表現予測結果を格納した配列 ['B-PSN', 'I-PSN', 'O', 'O', 'O', 'O', 'B-DAT', 'I-DAT', 'I-DAT', 'I-DAT', 'O', 'O'] list status 0 のみ -

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

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処理で異常が発生しました

制限事項

予測対象の文字列に関する制限事項

 英文字はサポートしていません。正しい予測ができませんのでご留意ください。
 また、半角・全角スペース・タブ・半角アンパサンド(&)・改行・特殊文字を入力しないでください。
 正しい予測ができないか、エラーとなります。

パラメータ長さに関する制限事項

 送信できる文字列は500文字までになります。

SAMPLE REQUEST

  • predict

1. 正常時

リクエスト curl -X GET "https://api.a3rt.recruit-tech.co.jp/named_entity/v1/predict?apikey=AAAAAAAAAAAAAAAA&sentence=佐藤太郎さんの誕生日は1月1日です。"
レスポンス

{
	"status": 0,
	"message": "ok",
	"sentence": "['佐藤', '太郎', 'さん', 'の', '誕生', '日', 'は', '1', '月', '1', '日', 'です', '。']",
	"result": "['B-PSN', 'I-PSN', 'O', 'O', 'O', 'O', 'O', 'B-DAT', 'I-DAT', 'I-DAT', 'I-DAT', 'O', 'O']"
}

														

2. 異常時

リクエスト curl -X GET "https://api.a3rt.recruit-tech.co.jp/named_entity/v1/predict?apikey=AAAAAAAAAAAAAAAA"
レスポンス

{
	"status": 1400,
	"message": "bad request"
}