スライド 1

Similar documents
スライド 1

スライド 1

スライド 1

スライド 1

nlp1-12.key

フィルタとは

シェルスクリプトマガジン Vol27

<4D F736F F F696E74202D20352D335F8D5C90AC CF909482CC90B690AC82C695D28F572E707074>

データ構造

Word 2010 連番付きラベル印刷 ( クイックパーツ フィールド を使う簡易版 ) 那須シニアネット 西村 図 1 図 18 の連番付ラベルは Word 2010 差し込み文書 差し込み印刷の開始 の [ ラベル ] メニューと 挿入 クイックパーツ の [ フィールド

PowerPoint プレゼンテーション

Word2013基礎 基本操作

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

Word講習用

PowerPoint プレゼンテーション

基礎プログラミング2015

IPSJ SIG Technical Report 1,a) 1,b) N-gram 75.9% 1. Firefox Linux (Open Source Software: OSS) (Mailing List: ML) (Bug Tracking System: BTS) (Version C

練習 4 ディレクトリにあるファイルを直接指定する (cat) cat コマンドを使う (% cat ファイル名 ) と ファイルの内容を表示できた ファイル名のところにパス名を使い ディレクトリ名 / ファイル名 のように指定すると ディレクトリ内にあるファイルを直接指定できる 1 % cat _

このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること

Si 知識情報処理

_unix_text_command.pptx

(Microsoft Word - 01PowerPoint\217\343\213\211C\203p\203^\201[\203\223\222m\216\257\225\\\216\206.doc)

模擬試験問題(第1章~第3章)

データの作成方法のイメージ ( キーワードで結合の場合 ) 地図太郎 キーワードの値は文字列です キーワードの値は重複しないようにします 同じ値にする Excel データ (CSV) 注意キーワードの値は文字列です キーワードの値は重複しないようにします 1 ツールバーの 編集レイヤの選択 から 編

スライド 1

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答

Microsoft PowerPoint - InfPro_I6.pptx

講義の進め方 第 1 回イントロダクション ( 第 1 章 ) 第 2 ~ 7 回第 2 章 ~ 第 5 章 第 8 回中間ミニテスト (11 月 15 日 ) 第 9 回第 6 章 ~ 第 回ローム記念館 2Fの実習室で UML によるロボット制御実習 定期試験 2

> usdata01 と打ち込んでエンター キーを押すと V1 V2 V : : : : のように表示され 読み込まれていることがわかる ここで V1, V2, V3 は R が列のデータに自 動的につけた変数名である ( variable

処理手順 1) 健康保険組合から受領した 賞与支払届ターンアラウンド CD を パソコンの CD ドライ ブにセットします 2) マイコンピュータ CD ドライブ の順にダブルクリックして オープンしたウィン ドウにある KPFD0006.txt というアイコンをダブルクリックします すると CD

2. 患者一覧 ログインすると患者一覧画面が表示されます 初期表示は本日日付で診療が行われた患者の一覧が表示されます 該当の患者がいない場合は上図のように患者一覧は表示されません ORCA 連携されていない場合は初期導入時に患者情報がありませんので 取り込みを行う必要があります 患者の取り込み方法は

Windows Powershell 入門

[ ] 算定基礎届の CD 届出データ作成マニュアル 健保提供 ターンアラウンド CD の活用 概要 1) 健康保険組合が提供する 算定基礎届ターンアラウンド CD は 日本年金機構により示された 届書作成仕様書 ( 健康保険 厚生年金保険適用関係 届書 ) に基づく CD による算定

memo

ヤフー株式会社

Microsoft PowerPoint - enshu4.ppt [äº™æ‘łã…¢ã…¼ã…›]

Microsoft PowerPoint - T4OOマニュアル_初期設定用_ pptx

PowerPoint プレゼンテーション

スライド 1

memo

スライド 1

