NDL Face

API リファレンス

NDL Face の全エンドポイントの仕様と使用例

Base URL: https://face.ldas.jp

GET/api/expressions

キーワード・感情カテゴリ・身体部位等で絞り込み検索。ページネーション、ソート、ファセット集計に対応。

パラメータ

名前説明
keywordstring全文検索キーワード(surface, context対象)
emotionstring感情カテゴリ(カンマ区切りで複数指定可)例: 喜び・笑い,悲しみ・哀れ
body_partstring身体部位(カンマ区切りで複数指定可)例: 目,口
valencestring感情極性(カンマ区切りで複数指定可)例: positive,negative
genderstring性別(カンマ区切りで複数指定可)例: male,female,unknown,mixed
pidstring作品のPID(NDLデジコレ識別子)で絞り込み
limitnumber取得件数(デフォルト: 20)例: 20
offsetnumberオフセット(デフォルト: 0)例: 0
sortstringソートフィールド(デフォルト: _score)例: _score | emotion | body_part | intensity
orderstringソート順(デフォルト: desc)例: desc | asc

リクエスト例

curl
curl "https://face.ldas.jp/api/expressions?emotion=喜び・笑い&limit=10"

レスポンス例

JSON
{
  "hits": [
    {
      "id": "abc123",
      "pid": "1882646",
      "surface": "涙にくれる",
      "context": "別れの場にて涙にくれる女の…",
      "emotion": "悲しみ・哀れ",
      "body_part": "目",
      "valence": "negative",
      "intensity": "high",
      "character": "世之介",
      "pages": [131],
      "title": "好色一代男 研究会講録"
    }
  ],
  "total": 591,
  "facets": {
    "emotions": [{ "key": "悲しみ・哀れ", "count": 137 }],
    "body_parts": [{ "key": "顔", "count": 120 }],
    "valences": [{ "key": "negative", "count": 200 }],
    "intensities": [{ "key": "medium", "count": 300 }],
    "genders": [{ "key": "male", "count": 250 }]
  }
}
GET/api/expressions/{id}

Elasticsearch ドキュメントIDを指定して1件取得。

パラメータ

名前説明
id必須stringドキュメントID(パスパラメータ)

リクエスト例

curl
curl "https://face.ldas.jp/api/expressions/abc123"

レスポンス例

JSON
{
  "id": "abc123",
  "pid": "1882646",
  "surface": "涙にくれる",
  "context": "別れの場にて涙にくれる女の…",
  "emotion": "悲しみ・哀れ",
  "body_part": "目",
  "valence": "negative",
  "intensity": "high",
  "character": "世之介",
  "pages": [131],
  "title": "好色一代男 研究会講録"
}
GET/api/expressions/by-book

PIDを指定して、その作品に含まれる表現をページ順で取得。

パラメータ

名前説明
pid必須string作品のPID(必須)例: 1882646
limitnumber取得件数(デフォルト: 10)
offsetnumberオフセット(デフォルト: 0)

リクエスト例

curl
curl "https://face.ldas.jp/api/expressions/by-book?pid=1882646&limit=10"

レスポンス例

JSON
{
  "hits": [ ... ],
  "total": 591
}
GET/api/books

登録済みの全作品を、表現件数・著者・年代・ジャンル・感情カテゴリ別分布と共に返す。

リクエスト例

curl
curl "https://face.ldas.jp/api/books"

レスポンス例

JSON
[
  {
    "pid": "1882646",
    "title": "好色一代男 研究会講録",
    "author": "井原西鶴",
    "year": 1682,
    "genre": "好色物",
    "ndc": null,
    "expression_count": 591,
    "emotions": {
      "悲しみ・哀れ": 137,
      "色気・艶": 96,
      "喜び・笑い": 82
    }
  }
]
GET/api/stats

感情カテゴリ・身体部位・感情極性の集計値と、総件数を返す。

リクエスト例

curl
curl "https://face.ldas.jp/api/stats"

レスポンス例

JSON
{
  "emotions": { "悲しみ・哀れ": 137, "色気・艶": 96 },
  "bodyParts": { "顔": 120, "目": 98 },
  "valences": { "negative": 200, "positive": 150 },
  "total": { "value": 591 }
}
GET/api/analytics

作品別感情分布、感情×身体部位クロス集計、感情極性分布など、可視化用の集計データを返す。

リクエスト例

curl
curl "https://face.ldas.jp/api/analytics"

レスポンス例

JSON
{
  "booksEmotions": [
    {
      "pid": "1882646",
      "title": "好色一代男 研究会講録",
      "total": 591,
      "emotions": { "悲しみ・哀れ": 137, ... }
    }
  ],
  "emotionBodypartMatrix": [
    {
      "emotion": "悲しみ・哀れ",
      "bodyParts": { "目": 45, "顔": 30 },
      "total": 137
    }
  ],
  "valenceDistribution": { "negative": 200, "positive": 150 },
  "emotionDistribution": { "悲しみ・哀れ": 137, ... },
  "bodyPartDistribution": { "顔": 120, ... }
}

データスキーマ

Expression(表情表現)オブジェクトのフィールド定義

フィールド説明
idstringElasticsearchドキュメントID
pidstringNDLデジタルコレクション永続的識別子
titlestring作品名
surfacestring抽出された表現(表層形)
contextstring表現の前後の文脈テキスト
emotionstring感情カテゴリ(喜び・笑い、悲しみ・哀れ等)
body_partstring身体部位(顔、目、口、頬等)
valencestring感情極性(positive / negative / neutral / ambiguous)
intensitystring強度(low / medium / high)
characterstring表現の主体となる人物名
pagesnumber[]原典でのコマ番号
authorstring?著者名(作品メタデータ)
yearnumber?成立年(西暦)
genrestring?ジャンル

利用上の注意

  • 全エンドポイントは認証不要で利用できます
  • レスポンスはすべてJSON形式です
  • 日本語パラメータはURLエンコードしてください(例: %E5%96%9C%E3%81%B3
  • 大量のリクエストを短時間に送信する場合は適切な間隔を空けてください
  • データは研究目的で自由にご利用いただけます。引用時は本プロジェクトへのリンクをお願いします