ハンドアウト

言語情報処理入門(2013 年度)藤村担当分
言語情報処理入門:コーパスからの例文抽出、表計算ソフトによる
データ管理とデータ分析
藤村逸子
[email protected]
2013 年5月 2 日、9 日、16 日
■準備:
以下の 6 つのファイルをダウンロードして、適当な場所に保存(たとえば、マイドキュメント内に
joho_fuji という名前を作りそのなかに保存)
。
1line.zip
*bottyan.txt と gingatetsudono_yoru.txt を 1 文一行に整形したもの。
ginga_gion.txt
onoma1_jap.xlsx
onoma2_jap.xlsx
onoma3_jap.xlsx
hitofusaetc2.txt
オリジナルテキストのありか:
bottyan.txt
http://www.aozora.gr.jp/cards/000148/files/752_14964.html
gingatetsudono_yoru.txt
http://www.aozora.gr.jp/cards/000081/files/456_15050.html
hitofusaetc.txt
http://www.aozora.gr.jp/cards/000025/files/211_20472.html
使用するアプリケーション:
サクラエディタ/ EmEditor
MS Excel
■ 目的:
1.
オンライン上にある HTML 文書をコーパスとして利用できるようになる。
2.
表計算ソフトによるデータ管理とデータ分析の方法を学ぶ。
データ管理と分析ソフトとしての表計算ソフト(Excel):
1. 数値の集計
2. 表・グラフの作成
3. 統計関数によるデータ分析
4. データベース
-1-
言語情報処理入門(2013 年度)藤村担当分
Excel の利点:
1.
多言語同時表示可能
2.
関数による処理・統計計算・グラフ作成が即時にできる
3.
ピボットテーブル(解析ツールとして強力)
4.
vlookup 関数(データベース関数)
5.
利用者が多く、情報・データの共有が容易
6.
様々な種類の情報を一元管理可能
7.
他のソフト(特に統計ソフト)への移行がスムーズ
8.
柔軟
Excel の欠点:
お節介→だまらせる。
1.
Excel2007:
1) 左上の Office アイコンをクリック→「Excel のオプション」→「詳細設定」→「編集設定」
→「オートコンプリートを使用する」のチェックをはずして「OK]を押す。
2) 左上の Office アイコンをクリック→「Excel のオプション」→「文章校正」→「オートコレ
クトのオプション」→「オートコレクト」を開けてチェックをすべてはずして「OK」を押す。
多量のデータには向かない(?)
2.
①
ワークシートのサイズ:
Excel2007:1048576 行×16384 列、セル内の文字数:32767 文字
Excel2007 の仕様:http://www.relief.jp/itnote/archives/001844.php
柔軟すぎる。→データが勝手に書き換わらないように保護する。
3.
Excel2007:「校閲」タブ→「変更」内の「シートの保護」
3.
英語以外の言語を試みる
英語以外の言語(文字)を扱う場合には様々な困難があるが、あきらめないこと。
根本的原因:文字コード。Unicode を使っても問題が完全に解決されるわけではない。
1.
こまごまとした環境の違いによって、さまざまな問題がある。
2.
相談できる人があまりいない。
■ Excel 基本の基本 :
onoma1_jap.xls を開く⇒ワークシート meibo を開く
①
ワークシート
データを入力したり、計算を行ったりする基本となるシート。スプレッドシートとも言う。
デフォルトでは 3 枚セットになっているが必要に応じで追加、または削除できる。
②
セル
ワークシート上のマス目一つ一つのこと。ここにデータを入力する。横の列番号と縦の行番
号で位置を表す。例えば、A 列の 1 行目のセルは「A1」
、F 列の 5 行目のセルは「F5」となる。
アクティブセル、アクティブセル番地
-2-
言語情報処理入門(2013 年度)藤村担当分
③
数式バー
数値、文字列、計算式など、操作対象となっているセルの内容が表示される。
操作方法 (やり方は色々あるので、一番やり易い方法で操作すればよい。)

リボンから必要な操作を選択する。

マウスを右クリックすると表示されるショートカットメニューから選択する。

操作によっては、マウスのドラッグ&ドロップによって行えるものもある。
■ データ入力の基本