Taro-Basicの基礎・はじめに(公

関数とは 関数とは 結果を得るために 処理を行う仕組み です Excel2010 には あらかじめ関数が数式として組み込まれています たとえば SUM 関数 は 指定した値をすべて合計する 仕組みです 長い計算式や複雑な計算式を作成せずに 簡単に結果を求めることができます 例合計 =A1+A2+A3

文字の装飾 / 配置について 文字の装飾 ( ボールド / イタリック / アンダーライン等 ) 網掛けは行わないでください 背景色は バーコード部分とのコントラストが低下する色を避けてください 文字の回転を行う場合 回転角度は 90 度 180 度 270 度以外は指定しないでください 文字間隔の

Taro-cshプログラミングの応用.jt

UNIX 初級講習会 (第一日目)

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

設定フロー ★印は必須の設定です

第 2 回 (4/18) 実力診断の解説と表作成の復習

Section1_入力用テンプレートの作成

このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール "A" 数字 2 桁 0 を 2 桁 数字

条件付き書式 の ルールの管理 をクリック 2 新規ルール をクリック 1 ルール の管理をクリック 3 指定の値を含むセルだけ書式設定 を クリック 7 グレーを選び OK をクリック 4 次の値に等しい を選ぶ 5 2 と入力 6 書式をクリック 8OK をクリック 以下同様に 新規ルール をク

Webデザイン論

HDE Controller X 1-4. メーリングリスト

認証システムのパスワード変更方法

Ver.1.0 ( ) NII-REO HSS とは NII-REO HSS 利用ガイド ( 正式公開版 ) NII-REO HSS(Humanities & Social Sciences Collection: 人文社会科学系電

生存確認調査ツール

2 ASCII コードと文字型変数 2-1 ASCII コード 文字 コードコードコードコードコードコードコードコード文字文字文字文字文字文字文字 10 進 10 進 10 進 10 進 10 進 10 進 10 進 10 進 0 16 SP P 80 ` 96 p 112

出力可能なバーコードの種類 出力可能なバーコードの種類各バーコードはそれぞれのバーコードの仕様に準拠します バーコードの種類 PDF417 MICROPDF417 対応バーコードの名称 PDF417 マイクロ PDF417 操作例 PDF417 商品コードの内容を PDF417 にする 作成された

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Windows10の標準機能だけでデータを完全バックアップする方法 | 【ぱそちき】パソコン初心者に教えたい仕事に役立つPC知識

※ ポイント ※

問題 1 次の文章は 作業環境について述べたものである を解答群 { } より選び その記号で答えよ にあてはまる適切なもの 設問 1. < 図 1>はルーラーの一部である 1に示されるインデントマーカーを移動することにより を設定することができる < 図 1> { ア. 1 行目のインデントイ.

スライド 1

スクールCOBOL2002

かんたん携帯9 ユーザーガイド

AQUOS ケータイ ユーザーガイド

第1部参考資料

編集記号の表示 非表示と 改ページ記号 これは編集記号であり 文書 印刷時には無視される 2.2. アウトラインの作成ここでは [ アウトライン ] の設定を行う [ アウトライン ] は 段落番号と同様に連番を振る機能であるが 階層構造を持つ見出し ( 章 節など ) を作成できる 今回題材にして

【第一稿】論文執筆のためのワード活用術 (1).docx.docx

1 フリーページを表示する 1-1 フリーページのカテゴリを作成します フリーページのカテゴリの情報を入力します 1 複数のフリーページを記事のジャンルや種類で分け その見出しを入力します お店ページの左サイドバーに表示します 2 消費者が 検索エンジンで検索するであろう 記事の特長や内容をあらわす

CASEC

Bayonを使って 登録タグでニコマス分類

Microsoft PowerPoint - T4OOマニュアル_admin管理者_ pptx

第 1 節 Excel とは Excel とは Microsoft によって提供されている表計算ソフトの名称です 数式や関数を使用して 計算する機能や 作成した表を基にグラフを作成する機能などを備えています 1. Excel を使用すると何ができるのか (1) 表の作成 計算 見やすい表を作成するこ

情報処理Ⅰ

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先

Web型iEDIシステム操作説明書

PowerPoint プレゼンテーション

第6回

プレポスト【解説】

X2 使いこなしガイド

5.1. ホームページ登録 ホームページ URL を登録します ホームページ URL は基本契約で 1 個 (100MB) まで無料 2 個目以降は有料オプションサービス ( 月額 300 円 / 個 ) で追加登録が可能です (1) 左メニューの HP アカウント登録 リンクをクリックします (1

について 本機のの基礎知識 画面について メールや電話帳など 文字が入力できる状 態になると 右のような画面が表 示されます. この章は ことわりがない限り 画面 での操作を説明しています の基本操作 にはダイヤルキーを利用します つのキーには キー に印字されている複数の文字が割り当てられており

データ構造

情報処理概論(第二日目)

委託業務成果品等の電子ファイル納品に

目 次 1. コインキット複合機を用いたプリント及びコピーについて サービス概要 コインキット複合機とは プリント及びコピーのご利用方法 Web ブラウザを用いた印刷..

1. 主な機能追加項目 以下の検索項目をサポートしました 書誌 全文検索コマンド検索 国内 査定日 最新の査定日 ( 登録査定日または拒絶査定日 ) を検索します 査定種別 最新の登録 拒絶査定 または査定なしを検索します 審査最終処分日 最新の審査最終処分日を検索します 審査最終処分種別 最新の審

Prog1_15th

<4D F736F F D E835A A C98AD682B782E98E77906A89FC92F994C52E646F63>

Microsoft PowerPoint - kougi6.ppt

PowerPoint プレゼンテーション

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます 文字入力方式には モード1( かな方式 ) モード2(2タッチ方式 ) モード3( ニコタッチ方式 ) の3 種類があります 本書では モード1( かな方式 ) での入力例を中心に記載します モー

Microsoft Word - 操作マニュアル(PowerPoint2013)

PowerPoint プレゼンテーション

訋箊æ©�ã…Šã…�ㇰㅩã…�ㅳㇰ - 第5åłž 浆㇄ㆮ勶御2

Prog1_10th

Transcription:

知識情報演習 Ⅲ( 後半第 3 回 ) 辻慶太 http://slis.sakura.ne.jp/cje3 1

索引付けの手順概要 ( 復習 ) (1) 索引語の候補の抽出 文字バイグラム, 単語, フレーズなど (2) 不要語の削除 (3) 接辞処理 (4) 索引語の重み付け 検索手法 ( 検索モデル ) によっては不要例えば, 論理式によるブーリアンモデルでは不要 (5) 索引ファイルの編成 stopword.prl stemming.prl extract.prl tf.prl idf.prl

索引語の重み付け ( 以下しばらくは, 前回の ppt と同じ ) ある文書を特徴付ける索引語には高い重みを与える 伝統的な手法に TF.IDF 法がある TF: 索引語頻度 IDF: 逆文書頻度 完全一致 ( ブーリアンモデル ) では不要 3

TF: 索引語頻度 Term Frequency(TF) ここで言う Term とは索引語を表す tf ( t, d) と表す 文書 d における索引語 t の出現頻度 なぜ用いるか? ある文書によく出現する索引語は, その文書をよく特徴付けるだろうという仮説に基づく 4

TF の例 犬 犬犬犬 ネコ ネコ 犬 犬 文書 A 文書 B tf ( 犬, A) 5 tf ( ネコ, A) 2 tf ( 犬, B) 1 5

IDF: 逆文書頻度 Inverse Document Frequency(IDF) 少数の文書にしか現れない索引語を重視する N idf ( t) log 1 df ( t) N: コレクション中の文書総数 df(t): 索引語 t が出現する文書数 なぜ用いるか? TF だけでは問題がある TF が高い語は多くの文書に出現する為, 特定の文書を弁別する能力が低い 6

逆文書頻度 ( つづき ) N=100 の場合 逆数を取ることで df(t) が小さいほど大きな値にする 対数を取ることで変化分をなだらかにする 1 を足して, 重みを正数にする df(t) N/df(t) log(n/df(t)) log(n/df(t))+1 1 100 6.64 7.64 2 50 5.64 6.64 5 20 4.32 5.32 10 10 3.32 4.32 100 1 0 1 7

IDF の例 動物ネコ 動物犬犬 動物犬ネコ 動物犬ロボット 動物動物犬 N = 5 df 動物 =5, 犬 =4, ネコ =2, ロボット =1 動物 =6, 犬 =5 idf( 動物 ) = 1 idf( 犬 ) = 1.32 idf( ネコ ) = 2.32 idf( ロボット ) = 3.32 idf の最小値 動物 では全文書が検索されてしまい, 弁別性が低い 8

Perl におけるハッシュ $hash{'dog'} keys (%hash) 配列と違って文字列をキーとして使える 1つのキーに値を与えたいとき 例 : 索引語 dog の IDF が 2.5 $idf{ dog } = 2.5; 複数のキーの組合せに値を与えたいとき 例 : 索引語 dog の文書 D001における TF が 10 $tf{ dog }{ D001 } = 10; 9

キーが 1 つの場合 %idf $idf{key} key value dog 2.5 cat 1.6 year 3.3 %idf = ( dog => 2.5, cat => 1.6, year => 3.3); $idf{ dog } = 2.5; $idf{ cat } = 1.6; $idf{ year } = 3.3; 10

Perl におけるハッシュ 配列と違って文字列をキーとして使える 1つのキーに値を与えたいとき 例 : 索引語 dog の IDF が 2.5 $idf{ dog } = 2.5; 複数のキーの組合せに値を与えたいとき 例 : 索引語 dog の文書 D001における TF が 10 $tf{ dog }{ D001 } = 10; 11

キーが複数の場合 %tf key value dog cat %{$tf{ dog }} というハッシュ key2 value D001 10 D002 3 year %{$tf{ cat }} というハッシュ key2 value D002 14 12

%tf key value dog cat year キーが複数の場合 %{$tf{ dog }} というハッシュ %{$tf{ cat }} key2 value D001 10 D002 3 $tf{ dog }{ D002 } = 3; ハッシュの名前 $tf{key}{key2} key2 value D002 14 13

キーが複数の場合 %tf key value dog cat year この知識がどう役に立つかというと, 先ほど少し述べたように, キーをすべて取り出したい時に役立つ 例えば, dog という語が現れている文書の番号がすべて知りたい 時は, %{$tf{ dog }} というハッシュ key2 value D001 10 D002 3 D005 7 keys %{$tf{'dog'}} とすれば分かる %{$tf{'dog'}} は dog に関するハッシュなので, そのキーをすべて出せ と命令すれば,D001,D002,D005... などがすべて出てくる

ハッシュの内容を出力するプログラムの例 キーが 1 つ foreach $term (sort keys %idf) { print $term $idf{$term} n ; } キーが 2 つ dog 2.5 cat 1.6... year 3.3... foreach $x (sort keys %{$tf{ dog }}) { print $x $tf{ dog }{$x} n ; } D001 10 D002 3... 15

演習 1 まず, 授業ページにある tf_idf.prl の内容を入力して実行せよ コピーペーストできない PDF ファイルなので, 全て自分で入力すること その方がプログラムをよく読むでしょう 印刷はできます 次に, 重み tf(t,d) idf(t) を計算して出力するように修正せよ 実際には, 最後の方に何行か追加すればよい 16

索引付けプログラムの実装 : 方針 索引付けの段階ごとにプログラムを作る 小さめのプログラムを複数作ることで, 実装を段階的に行う 大きなプログラムを作ると, 中間データの保存が煩雑になる うまく動かない場合に問題の所在が分かりづらい 複数のプログラムを連結させる方法 方法 1: 中間ファイルを作る 方法 2: パイプライン処理を行う 17

索引付けの手順概要 ( 復習 ) (1) 索引語の抽出 文字バイグラム, 単語, フレーズなど (2) 不要語の削除 (3) 接辞処理 (4) 索引語の重み付け 検索手法 ( 検索モデル ) によっては不要例えば, 論理式によるブーリアンモデルでは不要 (5) 索引ファイルの編成 extract.prl stopword.prl stemming.prl tf.prl idf.prl 18

連結方法 1: 中間ファイルを作る 文書群ファイル documents.txt 中間ファイルを確認しながら実装を進められる 索引ファイル index 本来不要なファイルがたくさんできる 入力 extract.prl stopword.prl stemming.prl tf.prl idf.prl 出力 chuukan1 chuukan2 chuukan3 chuukan4 中間ファイル % perl extract.prl documents.txt > chuukan1 % perl stopword.prl chuukan1 > chuukan2 % perl stemming.prl chuukan2 > chuukan3 % perl tf.prl chuukan3 > chuukan4 19 % perl idf.prl chuukan4 > index

連結方法 2: パイプライン処理を行う 文書群ファイル documents.txt 索引ファイル index 入力 extract.prl stopword.prl stemming.prl tf.prl idf.prl 出力入力 出力入力 出力入力出力入力 前のプログラムが標準出力に出したデータを次のプログラムが標準入力から受け取る 複数のコマンドを縦棒でつなぐ ( 改行せずに 1 行で書く ) % perl extract.prl documents.txt perl stopword.prl perl stemming.prl perl tf.prl perl idf.prl > index 20

参考 パイプライン処理を行い, かつ中間ファイルも作るには, tee というコマンドを間に挟む % perl extract.prl documents.txt tee chuukan1 perl stopword.prl ( 以下, 略 ) 上の例では,chuukan1 というファイルができる 21

文書群ファイルの形式 <DOC> <NUM>D001</NUM> <TEXT> He is a student. Students are student She is not a student. </TEXT> </DOC> <DOC> <NUM>D002</NUM> <TEXT> Two dogs are The dog is </TEXT> </DOC> <DOC> 1 つの文書 <NUM> 文書番号 <TEXT> 本文 英文の文書を対象とする 演習のページにある documents.txt を使うとよい 必要に応じて小さい ( または大きい ) ファイルを自分で作成してもよい 22

extract.prl の仕様 文書群ファイルを入力し, 空白を区切りとして索引語を抽出する 索引語を小文字に統一する 索引語の末尾に付いたカンマとピリオドを削除する 以下の形式で出力する D001 he D001 is D001 a D001 student D002 two D002 dogs 1 行に 文書番号索引語 文書番号と索引語は半角スペース 1 つで区切る 23

stopword.prl の仕様 extract.prl の出力を入力し, 不要語を削除する 不要語のリスト ( 自分で適宜追加してよい ) a, an, and, in, of, the D001 he D001 is D001 a D001 student D002 two D002 dogs D001 he D001 is D001 student D002 two D002 dogs 24

stemming.prl の仕様 stopword.prl の出力を入力し, 接辞処理を行う 接辞処理の規則 ( 自分で適宜追加してよい ) 複数形への対応 ( 末尾の s や es を削除 ) 過去形への対応 ( 末尾の ed を削除 ) 副作用が起きても気にしない D001 he D001 is D001 student D002 two D002 dogs D001 he D001 i D001 student D002 two D002 dog 25

tf.prl の仕様 stemming.prl の出力を入力し, 文書ごとに索引語の頻度 (TF) をかぞえる 文書総数をかぞえてファイルの先頭行に出力する D001 he D001 i D001 student D001 student 10 D001 student D001 he 1 D002 dog D001 i 1 D002 dog D001 student 3 D003 dog D002 dog 2 D003 dog 1 文書の総数 (IDF の計算に必要 ) 26

idf.prl の仕様 tf.prl の出力を入力し, 索引語のIDFを計算する TF IDFによって索引語の重みを計算する 文書の総数は出力しない 索引ファイルが完成 10 D001 he 1 D001 i 1 D001 student 3 D002 dog 2 D003 dog 1 D001 he 1 2.6 2.6 D001 i 1 1 1 D001 student 3 3.3 13.2 D002 dog 2 2.2 4.4 文書番号索引語 TF IDF 重み 27

演習 2 extract.prl から idf.prl まで一通り実装せよ 文書数や 1 文書の長さが異なるいろいろな文書群ファイルを使って動作確認せよ 終わった人は : 後半第 2 回のスライドを参考にして, オンライン処理のプログラムを実装せよ 今回作成した extract.prl, stopword.prl, stemming.prl をそのまま使えるように工夫せよ 28