

# LinkedInプロフィールデータで関係に関する主張を検証する方法

関係を判断する前に、プロフィール記録が対象と一致することを確認してください。一致しても、ヘッドラインが各組織に結び付くわけではありません。現在、報酬を伴う仕事をしていることの証明にもなりません。公開フィールドの正確な内容に照らして、各主張を検証してください。そのうえで、それらのフィールドが裏付ける限定的な解釈だけを残します。

Actorは、ホスティング環境で動作するデータ収集プログラムです。この記事で扱うActorは、[LinkedIn Profile Scraper](https://apify.com/chronometrica/linkedin-profile-scraper)です。Taskは、Actorの入力設定を保存したものです。Actorは公開プロフィールのフィールドを収集します。関係に関する主張を検証するのは利用者です。Actorが関係を判定することはありません。雇用を確認することもありません。見込み客リストを作成することもありません。

## 既知のプロフィールを1件収集する

ビルドは、番号が付いたActorの公開バージョンです。現在の公開ビルドは1.0.28です。このビルドは`startUrls`のリストを受け取ります。各項目には、既知の公開プロフィールURLを指定する必要があります。URLには`/in/`が含まれている必要があります。保存済みのサンプルリスト全体を、対象のURL1件に置き換えてください。保存済みのTaskは、入力を準備するための出発点にすぎません。この検証が自動で行われることを示すものではありません。

この入力例のように、既知のプロフィールURLを`startUrls`に指定してください。

```json
{
  "startUrls": [
    "https://www.linkedin.com/in/your-intended-public-profile"
  ]
}
```

既知のプロフィールを1件収集する

サンプルのパスを、選んだ実際の公開プロフィールのパスに変更してください。リストに古いサンプルURLを残さないでください。

プロフィール記録の次のフィールドを確認してください。

- `profileId`：プロフィールの安定したID
- `profileUrn`：同じプロフィールを示す、別の安定したID
- `publicIdentifier`：URLのパスに含まれる公開名
- `url`：公開プロフィールのアドレス
- `name`：プロフィールに表示される名前
- `headline`：プロフィール全体に対する1つの文字列
- `currentOrganizations`：組織名のリスト
- `organizationDetails`：組織に関する事実を含むオブジェクト
- `education`：学歴項目のリスト
- `educationDetails`：学歴のテキストと日付を含む、別のリスト
- `status`：今回の読み取りが成功したかどうか
- `statusReason`：読み取りが失敗した場合、またはブロックされた場合の原因
- `observedAt`：今回、公開情報を読み取った時刻

`headline`は、プロフィール全体に対するテキストです。個別の組織オブジェクト内に保存されているわけではありません。

各`organizationDetails`オブジェクトには、`name`、`url`、`location`を格納できます。職務名はありません。フルタイムやパートタイムといった契約形態もありません。就業開始日も終了日もありません。職務と組織を対応付けるIDもありません。このIDがあれば、1つの職務を1つの組織に結び付けられます。

雇用主との関係とは、1つの職務と1つの雇用主を結ぶ関係です。フィールドパスは、記録内で値が置かれている場所を示します。`headline`は1つのフィールドパスです。`organizationDetails.name`は別のフィールドパスです。ここには、雇用主との関係を明示するフィールドパスはありません。

各`educationDetails`項目には、`name`、`url`、`description`を格納できます。`startDate`と`endDate`も格納できます。日付の値は文字列またはnullです。nullは値がないことを意味します。値がないことと0は異なります。説明文は学位の証明にはなりません。免許や、業務に従事する資格の証明にもなりません。

実行とは、Actorを1回動かすことです。実行では、`inputCount`、`usefulRows`、`failedRows`、`stopReason`が報告されます。`inputCount`は入力したURLの数です。`usefulRows`は、ステータスがokで、正常に保存されたプロフィール行の数です。ok以外の行も保存されますが、`failedRows`として数えられます。`stopReason`は、実行が停止した理由を示します。これらの数値が表すのは実行についてだけです。関係に関する主張の数ではありません。4件の主張を検証しても、`usefulRows`が4になるわけではありません。

確認した公開プロフィール記録の1件は、既知のプロフィールIDと一致しました。`currentOrganizations`の項目は1件でした。`organizationDetails`オブジェクトも1件でした。そのオブジェクトには、名前、URL、所在地がありました。ヘッドラインはありませんでした。`education`リストは空でした。`educationDetails`リストも空でした。ステータスは成功を示していました。成功しても、必要な職務フィールドが追加されるわけではありません。現在、報酬を伴う仕事をしていることの証明にもなりません。職歴がすべてそろっていることの証明にもなりません。学歴リストが空であることは、公開テキストを取得できなかったことを意味します。その人に学歴がないことの証明ではありません。ヘッドラインがない場合、そのテキストは不明です。職務が存在しないことの証明ではありません。

## 8つの手順で検証する

プロフィールの同一性が確認できてから、次の手順を行ってください。[同一性の確認](/ja/articles/linkedin-%E3%83%97%E3%83%AD%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB-%E6%8A%95%E7%A8%BF-%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E6%AD%A3%E7%A2%BA%E3%81%AA%E7%B5%90%E5%90%88/)は、別の同一性確認ガイドで扱います。この記事では、投稿、コメント、ほかのプロフィールを結合しません。

1. 既知のプロフィールURLと、答えが必要な問いから始めます。会社と職務を知りたい場合もあるでしょう。プロフィール記録には、ヘッドラインと組織名が表示されることがあります。それらのテキストは、すべての組織について職務と雇用主の関係が確認済みであることを意味しません。まず、必要な小規模の公開記録を収集してください。`status`、`statusReason`、`observedAt`を記録とともに保持します。それより前に、関係についての主張を書かないでください。
2. 記録が意図したプロフィールのものであることを確認します。空白でない`profileId`と、それに一致する公開URLが必要です。`profileUrn`があれば、同じ方法で使えます。IDが空白、欠落、またはURLと不一致の場合は、そこで止めてください。その記録は関係の検証から除外します。記録の横に理由を書きます。名前だけでは不十分です。
3. 想定する関係を、それぞれ独立した主張として書きます。判断する前に、この作業を行ってください。たとえば、ある人が特定の会社のエンジニアであるという主張があります。別の主張として、その関係が現在のフルタイムで報酬を伴う仕事であるというものがあります。また、学歴項目が学位の取得を証明するという主張もあります。プロフィールの名前とIDは、これらの主張を証明しません。
4. 正確なフィールドパスと元の値を確認します。`headline`はプロフィール全体のテキストです。`currentOrganizations`は組織名を列挙します。`organizationDetails`には、名前、URL、所在地が加わります。職務、契約形態、就業期間は加わりません。同じヘッドラインをすべての組織に対応付けないでください。リスト内の位置を結合キーとして使わないでください。リスト内の位置は、項目の順番にすぎません。組織のURLを、仕事の証明として扱わないでください。
5. 各主張に検証状態を1つ付けます。これらの状態は、検証の際に作成するものです。Actorのフィールドではありません。`supported_only_at_source_scope`は、その時点の記録が、その限定的な事実を示していることを意味します。`unsupported_pairing`は、2つの事実はあるものの、両者を結び付けるフィールドがないことを意味します。`unsupported_employment_state`は、報酬、労働時間、現在の契約が記録に示されていないことを意味します。`unsupported_credential_claim`は、学位の取得、資格などの授与、免許が記録に示されていないことを意味します。`needs_source_review`は、記録が不明確で、情報源を再確認する必要があることを意味します。証拠がないからといって、主張が誤りになるわけではありません。この記録では主張を立証できないという意味です。矛盾はこれとは異なります。確認済みの別の情報源が明確に食い違う場合にだけ使ってください。情報の欠落を矛盾と呼ばないでください。
6. 裏付けのない主張を、事実に忠実な、最も範囲の狭い文に置き換えます。ヘッドラインは元の表現を保ちます。各組織も元の表現を保ちます。ヘッドラインと組織名は、別々の事実として記載してください。その人が両方の組織でエンジニアをしているとは書かないでください。雇用主との関係が必要なら、その関係を明示する情報源を使います。その情報源と、その情報源自体の時点を記録してください。このActorが完全な職歴欄を隠していると決め付けないでください。
7. 学歴も同じルールで検証します。未来の`endDate`は、現時点で卒業していることの証明にはなりません。説明文は、確認済みの学位や免許ではありません。日付の文字列は、与えられた精度を保ってください。年だけの値を、正確な年月日に変えてはいけません。空の学歴リストは、公開テキストを取得できなかったことを示します。資格が存在しないことの証明ではありません。読み取りがブロックされた記録も、その証明にはなりません。不明なものは不明のままにします。不明は0ではありません。
8. 検証が終わったら、主張をまとめた表を1つ作成します。各主張の行には7つのセルを設けます。まず、出典となるプロフィールと観測時刻を記します。次に、検証する主張を書きます。続いて、フィールドの正確な値を書きます。その後に、状態と理由を書きます。次に、修正した表現を書きます。最後に、まだ必要な追加証拠を書きます。主張の数は、プロフィールの数とは別に数えてください。組織オブジェクトの数とも別に数えます。学歴オブジェクトの数とも別に数えます。これは事実の検証です。雇用データベースではありません。職務の集計でもありません。資格の確認でもありません。[職務の集計](/ja/articles/linkedin-%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E6%8A%95%E7%A8%BF%E8%80%85-%E5%85%AC%E9%96%8B%E8%81%B7%E7%A8%AE%E3%81%AE%E8%AA%BF%E3%81%B9%E6%96%B9/)は、別の職務分類ガイドで扱います。

## 架空の具体例で検証する

この節のプロフィールと値は架空のものです。説明用の例であり、Actorの取得結果ではありません。実在する人について確認された雇用情報ではありません。

この架空の例では、P1という1件のプロフィールを使います。観測時刻は2026-06-15T12:00:00Zと仮定します。この時刻は、この例のためだけに仮定したものです。

ヘッドラインの元の値はEngineer | advisorです。この元のテキストは変更せずに保持してください。

`currentOrganizations`には2つの名前が含まれます。Cedar LabsとNorth Clubです。

組織オブジェクト1はCedar Labsです。含まれるのは名前、URL、所在地だけです。組織オブジェクト2はNorth Clubです。こちらも名前、URL、所在地だけです。どちらのオブジェクトにも、職務、契約形態、就業期間、職務と組織を対応付けるIDはありません。

学歴オブジェクトは1件です。名前はCedar Collegeです。説明はEngineeringです。`startDate`は2024です。`endDate`は2027です。これらの日付の値は年を示す表記であり、正確な年月日ではありません。

職務と雇用主を結び付けるフィールドはありません。学位などが授与されたかどうかを示すフィールドもありません。最初の組織名はCedar Labsです。2番目はNorth Clubです。この順番は結合キーではありません。Cedar CollegeとCedar Labsには、Cedarという共通の単語が含まれています。単語が共通していても、組織と学校の関係を示すことにはなりません。

この検証では4件の主張を扱います。使うのは、プロフィール1件、組織オブジェクト2件、学歴オブジェクト1件です。4件の主張を4人として扱わないでください。

| 出典プロフィールと観測時刻 | 検証する主張 | フィールドの正確な値 | 状態 | 理由 | 修正した表現 | 必要な追加証拠 |
| --- | --- | --- | --- | --- | --- | --- |
| 架空のP1、仮定した時刻2026-06-15T12:00:00Z | R1. P1はCedar Labsのエンジニアである | ヘッドラインは、上記のプロフィールの元のテキストです。`currentOrganizations`にはCedar Labsが含まれます。Cedar Labsのオブジェクトにあるのは、名前、URL、所在地だけです。 | unsupported_pairing | ヘッドラインには雇用主との結び付きがありません。その職務を表す語句をCedar Labsに対応付けるフィールドはありません。 | 仮定した時刻におけるヘッドラインは、上記の元のテキストです。記録にはCedar Labsも記載されています。これらは別々の事実として扱います。 | この職務をCedar Labsに結び付ける、確認済みの別の情報源と、その情報源自体の時点。 |
| 架空のP1、仮定した時刻2026-06-15T12:00:00Z | R2. P1は現在、North Clubでフルタイムで働いている | `currentOrganizations`にはNorth Clubが含まれます。North Clubのオブジェクトにあるのは、名前、URL、所在地だけです。契約形態も就業期間もありません。 | unsupported_employment_state | 組織が記載されていても、フルタイムで働いていることや、現在報酬を得ていることの証明にはなりません。 | 仮定した時刻の記録には、North Clubの名前、URL、所在地が記載されています。契約についての記載はありません。 | North Clubとの契約形態と期間を明示する、確認済みの別の情報源。 |
| 架空のP1、仮定した時刻2026-06-15T12:00:00Z | R3. P1は2026年にCedar Collegeを卒業した | 学歴の名前はCedar Collegeです。説明はEngineeringです。`startDate`は2024です。`endDate`は2027です。 | unsupported_credential_claim | `endDate`の表記は2027であり、2026年の学位などの授与を示すものではありません。授与の完了を示すフィールドはありません。年の表記は、正確な年月日ではありません。 | 項目の名前はCedar Collegeです。説明の表記はEngineeringです。`startDate`の表記は2024です。`endDate`の表記は2027です。これらは元の表記であり、確認済みの在籍情報や学位などの授与情報ではありません。 | より強いその主張が必要なら、確認済みの別の授与記録。 |
| 架空のP1、仮定した時刻2026-06-15T12:00:00Z | R4. この確認済みの公開プロフィールには、記録された観測時点で、3つのテキストフィールドがその正確な内容で記載されている | 上記のヘッドラインのテキスト、Cedar LabsとNorth Clubという名前、日付の表記を含むCedar Collegeの項目。 | supported_only_at_source_scope | この架空の記録には、仮定した時刻に、それらの公開テキストが含まれています。裏付けられるのは、記載があることまでです。 | 仮定した時刻の架空プロフィールP1には、そのヘッドライン、2つの組織名、1件の学歴項目が記載されています。 | 記載があること自体については不要です。その記載は、仕事や学位の証明にはなりません。 |

2件目の架空プロフィールは、ステータスがokです。ヘッドラインは欠落しています。そのヘッドラインに基づく職務の主張は不明です。P1のヘッドラインや職務を、このプロフィールに割り当てないでください。ヘッドラインが欠落しているからといって、仕事がないということではありません。職務が0ということでもありません。これらの架空の事例は、どれも実際の雇用情報の取得結果ではありません。

## 次に行うこと

手元のプロフィール記録から、雇用主と職務を結び付ける文を1つ選んでください。`headline`、`currentOrganizations`、`organizationDetails`を確認し、その職務と雇用主を実際に結び付ける情報があるかを調べます。結び付きがなければ、範囲を狭めた表現を書き、まだ必要な証拠を明記してください。[LinkedIn Profile Scraper](https://apify.com/chronometrica/linkedin-profile-scraper)で公開フィールドを収集します。[LinkedIn Profile Organization and Education Data](https://apify.com/chronometrica/linkedin-profile-scraper/examples/linkedin-profile-organization-education-data) Taskを使って始める場合は、先に保存済みのサンプルURLを置き換えてください。

## 出典と参考資料

- [LinkedIn Profile Scraper](https://apify.com/chronometrica/linkedin-profile-scraper)
- [LinkedIn Profile Organization and Education Data](https://apify.com/chronometrica/linkedin-profile-scraper/examples/linkedin-profile-organization-education-data)
- [r/linkedin 1cqpg97](https://www.reddit.com/r/linkedin/comments/1cqpg97/is_it_possible_to_export_data_from_linkedin_to_an/)