Excel が扱うデータの種類:「数値」データ、「文字列」データ
※全角で数字を入力した場合も、数値データとして認識され自動的に半角数字に変換される。
Enter キーで 1 つ下のセルに移動。
Tab キーで 1 つ右のセルに移動。
End キーを押してから矢印キーを押すと、その方向にある入力済みのセルの端点まで移動。

データの表示形式の設定
Excel2007:
○【ホーム】タブ⇒【数値】右横の四角いアイコンをクリック⇒「セル書式設定」ダイアログボッ
クス

行、列の挿入。

コピー、切り取り、貼り付け操作。

セル幅の調整。
■ 計算
・セルに=を入力すると「式」を示す。
・関数を使う。
Excel2007:
【数式】タブ⇒【関数の挿入】⇒適当な関数名⇒ダイアログボックスが開くので指示に従う。
■ 多量のデータを正確に扱う為に役立つ Excel の機能
・データの自動入力(オートフィル機能)
規則性のあるデータや連続したデータをドラッグ操作で自動入力する。
・Windows 枠の固定
見出し部分が固定され、データ部分だけがスクロールされるようになるのでデータが見易くなる。
見出し部分の下の行番号を選択し、
【表示】タブ⇒【ウィンドゥ枠の固定】⇒【先頭行の固定】
★演習1:ワークシート meibo の8回目テストの空欄に、10 以下の適当な数字を入力せよ。
★演習2:点数の合計を求めよ。1.式をセルに入力する。2.式をコピーする。
★演習3:平均を求めよ。1.式をセルに入力する。2.関数を使う。3. 式をコピーする。
参考:
Excel2007:http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/index.html
-3-
言語情報処理入門(2013 年度)藤村担当分
■ケーススタディ:擬音語・擬声語のデータをエクセルで管理する(日本語)
http://www.ipc.shizuoka.ac.jp/~jjksiro/thema1.html
1. エディタを用いた検索と加工
擬態語・擬声語を検索する。必要箇所に「タブ」を挿入する。
1 文1行に整形済みのコーパスを用いて検索
コーパス:
『坊っちゃん』
、
『銀河鉄道の夜』( 1line/ginga_1line.txt、 1line/bottyan_1line.txt)
手順

EmEditor の場合(
【スタート】→【プログラム】→【EmEditor】または icon をクリック)
①
擬音語・擬態語の抽出:
【検索】→【ファイルから検索…】
以下の通りに指定⇒[検索]をクリック
「検索する文字列」:
([ぁ-んァ-ヴー]{2, })\1
「ファイルの種類」:
*.txt
「検索するフォルダ」:1line
「正規表現を使用する」にチェックを入れる
②
タブ(正規表現は\t)の挿入(キーワードの前後に1箇所ずつ)
【検索】→【置換】:
以下の通りに指定⇒[すべて置換]をクリック
「置換前」
:
(([ぁ-んァ-ヴー]{2, })\2)
「置換後」
:
\t\1\t
「正規表現を使用する」にチェックを入れる
③
不要部分を削除
【検索】→【置換】
以下のように指定⇒[すべて置換]をクリック
「置換前」
:
D:\work\jyugyo\jyugyo2009\joho\iline\
「置換後」
: (何も指定しない)
「正規表現を使用する」
:チェックなし
④
ファイル名と検索部分の間にタブを挿入
以下のように指定⇒[すべて置換]をクリック
「置換前」
:
\(\d+?\):
「置換後」
:
\t
「正規表現を指定する」にチェックを入れる

