API

スロット値抽出API

2018/04/24

スロット値抽出APIの概要

スロット値抽出APIは、リクエストで送られた文章からあらかじめ定義されたスロット(何らかのタスクの実行に必要な属性情報)に対応する値を抽出します。例えば、「名前は田中太郎です」という文章からは、姓と名からなる氏名のスロットに対して、姓が田中という値、名が太郎という値、といったようにスロット値を抽出します。入力に含まれる文字列をそのまま抽出するだけでなく、正規化された値も同時に抽出できますので、抽出した値を簡単に利用することができます。

スロット値抽出APIを利用することにより、「あなたの名前を教えて!」、「あなたの生年月日を教えて!」と言った問いかけを行い、取得した名前や生年月日に応じた発展的な会話を行うチャットボットなどを開発することが可能になります。また、音声認識システムと組み合わせて利用することで、オペレータのかわりに氏名や生年月日を伺い、本人性の確認を自動的に行うコールセンタシステムを開発したりすることが可能となります。

スロット値抽出APIでは、氏名(姓、名)、生年月日、性別、住所、電話番号、年齢の基本的な情報がスロットとして定義されており、これらの情報を簡単に抽出できます。

リクエスト先URL

https://labs.goo.ne.jp/api/slot

リクエストパラメータ

application/x-www-form-urlencoded、application/json形式でのPOSTを受け付けます。
※GETは受け付けませんのでご注意ください。

パラメータ名 説明
app_id (Required) アプリケーションID
request_id リクエストID
省略時は"labs.goo.ne.jp[タブ文字]リクエスト受付時刻[タブ文字]連番"となります。
sentence (Required) 解析対象テキスト
slot_filter スロットフィルタ
name(氏名)、birthday(生年月日)、sex(性別)、address(住所)、tel(電話番号)、age(年齢)のうち、スロット値抽出の対象とするスロットを文字列で指定します。複数指定する場合は、"|"で区切って複数記載してください。省略時はすべてのスロットを対象とします。

レスポンスパラメータ

JSONフォーマットのテキスト形式となります。Content-typeは"application/json; charset=UTF-8"となります。

パラメータ名 説明
request_id リクエストと同じ値となります。
slot_filter リクエストと同じ値となります。
slots スロットフィルタで指定した値をキーとして持つオブジェクトです。指定されなかった場合、キーは存在しません。指定され値が抽出できなかった場合、キーは存在しますが値は空配列となります。
name 氏名スロット
例){"surname":"山田","given_name":"太郎"}
surname 姓スロット
解析対象テキストで姓と判別された値が入ります。
given_name 名スロット
解析対象テキストで名と判別された値が入ります。
birthday 生年月日スロット
例){"value":"大正10年1月1日","norm_value":"1921-01-01"}
value 解析対象テキストで生年月日と判別された値が入ります。西暦、和暦に対応します。
norm_value valueをYYYY-MM-DD形式に正規化した値が入ります。正規化できなかった場合、生年月日から算出した年齢が許容する値とならない場合はnullとなります。
sex 性別スロット
例){"value":"男","norm_value":"男性"}
value 解析対象テキストで性別と判別された値が入ります。
norm_value valueを正規化した値が入ります。男性または女性となります。
address 住所スロット
例){"value":"東京都港区芝浦3丁目4ー1","norm_value":"東京都港区芝浦三丁目4-1","lat":35.643462,"lon":139.746042}
value 解析対象テキストで住所と判別された値が入ります。
norm_value valueを正規化した値が入ります。都道府県名が補完され、丁目は漢数字、番地は半角数字となります。
lat norm_valueが取得できた場合、住所の緯度が入ります。
lon norm_valueが取得できた場合、住所の経度が入ります。
tel 電話番号スロット
例){"value":"(090)0000-1111","norm_value":"09000001111"}
value 解析対象テキストで電話番号と判別された値が入ります。国内電話番号に対応します。
norm_value valueを正規化した値が入ります。数字のみの値となります。
age 年齢スロット
例){"value":"三十路","norm_value":30}
value 解析対象テキストで年齢と判別された値が入ります。
norm_value valueを正規化した値が入ります。年齢として許容する0~125の数字となります。正規化できなかった場合はnullとなります。
また、生年月日が指定されており、かつスロット値が抽出できた場合は、自動計算した値となります。(このときvalueはnullとなります。)

エラーレスポンス

エラーレスポンスについてはこちらに詳細がございますので、適宜ご参照下さい。

入出力サンプル

入力例(application/json形式)

{"app_id":"[発行されたapp_id]", "request_id":"record008", "sentence":"名前は田中太郎で、男性で、30歳です。港区芝浦3-4-1に住んでいます。"}

出力例

{"request_id":"record008","slots":{"address":[{"lat":35.643462,"lon":139.746042,"norm_value":"東京都港区芝浦三丁目4-1","value":"港区芝浦3-4-1"}],"age":[{"norm_value":30,"value":"30歳"}],"birthday":[{"norm_value":null,"value":"3-4-1"}],"name":[{"given_name":"太郎","surname":"田中"}],"sex":[{"norm_value":"男性","value":"男性"}],"tel":[]}}

APIを利用するための手順についてはこちらで説明していますので、ぜひご活用ください。利用登録はこちらからお願いします。

当APIを活用したWEBサービス、アプリも歓迎致します。ご相談はこちらからお問い合わせお願い申し上げます。

APIコンソール

開く

日本語解析API一覧

■形態素解析API
日本語文字列を、形態素と呼ばれる意味を持つ最小限の単語単位に分割します
■固有表現抽出API
日本語文字列から、人名や地名、日付表現などの固有表現を抽出します
■ひらがな化API
日本語文字列を、ひらがな もしくは カタカナ による記載に変換します
■キーワード抽出API
人名や地名、組織など文書を特徴づけるキーワードを抽出します
■時刻情報正規化API
時刻情報となる部分を抽出しそれらを正規化した値を生成します
■テキストペア類似度API
2つのテキストを比較し、その意味的な類似度を返却します
■スロット値抽出API
スロット値抽出APIを利用すると、氏名、生年月日などの基本的な情報を簡単に抽出できます