mcpField
A
alterlab-yok-akademik

alterlab-yok-akademik

github.com/alterlab-ieu生産性7857 回インストール5 週間前に更新
リポジトリ

alterlab-yok-akademik について

YÖK Akademikでトルコの研究者の現所属、職位、学部・学科、プロジェクト、出版物、指導論文を調べるスキルです。ポータルのページを取得する方式で、同姓同名の候補確認が必要です。論文全文の取得や昇進資格の判定は行いません。

主な機能

  1. 01氏名から研究者プロフィールを検索
  2. 02所属機関・学科・職位の確認
  3. 03掲載プロジェクトと出版物の閲覧
  4. 04指導した修士・博士論文の一覧
  5. 05トルコ語の氏名表記ゆれに対応

活用シーン

  1. 01著者の現所属の確認
  2. 02研究者の職位と学科の調査
  3. 03掲載プロジェクトや出版物の整理
  4. 04研究者が指導した学位論文の検索

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alterlab-ieu/alterlab-academic-skills --skill alterlab-yok-akademik

インストール後、Claude Code で/alterlab-yok-akademikを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
references/
affiliation_verification.md
endpoints.md
turkish_names.md
scripts/
yok_akademik.py

詳細

YÖK Akademik — トルコの公式学術プロフィール・所属先検索

YÖK Akademik(Yükseköğretim Kurulu Akademik — トルコ高等教育評議会の学術検索ポータル)は、トルコの研究者の公式な現所属先を確認するための信頼できる情報源です。YÖKSİS(高等教育に関する国の情報システム)を基盤としているため、トルコの機関については、情報の反映が遅れたり、分散していたりするORCIDやOpenAlexの所属先情報より信頼できます。

このスキルでは、氏名から公式記録を特定し、現在のkurum(機関)、fakülte/bölüm(学部・学科)、unvan(学術上の肩書き。例:Prof. Dr.、Doç. Dr.、Dr. Öğr. Üyesi)に加え、ポータルに掲載されている本人の出版物、研究projeler(プロジェクト)、danışmanlık yapılan tezler(指導した学位論文)を確認します。

公開JSON APIはありません。 akademik.yok.gov.tr/AkademikArama/ のポータルは、サーバー側でHTMLを生成するJava/JSPアプリケーションです。利用できるのは、検証済みのエンドポイントを対象とした、節度あるHTMLスクレイピングのみです。すべての記録は「信頼できる情報だが、スクレイピングによって取得したもの」として扱い、所属先を断定する前に、該当する候補者が本人であることをユーザーに確認してください。

このスキルを使う場面

次のような依頼には、このスキルを使ってください。

  • トルコの研究者の現所属先を確認する(著者名の所属表記、推薦状、助成金チーム、編集委員会の確認など)。
  • 氏名からYÖK Akademikで研究者を検索する/調べる。
  • 本人の公式なunvan(肩書き)と学部・学科を確認する。
  • 本人が指導した学位論文(修士/博士)を、学生名、年、機関とともに一覧表示する。
  • 本人のポータル掲載出版物や研究プロジェクトを、調査の出発点として取得する。
対象外

次のような関連依頼は、適切な関連スキルに振り分けてください。ここでは回答しないでください。

実際の依頼内容…代わりに使うスキル
大学・プログラムの入学統計 — kontenjan、taban puan、başarı sırası、yerleşenalterlab-yokatlas
国立アーカイブ(Ulusal Tez Merkezi)にある学位論文の全文/要旨を読む、または引用するalterlab-yok-tez
国の学術誌掲載プラットフォームDergiParkを検索するalterlab-dergipark
学術誌がTR Dizin(国の引用索引)に収録されているか確認するalterlab-trdizin
出版物のメタデータ(DOI、引用数、共著者)を補完・検証するalterlab-openalex
引用された論文が実際に存在するか確認する(捏造された引用の検証)alterlab-citation-verifier
出版物一覧からdoçentlik(准教授資格)の要件となるポイントを計算するalterlab-docentlik-eligibility
akademik teşvik(学術奨励)のスコアを計算するalterlab-akademik-tesvik

YÖK Akademikで確認できるのは、**「この研究者は公式には誰で、現在どこに所属しているのか?」**です。研究の質を評価したり、キャリア昇進に必要なポイントを計算したり、学位論文の全文を取得したりすることはできません。

検証済みのエンドポイント(API キー不要)

すべてベース URL https://akademik.yok.gov.tr/AkademikArama/ 配下にあります。ドキュメント化された JSON API はありません。これらは HTML/JSP ページです。全体のマップ、パラメーター、各エンドポイントの検証状況については、references/endpoints.md を参照してください。

手順エンドポイント返される内容
名前で検索POST AkademisyenArama(aramaTerim=<name>&islem=1&…Checkbox=on を指定)→ カテゴリーページ → Akademisyenler リンクをたどる → view/searchResultviewListAuthor.jsp候補行:名前、unvan、大学、学部/学科、および**不透明な authorId**を含むプロフィールリンク
プロフィール/著者の選択AkademisyenGorevOgrenimBilgileri?islem=direct&authorId=<id> → view/viewAuthor.jsp を表示本人のヘッダー:現在の kurum、fakülte、bölüm、unvan、ORCID/メールのバッジ。この GET によってセッション内で著者も登録されます(これがないと、下記のタブは 500 を返します)。
プロジェクトAkademisyenProjeBilgileri?authorId=<id>ポータルに掲載されている研究プロジェクト(AB/TÜBİTAK/araştırma …)
出版物AkademisyenYayinBilgileri?pubType=<token>&authorId=<id>種類別のタブ(Kitaplar/Makaleler/Bildiriler)。pubType は必須で不透明な値です。プロフィールページからトークンを確認してください(pubType が空の場合は HTTP 418)。
指導した論文AkademisyenYonTezBilgileri?authorId=<id>Danışmanlık tezleri:タイトル、学生、レベル、年、機関

