言語情報処理入門(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-
© Copyright 2024 Paperzz