« 報告:深谷先生の辞書引き学習体験会2 - 『三省堂国語辞典』のすすめ その60 »

UNIX によるコーパスデータの処理 (6)

2009年 3月 24日 火曜日 筆者: 阪上 辰也

学習者コーパス入門 第22回

今回は、新たなコマンドとして「tr コマンド」を紹介します。

これまでに見てきた「grepコマンド」は、検索文字列を含んだ行を抽出するもので、各種オプションを加えることで、複雑でかつ効率的な検索ができることを見てきました。今回取り上げる tr コマンドは、検索文字列の抽出ではなく、文字列の「置換」を行うコマンドです。コーパス処理においては、よく行う置換作業が2つあります。1つは、大文字から小文字への置換、もう1つは空白類の置換です。

まずは、大文字から小文字への置換について見てみましょう。コンピュータは、大文字と小文字で表示されるものを区別して扱う場合があります。例えば、「apple」と「Apple」の場合、片方は大文字を含んでいるため、別の文字列として扱われることになります。もし、コーパス中に含まれる「apple」という単語の頻度を求める際に、大文字を小文字に置換しておかなければ、正確な頻度を求めることができなくなってしまいます。そこで、以下のようなコマンドを実行し、大文字のアルファベットを小文字に置換します。

tr ‘[A-Z]’ ‘[a-z]’ < JPN001.txt [Enter キーを押す](※)

この tr コマンドでは、「何を」置換するかを指定し、その後で「何に」置換するかを指定します。コマンドがうまく実行されていれば、すべての大文字が小文字になって出力されているはずです。上記のコマンドの場合、大文字のアルファベットがあれば([A-Z] と入力することで、A から最後の Z までを指定したことになり、すべての大文字のアルファベットを入力する必要はありません)、対応する小文字に置換せよ(つまり、A なら a に、B なら b に置換する)という処理が行われることになります。それでは、この出力結果を保存しておきましょう。

データの保存には、コマンドの後に「>」を入力し、その後に保存するファイル名(以下の例では、komoji_001.txt)を入力します。なお、「<」の後には、処理するために読み込むファイルの名前を指定します。

tr [A-Z] [a-z] < JPN001.txt > komoji_001.txt [Enter キーを押す](※)

保存されたファイルの内容を表示するには、「cat コマンド」を使用します。このコマンドについては、今後扱う予定ですが、今は、「ファイルの内容を表示するためのコマンド」であると覚えておいてください。「cat komoji_001.txt」と入力して実行すれば、komoji_001.txt のファイルの内容が表示され、大文字が小文字に置換されていることを確認してください。この処理ができていれば、大文字で書かれていた単語も、同じ単語として扱うことができるようになります。

次に、第13回の記事でも扱いましたが、スペースなどの空白類を改行文字に置換する処理について見てみましょう。この処理結果は、単語数を求めたり、語彙一覧表を作成したりするための下処理のあたるもので、よく行う処理です。以下のコマンドを実行し、半角スペースを改行文字(「\n」)に置換します。

tr ‘ ‘ ‘\n’ < JPN001.txt [Enter キーを押す](※)

うまくコマンドが実行されれば、一行につき一単語が表示されて出力されているはずです(本来なら、個人情報や話者記号など、不要な情報を含んでないテキストに対して上記のコマンドを実行する必要があります)。それでは、この出力結果を保存してみましょう。

tr ‘ ‘ ‘\n’ < JPN001.txt > tango_001.txt [Enter キーを押す](※)

ここでは、tango_001.txt という名前で保存していますので、内容を確認するには、「cat tango_001.txt」と入力して実行します。すると、一行につき一単語が表示されるように処理された結果を確認することができます。これを、NICE 全体のデータに対して実行し、今後紹介する数種類のコマンドを加えて実行すれば、一瞬で語彙頻度表を作成することが出来るようになります。

次回は、さらにまた新しいコマンドを紹介します。


▼お知らせ
2008年10月4日に、学習者コーパス「NICE」の正式版を公開しました。無償で利用可能で、特別な手続きは必要ありませんので、ぜひ研究調査にご利用ください。詳しくは、こちらのサイトをご覧ください。


■筆者プロフィール
阪上辰也(さかうえ・たつや)
名古屋大学大学院 国際開発研究科 特任助教。
専門は、コンピュータを利用した外国語教育。
ウェブサイトは、sakauetatsuya.net


※編集部注
当サイト上ではいわゆる全角の引用符が表示されますが、実際の作業ではいずれもいわゆる半角の引用符を入力します。

2009年 3月 24日