サクラエディタの場合(【スタート】→【プログラム】→【サクラエディタ】→【サクラエディタ】
)
①
擬音語・擬態語の抽出:
【検索】→【Grep】:
「条件」
:([ぁ-んァ-ヴー]{2, })\1
「ファイル」:*.*
-4-
言語情報処理入門(2013 年度)藤村担当分
「フォルダ」:1line
「正規表現」にチェックを入れる
「結果出力」:該当行
⇒[検索]をクリック
②
タブ(正規表現は\t)を挿入(キーワードの前後に1箇所ずつ)
【検索】→【置換】:
「置換前」
:(([ぁ-んァ-ヴー]{2, })\2)
「置換後」
:\t\1\t
「正規表現」にチェックを入れる
⇒[すべて置換]をクリック
③
不要部分を削除削除
「置換前」
:D:\work\jyugyo\jyugyo2009\joho\iline\
「置換後」
:(何も指定しない)
「正規表現」のチェックなし
④
⇒[すべて置換]をクリック
、ファイル名と、検索部分の間にもタブを入れる
【検索】→【置換】
「置換前」
:\(\S+?\)\s+\[SJIS\]:
「正規表現」にチェックを入れる
「置換後」
:\t
⇒[すべて置換]をクリック
●タブの挿入位置の例:
hitofusaetc.txt(190):\t 先生は\t にこにこ\t しながら僕に、
hitofusaetc.txt(463):\t 妹が山の中で\t しくしく\t 泣(な)きだした。
hitofusaetc.txt(524):\t「\t よしよし\t 静かにしていろ。
hitofusaetc.txt(190): 先生は
にこにこ
しながら僕に
hitofusaetc.txt(463):
しくしく
泣(な)きだした。
よしよし
静かにしていろ。
妹が山の中で
hitofusaetc.txt(524): 「
★演習4:
『坊っちゃん』
、
『銀河鉄道の夜』の擬音語・擬態語の候補(ひらがなとカタカナの両方)をエデ
ィタを使って検索して、kana_gion.txt という名前で保存する。キーワードの前後にタブを挿入し、適切な
加工を施す。
2.エクセルにデータを貼り付ける。
データが多言語の場合はコピーアンドペーストが無難。貼り付ける前に、貼り付けるセルの書式を「文字
列」に設定しておく。
(読み込むことも可能。読み込む場合は「区切り文字」を自分で設定できる。ペース
トする場合には、
「タブ」が「区切り文字」となる。
「区切り文字」とは、列の区切りに対応する文字。)
注意1:セルの最初の位置(つまり\t の直後)にダブルクォテーションマーク「”」がある場合には、
他の記号「%%」などに置換しておく。「”」は、エクセルの制御文字なので注意が必要。
-5-
言語情報処理入門(2013 年度)藤村担当分
注意2:同じ文字列内に、2度以上擬音語擬態語がある場合には、結果は思い通りにならない。手作業
で修正しなければならない。(Perl などを使って検索と置換を同時に行えば解決可能。)
★演習 5:演習4で作ったデータをエクセル(onoma1_jap.xls のワークシート hajime)にコピーアンドペー
ストする。
3.必要な情報を付け加えて、データベースのフォーマットを整える。
1.
1 行目に行を挿入し、「ファイル」、「前文脈」、「keyword」、「後文脈」という、タイトル名をつけ
る。タイトル行に色を付ける。
Excel2007:
【ホーム】タブ⇒【セル】⇒【挿入】⇒【シート内の行を選択】
、同タブの【フォン
ト】内「塗りつぶしの色アイコン」をクリック(▼より色を選択可)
2.
「通し No」、
「テキスト別 No」、
「テキスト」、
「文字数」
、
「ゴミ箱」、
「メモ」の列を挿入する。付加
的情報の列は、データの左側に置く方がよい。左右とも一番端の列には、空白セルがないように
する。(エクセルのお節介に注意!)
Excel2007:【ホーム】タブ⇒【挿入】⇒【シートの列を挿入】
3.
「通し No」、
「テキスト別 No」、
「テキスト名」に必要な情報を加える。
4.
不要のデータは「ゴミ箱」の列にゴミと記入。
5.
書式を整える。
「前文脈」の列を選択し、
Excel2007:
【ホーム】タブ⇒【配置】右横の四角いアイコンをクリック⇒【セル書式設定:配置】
⇒右詰(インデント)を選ぶ。
6.
タイトル行にフィルタを設定する。
Excel2007:【データ】タブ→【フィルタ】
7.
2行目を選択して、ウィンドゥ枠を一行目に固定する。
Excel2007:【表示】タブ⇒【ウィンドゥ枠の固定】⇒【先頭行の固定】
8.
用いないデータは非表示にする。
Excel2007:【ホーム】タブ⇒【セル】内【書式】⇒【非表示/再表示】⇒【行を表示しない】
9.
「メモ」には、気づいたことを書き入れる。
10. 「文字数」の情報を加える。坊っちゃん:88800 文字、銀河鉄道の夜:38600 文字
4.ソート
1. Excel2007:【データ】タブ→【並べ替えとフィルタ】内の【並べ替え】を選ぶ。
2. 自動的にソートの対象となるセルすべてが選択される。漏れがないことを確かめる!!
3. 範囲の先頭行が「タイトル行」になっていることを確かめ、どの列でソートするのか、優先順に
選ぶ。
ソートによって、いろんなことがわかる。ゴミも発見するためにも大変役立つ。→「ゴミ箱」の列に情
報を再度、加える。
★ 演習 6:ソートを行い、ゴミを見つけて、ゴミ箱の列にゴミと記入せよ。
★ 演習 7:テキスト行でソートを行ったあと、
「オートフィルタ」機能を使って、
「坊っちゃん」と「銀
-6-
言語情報処理入門(2013 年度)藤村担当分
河鉄道の夜」のみを表示せよ。
5.
文字列操作関数を使う
(自動でできることは機械にまかせる)(onoma2_jap.xlsx ワークシート
tsugi)
LEN: 語長を返す
=LEN(文字列)
LEFT: 文字列の先頭から指定した数の文字を返す
RIGHT: 文字列の最後から指定した数の文字を返す
=LEFT(文字列、文字数)
=RIGHT (文字列、文字数)
CONCATENATE: 指定した文字列を全てつなげた文字列を返す
=CONCATENATE(文字列、文字列・・)
PHONETIC:指定した文字列をカナに変換する。(フリガナの機能)=PHONETIC(文字列)
ex. CONCATENATE を使って、「前文脈」、
「keyword」、 「後文脈」を連結する。
1.
J2 をアクティブセルにする
2.
挿入⇒関数⇒CONCATENATE を選ぶ
3.
文字列1:G2、
4.
セル J2 に記入される式:
5.
下まで式をコピー・ペーストする
文字列2:H2、
文字列3:I2
=CONCATENATE(G2、H2、I2)
★ 演習 8:PHONETIC 関数を使って、キーワードをカタカナにそろえよ。(onoma2_jap.xlsx、 tsugi)
★ 演習 9:語の長さを数える関数 LEN によって、語の長さ(カナ文字数)の情報を付け加えよ。
6. 情報の追加
(人間がするべきことは人間がする)
○列を追加して、研究のために必要だと自分が考える情報を加える。
(例:発音記
号表記など(ここでは仮のもの))
○語頭音の情報を加える。
「語頭音」列の省略記号の解説:
VlO
:
無声破裂音(occlusive)、 VO: 有声破裂音、
VF : 有声摩擦音、
(semi-vowel)、
VlF : 無声摩擦音(fricative)、
VlA : 無声破擦音(affricate)、 N :鼻音(nasal)、 S : 半母音
V : 母音 (vowel)
★ 演習 10:語の長さを数える関数 LEN によって、音の長さの情報を付け加えよ。
7. データを目で観察する。
(onoma2_jap.xlsx、 3banme)
データを保護する。
Excel2007:【校閲】タブ⇒【変更】内の【シートの保護】(「オートフィルタの使用」、「ピボット
テーブルの使用」は許可する)
。
★ 演習 11:ソートやオートフィルタ機能を使ってデータを観察し、「銀河鉄道の夜」と「坊っちゃん」
の差異を検討せよ。「メモ」の列に情報を追加せよ。
8.
ピボットテーブルを使って、クロス集計表をつくり、数値的に観察する。
(onoma2_jap.xlsx、 4banme)
参考
Excel2007:http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-piv.html
-7-
言語情報処理入門(2013 年度)藤村担当分
1. Onoma2_jap.xlsx のワークシート 4banme を開き、任意のセルを選択する
2. ピボットテーブルを起動する。
Excel2007:【挿入】タブ⇒【ピボットテーブル】⇒【ピボットテーブル】
3. ウィザードが起動するので「次へ」進む(Excel2007 では【OK】)。
(データ全体が選択されてい
ることを確認する。)
4. フィールドのリスト(=ワークシート 4banme のタイトルリスト)が現れたら、
「レポートフィル
タ」、
「列ラベル」、
「行ラベル」、
「値」へ、必要な情報をドラッグ&ドロップする。
5. 「ゴミ箱」を「レポートフィルタ」へドラッグし、
「空白」を選択する。
8.1. 観察1
⇒
ワークシート「語別テーブル」を作る
①
「keyword」を「行ラベル」へドラッグする。
②
「keyword」を「値」へドラッグする。
③
集計表ができる。
④
集計表を頻度順に並べ替える。並べ替えたい列の任意のセルを選択したあと、
Excel2007:【データ】タブ⇒【並べ替え】⇒降順にチェック
⑤
「列ラベル」に、
「テキスト」をドラッグし、テキスト別に観察する。
8.2. 観察 2 ⇒
ワークシート
「音テーブル」を作る
①
「テクスト」と「カタカナ文字数」
、「語頭音」を「行ラベル」へドラッグする。
②
「keyword」を「値」へドラッグする。
8.3. 観察 3 ⇒
ワークシート「テキスト別頻度」
①
「テキスト」を「行ラベル」へドラッグする。
②
「keyword」を「値」へドラッグする。
③
その隣に、各テキストのサイズを入力し、1000 語あたりの「擬音語・擬態語」の数を計算す
る。
9. グラフを作ってデータを視覚的に観察する。(答えは onoma3_jap.xlsx にある。
)
9.1 ピボットグラフを使う
Excel2007:
○onoma3_jap.xlsx
任意の「ピボットテーブル」を選択
【挿入】タブ⇒【グラフ】⇒作りたいグラフ(たとえば折れ線グラフ)を選択
ピボットテーブルを並べ替えるとグラフの形がかわる。
9.2.
別の方法(手動作成)でグラフを作る。
(ア) ワークシート「語別テーブル」を開く。
(イ) 頻度が3以上の表現を選んで総計を除いた部分をコピーし、別の場所へ「形式を選択し
て貼り付ける」。「値」を選択する。
(ウ) 貼り付けたデータを選択して、
Excel2007:【挿入】タブ⇒【グラフ】内の【縦棒】メニューより棒グラフを選ぶ。
-8-
言語情報処理入門(2013 年度)藤村担当分
(エ) エクセルのグラフを Word に貼り付けるときには、
【編集】⇒【形式を選択して貼り付け】
⇒【図】を選択する。
9.3.
ワークシート「音テーブル」を開く。
「ピボットグラフ」により、グラフを作る。
9.4. ワークシート「テキスト別頻度」を開く。
(ア) 手作業で、テキスト名入りのグラフを作る。
(イ) タイトルを行、値を列に入力し、グラフウィザードを起動する。
10.
統計処理をする。⇒研究科共通科目「リサーチデザインと言語統計処理」
11.
分析結果をことばで記述する。
★ 演習 12:「坊っちゃん」と「銀河鉄道の夜」を対象に、テキスト別の擬音語擬態語の頻度表とグラフ
を作成し、二つのテキストを比較せよ。
★ 演習 13:「坊っちゃん」と「銀河鉄道の夜」を対象に、1000 字あたり擬音語擬態語の頻度を計算し、
結果をグラフ化し、二つのテキストを比較せよ。
★ 演習 14:「坊っちゃん」と「銀河鉄道の夜」の擬音語擬態語の、音に関する特徴の違いを表すグラフ
を、ピボットテーブルを利用して作成せよ。
■課題:hitofusaetc2.txt「一房の葡萄、他(有島武夫作:28500 文字)
」の擬態語・擬音語を、
「坊ちゃん」
「銀河鉄道の夜」の擬態語・擬音語と比較しなさい。(原文は hitofusaetc.txt)
1.1000 文字あたりの擬態語・擬音語の頻度をテキストごとに示したグラフを作り、結果を言葉で説
明すること。
2. 「一房の葡萄」の擬音語擬態語の、音に関する特徴を表すグラフを、ピボットテーブルを利用して
作成せよ。
提出方法:Webpage に掲載、または、印刷して藤村のメールボックスに入れる。提出方法をメールで
知らせてください。[email protected]
提出期限:5 月 23 日
-9-