
既存字幕の取得設定と対照確認
Actorはウェブデータを収集するホスト型プログラムで、Taskは保存済みの入力設定です。現在のTaskのサンプル入力には、Hank Greenの動画URL `https://www.tiktok.com/@hankgreen1/video/7047596209028074758`を1件含むstartUrls配列と、空のpreferredLanguagesリスト`[]`が入っています。startUrlsのサンプルリスト全体を、取得対象として把握している公開動画1本のアドレスに置き換えてください。研究で英語を対象とするルールを明示している場合に限り、preferredLanguagesに`["en"]`を指定してください。言語を問わず最初の公開字幕トラックを選ぶ場合は、空のリスト`[]`を指定します。まず、この1本の動画による予備試行を実行し、対象の取得元に公開字幕があることを確認してください。意味上の誤りとは、研究での分類に影響する意味の変化を指します。
TikTok Transcriptの現在の公開ビルド0.1.36では、startUrlsに、既知の公開動画のURL、短縮リンク、または数値の動画IDを1〜100件指定できます。プロフィール、キーワード、楽曲ページの検索は行いません。preferredLanguagesフィールドは、既存の公開字幕トラックを指定した優先順位で選択します。空のリストを指定すると、最初の公開字幕トラックを使用します。翻訳、字幕化されていない音声の文字起こし、コメントの収集、コンテンツの分類コードの推定は行いません。
送信した入力1件につき、データセットの1行が対応します。課金対象外のステータス結果も含まれます。正確なフィールド名は、inputIndex、inputUrl、videoId、videoUrl、authorHandle、durationSeconds、languageCode、text、およびstartSeconds、endSeconds、textを含むsegmentsに加え、status、statusReason、isBillable、scrapedAtです。返されたstartSecondsとendSecondsをそのまま使用してください。動画IDは文字列として保持してください。字幕の言語には、eng-USのような地域を含む値が使われる場合があります。失敗を示すステータスで文字起こしがnullまたは空の場合、それは発話がなかったことを意味しません。
ステータスには、succeeded、no_public_captions、language_unavailable、duplicate_input、not_tiktok、invalid_input、unsupported_url、video_unavailable、not_public、blocked_or_challengedのほか、抽出や字幕の取得に関する失敗があります。成功には、空ではないtextが必要です。isBillableがTrueであることは、既存字幕の取得に成功した結果イベントを意味します。それ以外の行も証拠として残ります。プラットフォームの使用料金は結果イベントとは別なので、実行全体を無料とは表現しないでください。実行の集計フィールドには、inputsReceived、resultRows、billableTranscriptRows、nonBillableResultRows、duplicateVideosSkipped、statusCountsがあります。
英語の動画1本を使った対照確認は成功しました。要求した動画IDと完全に一致し、空ではないテキストと、確認対象の時刻情報の形式に合う12個のセグメントが得られました。これにより、その取得元で公開字幕を取得できる経路があることが確認できました。ただし、すべての動画で取得できること、発話の単語が完全に正確であること、研究上の分類が妥当であることを示すものではありません。ご自身で動画1本の予備試行を始める際は、研究の対象言語を英語と明示している場合に限り、preferredLanguagesをenに設定してください。
検証の全手順
- 特定の指示、主張、否定表現など、研究で単語から何を確認する必要があるかを明示します。サンプルの選定ルール、言語、対象期間を明示し、それに従って既知の動画を選びます。字幕が取得できなかった場合、誤りを0と評価してはいけません。
- 既存字幕のテキスト、時刻情報、取得元の識別情報、時刻を変更せずに保存します。succeededで、テキストが空ではない字幕トラックから始めます。languageCodeとstatusを記録します。音声を明瞭に確認できる、明示した区間だけを比較します。これは発話の単語を検証するものであり、動画内容全体の正確さを検証するものではありません。
- 選んだ区間の動画音声を聞き、字幕を見ずに参照用の文字起こしを作成します。確信が持てない単語は再確認するか、別の確認者にも聞いてもらいます。音声が不明瞭、または聞き取れない場合は、該当する単語に印を付け、推測せずに、明示したルールに従って除外します。人が作成した参照用の文字起こしは、確認済みの比較記録ですが、人の確認者にも誤りはあり得ます。
- 評価前に作業用テキストへ加える変更を、明示的で統一されたテキスト正規化のルールとして定めます。すべてのテキストを小文字に変換し、一般的な句読点を削除し、空白で区切って単純な単語トークンに分割します。数字、notのような否定語、正確な語形、umやahのようなフィラーは、作業用テキストに残します。語尾を削除したり、単語を辞書の見出し語の形に変換したりしないでください。元のテキストと作業用テキストを並べて保存し、すべての変更を追跡できるようにします。
- 参照文の単語と字幕の単語を、順番に対応付けます。置換とは、対応する単語が異なることです。削除とは、参照文にある単語が字幕にないことです。挿入とは、参照文にない単語が字幕にあることです。対応付けた各行を正確に記録します。
- Nを参照文の単語数とし、S、D、Iを、それぞれ対応付けで確認した置換、削除、挿入の誤り数と定義します。単語誤り率は、(S+D+I)をNで割った値です。100を掛けると百分率になります。Nは正の値でなければなりません。挿入によって、単語誤り率が100%を超える場合があります。
- サンプル全体を集計する場合は、誤りの総数を参照文の総単語数で割り、全体の単語誤り率を求めます。動画ごとの結果も保存します。欠損があるサンプルや未評価のサンプルは別に示します。便宜的に選んだサンプルでは、すべての動画の精度を立証できません。
- 研究上の分類に影響する否定表現、数字、名前、単位、話者の特定、発話の欠落について、意味上の誤りを記録します。1語の誤りで意味が逆転する場合があります。別に作成した分析用コピーを修正するか、該当箇所を除外または再確認するか、手作業で分類するかを決めます。修正内容、時刻、取得元、出所と処理の履歴を残します。元の字幕は上書きしないでください。
計算を含む具体例と単語の対応付け
評価結果はすべて、手作業で計算した架空の例です。NISTのツールを実行した結果ではありません。
架空の対応付け例Aでは、5語の参照文が「i water the red plant」、字幕が「i water a red plan」です。
| 参照文の単語 | 字幕の単語 | 誤りの種類 |
|---|---|---|
| i | i | 正しい |
| water | water | 正しい |
| the | a | 置換 |
| red | red | 正しい |
| plant | plan | 置換 |
架空の対応付け例Aでは、S=2、D=0、I=0です。単語誤り率は2を5で割った値で、40%です。
架空の対応付け例Bでは、10語の参照文が「we do not add water until the tray is level」、字幕が「we do add water until the tray is level」です。
| 参照文の単語 | 字幕の単語 | 誤りの種類 |
|---|---|---|
| we | we | 正しい |
| do | do | 正しい |
| not | [deleted] | 削除 |
| add | add | 正しい |
| water | water | 正しい |
| until | until | 正しい |
| the | the | 正しい |
| tray | tray | 正しい |
| is | is | 正しい |
| level | level | 正しい |
架空の対応付け例Bでは、notの箇所で削除があり、S=0、D=1、I=0です。それ以外の参照文の単語は、すべて1回ずつ対応しています。単語誤り率は1を10で割った値で、10%です。
単語誤り率は低くても、この削除によって指示の意味が逆転します。重大な否定表現の誤りとして記録し、該当箇所には再確認が必要であることを示す印を残します。
動画ごとの誤り率の単純平均は(40+10)/2=25%です。両方の動画をまとめた単語誤り率は(2+1)/(5+10)=3/15=20%です。単純平均では、動画の長さにかかわらず各動画を同じ重みで扱うため、25%になります。全体をまとめた計算では、サンプル全体の参照文の総単語数を基準に各誤りの重みを決めるため、20%になります。
| サンプル | 参照文の単語数N | 置換数 | 削除数 | 挿入数 | 単語誤り率 | 意味に関する注記 |
|---|---|---|---|---|---|---|
| 架空の例A | 5 | 2 | 0 | 0 | 40% | 名詞と冠詞が変化 |
| 架空の例B | 10 | 0 | 1 | 0 | 10% | 意味を左右する重要な否定語が削除 |
| 架空の例C | 1 | 0 | 0 | 4 | 400% | 余分な単語が追加 |
| 取得失敗の行 | 不明 | 不明 | 不明 | 不明 | 未評価 | 字幕トラックを取得できず |
| AとBの合算 | 15 | 2 | 1 | 0 | 20% | 単語数を合算して集計 |
例Cでは、参照文が「water」(N=1)、字幕が「please add clean water now」です。置換は0、削除は0、挿入は4なので、単語誤り率は4を1で割った値、つまり400%になります。字幕の取得に失敗した行では誤り数が不明のため、未評価のままにします。これは誤り率0%とは異なります。
出典と参考資料
著者 Chronometrica · 更新日
ページの先頭へ ↑
