f:id:insaneway:20191126125306j:plain
Photo by Maria Teneva on Unsplash

自分は、PCのローカルに字幕DBを構築し、一回見たエピソードは随時DBに取り込んで、いつでも検索してどの番組のどのエピソードのどのシーンに特定の英単語が出てきたのか分かるようにしてるんですが、最初あまり深く考えずに仕組みを構築してしまったため、初期に取り込んだデータはゴミが付いてたりします。そこで、自分が悪戦苦闘した(してる)問題を共有したいと思います。ほとんどはsrtファイルのフォーマットがしっかりしてれば解決するんですが。

  • 文字コードの問題
    • 英語だから文字コードは関係ないと思ってたら結構関係ありました。subsceneから落としたファイルも文字コードがバラバラなので、DBに取り込む前に、処理するほうがデータをクリーンに保てます。
  • タグの問題
    • srtファイル内にhtml形式のタグが埋め込まれていることがあります。そのシーンに写ってない人物が発言する場合はイタリック体など。そのことを考慮しなかったので、初期のデータにはタグが入っちゃっています。取り込む前にそれを取り除く必要があります。
  • 宣伝や自サイトのURL、クレジットなど
    • 無料で字幕を落としてるのでsrtファイルにそういった情報が入ることはまあ理解してますが、初期の頃はそういったことに関心がなく、データが少し汚染されちゃってます。
  • 歌の歌詞
    • ドラマ内で歌が歌われる時に、srtファイルで音符記号を丁寧に付けてくれる方がいるみたいで、最初の頃、そういった記号は全部削除していたのですが、検索して出てきた時に、これが歌詞の一部なのか、それともセリフの一部なのかが分かったほうが良いということで、途中から音符記号はそのまま残すようにしました。これは元に戻せないので、最初に入念に検討しておけば、と後悔しています。
  • HI向けファイル
    • 聴覚障害者向けのsrtファイルは、HI(Hearing Impaired)と呼ばれていますが、最初に取り込んだファイルはそういう区別なしに取り込んだので、セリフ以外の余計な情報が混じってしまっています。最初からHI向けファイルは取り込まないという方針で行けばよかったです。
  • srtファイルのシーケンスデータ
    • srtファイルは各セリフごとに最初から、1,2,3というように連番されていますが、この番号が跳んでいることがあります。前述のHIファイルからHI無しファイルを作る時に、状況説明の箇所を抜いているからだと推測されますが、テーブル の列としてこの番号を持つ必要は無かったと後悔してます。
  • OCRされた字幕
    • 字幕ファイルのソースがOCRのものを取り込んだのは致命的でした。以下の記事に説明したように、字幕として表示する際には気になんないのかもしれませんが、いざデータとして取り込むと検索にヒットしません。これももう少し考えればよかったです。
    • srt字幕ファイルの I(アイ)と l(エル) - ドラマの中の英語
  • 字幕のソース
    • retail版というDVDなんかに埋め込んであるデータを抜いてくれている人がいますが、そちらのほうが信頼性は高いようです。利用できるならそちらを積極的に取り込めばよかったです。
  • 字幕ファイル名
    • 字幕ファイルはドラマ別にフォルダ分けし、ファイル名のS01E09なんかの情報を正規表現で抜いて、この字幕はなんというドラマの○シーズンの○エピソードのデータと解釈してますが、もうちょっと正規表現を洗練させればよかったと後悔してます。初期はわざわざファイル名を手動で変えていましたので・・・

以上、こんなところでしょうか。この情報が何らかのお役に立てば幸いです。