見出し画像

危機言語フィールドワーカー向け:ELANの談話データから例文提示フォーマット形式のアノテーションデータと音声データを自動で切り出すインテラクティブツール



ELANの談話書き起こしデータを例文に使いたい

危機言語のフィールド言語学者は、ELANやFLEXで談話データを管理している人も多いと思う。ここをいわば「基地」にして、さまざまな用途に応じてエクスポートして使っていることと思う。ここではELANを使っているという前提で話を進める。

ELANの注釈画面

例えば、最も素朴なエクスポート例としては、ELANの標準エクスポート機能を使って、txt形式のインターリニア文書として保存し、そこから例文としてコピペしたり、談話資料のもとにする、と言う場合である。

他にも、HTML形式でのエクスポート、TextGrid形式でのエクスポートなどがある。

いずれにしても、論文や談話集に載っけるための例文提示フォーマットにするには、まずある種の形式にエクスポートしてから、かなりの調整が必要になる。例えば上の画像のインターリニアtxt形式を一度経由して、それを元にLaTeXの例文フォーマット(gb4eやexpexフォーマット)に変換する、ということを行っている人は多いだろう。また、MS Wordを使っている人は上記のtxt形式をそのまま貼り付け、インデント調整などをする。ただ、後述するように、UnicodeのIPAを用いているとLaTeX転換が一手間かかるし、またELAN側のやり方によっては形態素境界が消えていることもあり、それを適宜工夫して対処するなど、さらにいくつかの手間がかかる。

そこで、これらすべての手間を一気に解決し、たとえ数百個の書き起こし文データでも、長くても一分程度で例文提示フォーマットの例文セット(例文ごとの音声ファイルもセット)に変換してくれるツールを紹介する。

これは、ELANに用いるファイル(eafファイルとwavファイル)から、文単位(正確には注釈したセグメント単位)で例文提示に必要な情報を抜き出し、さらにその音声も切り出して、1つのデスクトップフォルダに自動格納するウェブツール。ざっくりとしたイメージを掴むために、以下の図で例示する。

どんなことができるか:クイックレビュー

以下は、私が普段ELANでアノテーションしている画面である。音素で書き取って、語(文節)ごとにスペースを入れ、また語内部に形態素境界を入れたものが第一層(text層と名付ける)、text層を自動分割機能で形態素ごとにバラして配置した第二層(morph層)、morph層それぞれの形態素に対してグロスをつけた第三層(gloss層)、そして、全体訳の層(trans層)からなる。

ELANのアノテーション画面

上記のアノテーション区間を「文」と呼ぶと、1つのeafファイルに大体50から200くらいの「文」がある。eaftoxは、文境界を自動で検知し、図1のような文ごとに、まず音声ファイルを切り出し(以下で図の区間を試しにダウンロード可能)、さらにLaTeXのgb4e形式とtxt形式に整えてくれる。1つのeafファイルに50個の文があれば50個のwavファイルと50個のgb4e形式例文、50個のtxt形式例文が出来上がり、全てリスト化してzipファイルにまとめて吐き出してくれる。

eafファイルの「文」(図2)のgb4e形式変換
そのpdf出力(コンパイルしたもの)
図4. txt形式

ファイル構造は以下のようになっていて、eafファイルに50個の「文」があれば、sentence_01からsentence_50までの例文・音声ファイルセットが切り出される。

sentence_01
|-- gb4e
|-- txt
|-- wav
---中略---
sentence_50
|--gb4e
|-- txt
|--wav

ツールの使い方

以下では文章で説明していくが、手っ取り早く動画で学びたい人は以下を参照。

標準的な3層構造の例文で出力したい場合→ここから
4層構造の例文で出力したい場合→ここから
形態素分割しない例文提示で出力したい場合→ここから

Youtubeにリンクされます

1. アノテーションしたeafファイルとwavファイルを用意

このツールで必要なのはeafファイルと、さらに音声分割が必要ならwavファイル。それを保存先からダイレクトにツールにアップロードすることになる。

2.話者の数

eaftoxは、モノローグ(話者1人による語り)にもダイアローグ(会話)にも対応している。以下の画像では話者が2人の書き起こしデータを扱う場合である。話者ごとに、その名前(txt形式、gb4e形式で出力する際の話者の名前)、出力用の層構造(後述)を個別指定できる。もちろん、音声ファイルも、話者ごとに個別に小分けして切り出される。(この設定が死ぬほど大変だった泣。)

話者数の選択

以下では話者が1人の場合について解説するが、話者が複数いる場合は、同じことを繰り返せば良い。

以下の解説で用いるeafファイルとwavファイルは以下からダウンロードできる。基本的な3段グロス対応を前提とした、text層、morph層、gloss層、trans層の4層構造のeafファイルと、wavファイルである。

3. ティア構造確認

上記の2ファイルをeaftoxで読み込み、話者数と名前を設定すると(今回、1人で、仮にSTとした)、以下の画像のように出力モードを選択する。

話者の設定とモード設定

シンプル3層(例文+グロス+訳):1行目は形態素境界なしの例文、2行めは語(あるいは文節)ごとの簡易グロス、3行めに全文訳(簡易3段方式)に整えて欲しい場合にこれを選択する。