authorId は不透明な値(16 桁の 16 進数トークン。例:006B496E5F3E4EE2)です。自分で作成したり推測したりせず、実際の検索結果から取得した ID のみを使用してください。Cookie のセッションが必須です。ヘルパーはまずポータルのルートに GET し、検索 POST に必要な JSESSIONID をサーバーに設定させます(セッションなしの POST は HTTP 500 を返します)。

ワークフロー

1. 名前を正規化して検索する

トルコ語の大文字・小文字の扱いには注意が必要です。İ→i と I→ı は、ASCII の大小文字変換とは異なります。名前はユーザーが入力したとおり(UTF-8 で正しくエンコードして)検索し、さらに発音区別符号を除いた表記でも検索してください。そうすれば "Cağrı"、"Cagri"、"Çağrı" がすべて同じ人物にたどり着きます。ヘルパースクリプトは両方の方法で検索します。正確な İ/ı、Ş/ş、Ğ/ğ、Ç/ç、Ö/ö、Ü/ü の規則と照合方法については、references/turkish_names.md を参照してください。

uv run python skills/turkish-academia/alterlab-yok-akademik/scripts/yok_akademik.py \
    search "Ayşe Yılmaz"

これにより候補一覧が返されます(デフォルトでは整形済み JSON を出力し、コンパクトな 1 行出力にするには --json を追加します)。各候補には authorId、名前、unvan が含まれます。

2. ユーザーと候補を確認する

一般的な名前では、多数の人物が該当します。候補を 名前・unvan・大学・学部/学科 の表にして提示し、どの人物か(または想定していた所属機関が正しいか)をユーザーに確認してください。最初の行を黙って選び、所属を断定してはいけません。誤った著者名や書簡が作成されるのは、まさにそのような場合です。

3. 選択した人物のプロフィール/プロジェクト/論文/出版物を取得する

渡す authorId は、実際の検索結果の行から取得したものでなければなりません。各著者別コマンドは、タブを取得する前にまずプロフィールにアクセスします(これによりセッション内で著者が選択されます)。この処理はヘルパーが行います。

# Profile header (affiliation, unvan)
uv run python .../scripts/yok_akademik.py profile  --author-id <authorId>

# Research projects (AB / TÜBİTAK / araştırma …)
uv run python .../scripts/yok_akademik.py projects --author-id <authorId>

# Supervised theses
uv run python .../scripts/yok_akademik.py theses   --author-id <authorId>

# Portal-listed publications (typed tabs: Kitaplar / Makaleler / Bildiriler)
uv run python .../scripts/yok_akademik.py pubs     --author-id <authorId>
4. 出典を明示して報告する

所属を報告する際は、YÖK Akademik(YÖKSİS)から得た情報であることと、日付を明記してください。所属は変わる可能性があるためです。スクレイピングに失敗した場合や、ポータルが 302/500 を返した場合(断続的に発生します)は、その旨を伝え、検索ページで WebFetch にフォールバックしてください。所属、authorId、タイトル、論文を記憶に基づいて決して捏造しないでください。

丁寧さと堅牢性に関するルール

このポータルは API のない公開サービスです。負荷をかけないよう、慎重にスクレイピングしてください。

  • 内容がわかる User-Agent を 1 つ使用し、リクエスト間隔を空けてください(約 1~2 秒)。頻繁に発生する一時的な 302/500 応答には、諦める前にバックオフを適用して再試行してください。
  • セッション内で結果をキャッシュし、同じ authorId に繰り返しアクセスしないでください。
  • スクリプトは requests と BeautifulSoup を優先して使います。BeautifulSoup がない場合は、標準ライブラリの html.parser による抽出に切り替えるため、最小構成の uv 環境でも実行できます。
  • 完全に失敗した場合は、手動で調べる手順を含む構造化された {"status": "unavailable", ...} レコードを出力し、プロフィールを捏造することはありません。

報告前のセルフチェック

  • ライブ検索で使用する authorId が見つかりましたか。それとも推測しましたか。(推測は厳禁です。)
  • 名前に一致する候補が複数ある場合、曖昧さを解消しましたか。
  • 報告する所属は、日付を添えて YÖK Akademik/YÖKSİS に基づくものとして示していますか。
  • 実際に求められていたのは、入学者統計(alterlab-yokatlas)または論文全文(alterlab-yok-tez)ではありませんでしたか。「Does NOT Trigger」表を再確認してください。
  • ポータルが利用できなかった場合、記憶で不足を補わず、その旨を明確に伝えましたか。

参考資料

  • references/endpoints.md — 検証済みの JSP エンドポイント一覧、パラメーター、authorId に関する注記、検証済みの情報と未検証の情報。
  • references/turkish_names.md — トルコ語の大文字・小文字とダイアクリティカルマーク(İ/ı など)のルール、および名前の照合方法。
  • references/affiliation_verification.md — トルコの所属確認で ORCID/OpenAlex より YÖKSİS が優れている理由、および曖昧さを解消するためのチェックリスト。

AlterLab Academic Skills スイートの一部です。

コメント