3層(形態素分析付き例文+グロス+訳):一般的な例文フォーマット、つまり1行めに例文(形態素境界あり)、2行めに形態素ごとのグロス、3行めに全文訳という、標準3段方式(下地2020)に整えて欲しい場合にこれを選択する。



4層
(表層例文+基底+グロス+訳):1行めは形態素境界なしの例文、2行目は形態素境界ありの基底表示例文、3行めにグロス、4行めに全文訳(標準4段方式)に整えて欲しい場合にこれを選択する。


4. 読み込むティアの確認と修正

eafファイルをアップロードし、出力モードを設定すれば、ある程度自動で、読み込みに必要なティア構造が示される。eafファイルの実際のティア名を自動で読み込んでいるので、もしズレがあればドロップダウンリストで選択し直して修正する。なお、pos層(品詞層)は、それを注釈に含めていない人の場合はスキップしてOK(なぜこれを注釈しておいた方がいいかについてはここを参照)。

ティアの設定

5. eaftoxの実行と結果のダウンロード

さて、全ての指定が終わったらオレンジの「変換実行」バーを押す。画面に処理の経過が表示される。大きなファイルの場合は数十秒から数分程度かかるが、最終的にはブラウザの「ダウンロード」からzipファイルで吐き出される。

補足:ELANからの例文のエクスポートにまつわる問題点

LaTeX用に出力する際に生じる IPA表記の変換

eafファイルでunicodeのIPA記号を使っている場合、例えば伊良部の母音/ɨ/は、このままではLaTeXで出力できない。LaTeXでは、(典型的には)tipaパッケージを用いて、¥textbariのようにして表す(図15のas¥textbari{}は、実際は元のeafファイルでasɨ)。よって、eafファイルをLaTeX用の例文にする際は、これらIPA記号の一括変換が必要になる。eaftoxではeafファイルにあるIPA記号を自動検知してtipa形式に自動で変換してくれるように設定している(もちろん、txt形式で出力する時はそうしないように設定されている)。

図15. /ɨ/ (Unicode)をLaTeXのtipa方式(¥textbari)に自動変換
図16. txt形式では/ɨ/がそのまま出力される


また、eafファイルのgloss層で文法形態素を大文字にしている前提で、それを小型大文字に自動変換するようになっている(gb4e形式では図15のように¥textsc{}になる)。

 ELANの形態素自動分割機能の弊害

ELANには、text層自動分割機能においてハイフンやイコール記号を単語内部の形態素境界と認識するように設定している人(私含む)は、morph層に自動分割した際、ハイフン・イコール記号が消えてしまうと言う問題がある。例えば図17で、text層のnkjaan=duの「=」やffa-gamaの「-」は、morph層では境界記号として消えてしまい、morph層において接語なのか接辞・語根境界なのかがわからなくなる。もちろん、それを見越して、text層でnkjaan|=duのように、'|'を区切り境界にするなど、いろんな方法で回避することはできるが、私は'|'のような一手間も面倒なので、デフォルトのままで形態素自動分割をするから、図17のように形態素境界記号が消える問題に直面する。

図17. text層の形態素境界情報がmorph層で消える問題

eaftoxでは、形態素のハイフン、イコール記号もちゃんと復活するように整えている(図18a, b)。概略、eafのtext層の形態素境界情報を参照し、morph層の形態素境界記号を復活させる仕組みにしている。むしろ、こういうことができるから、ELANで書き起こす際はなるべく労力を惜しんで、シンプルにアノテーションしたほうがいい。

図18a. LaTeXのgb4e形式による標準3段方式:形態素境界記号が復活している
図18b. 上記gb4e形式のpdf出力

ELANの書き起こしデータと記録保存の関係

言語ドキュメンテーションの文脈では、収集した音声・映像データと、それに対する注釈データをセットにして、ローカル環境(自分のパソコンのフォルダ)、外部HDD、そしてクラウド型のリポジトリ(Zenodoなど)に保存することが求められる(詳しくはここから)。

談話データに関しては、ELANで注釈づけを行っている人も多いと思う。ELANの場合、eafファイルという形式で、注釈情報が保存されるが、これをそのままドキュメンテーション対象として保存するのは問題がある。まず、このファイル形式がいつまで使われるかわからない。さらに、eafファイルが開けない人はアクセスができない。ドキュメンテーションの対象として保存するのは、eafファイルそのものではなく、注釈が施されたInterlinear Glossed Text方式の、見やすい例文形式(txt形式やpdf形式で)の注釈ファイルと、それぞれの例文に対応する小分けされた音声ファイルのセットであった方が良い。

さらに、ELANのeafファイルをこのように例文(というか発話単位)ごとに小分けして切り出しておけば、たとえばそれを使った応用の幅がぐんと広がる。ELANの談話を一般向けに公開したいと思っている人も多いだろうが、どうやればいいかわからない人も多いと思う。そんな時、ELANから、例文単位で注釈情報を抜き出し、音声も例文単位で切り分けることができたら、たとえば以下で紹介するような談話ギャラリーの作成も簡単にできる。eaftoxを使って、こうしたドキュメンテーションの取り組みにもぜひ活かしてほしい。


いいなと思ったら応援しよう!