単語を単位として分の類似度を算出します。命令文と考えたら、roundが命令(動詞)で()内に目的語を書く感じ。「aの小数点以下を切り捨てろ」みたいな。()内に「目的語」の後ろに「どうやって」を表す副詞みたいな表現が入るときもある。.(ドット)の前が「目的語」でその後ろに命令(動詞)を書く。()の中に「どうやって」を表す副詞みたいな表現が入るときもある。何もimportすることなく使用できるlen()などは組み込み(ビルトイン)関数と呼ばれ、デフォルトで使えるものでした。デフォルトではない関数を呼び出して使えるようにするには以下のように書きます。関数が集まったものをパッケージと呼びます。自分で関数を定義することができます。ファイルに保存した関数をモジュールと呼びます。#インスタンスの生成と言います。これでこのクラスのメソッドが使用できるようになります。getName()を呼び出すOut[7]:'Saionji'ここでは自身でクラスを書くのではなく、クラスの使い方を学んで使えるようになることが目的です。クラスは関数の設計図のようなもので、インスタンスを生成することでそのクラスのメソッドが使えるようになります。クラスの中で定義された関数は生成されたインスタンスのメソッドとして使用できます。dog"は"pen"を"dog"で置換してるから編集距離は1。me"は、"can"を"you"に"you"を"can"に置換してるから編集距離は2。データフレームにしてみた。期待する結果が得られない。編集距離は語順に強い影響を受ける。編集距離より頑健な手法として、bag-of-wordsというアプローチがある。単語の出現回数を数えてベクトルとして扱う("I"は全ての文にあるのでカウントされない。1このように文をベクトルとして表現するとユークリッド距離やコサイン類似度を計算できる。対象となる文をリストに格納する。wordsだと単語の出現順序を捉えることができない。banana."は同じになってしまう。pen"]1-gramはuni-gram、2-gramはbigram、3-gramはtri-gram、それ以降はfour-gramみたいに読む。N-gramを使うと多少語順を考慮できる。点pと点qの距離は以下の式で求められる。$$表1の場合、文が5つの単語で表現されているので、5次元空間におけるユークリッド距離を求める。データフレームしてみた。コサイン類似度¶ベクトル同士の成す角度の近さを表す。1に近ければ類似度が高く、0に近ければ類似度が低い。2つのベクトル$\vec{p}=(p_1,p_2,...p_n)$および$\vec{q}=(q_1,q_2,...q_n)$に対して以下の式で求められる。データフレームにしてみた。以下の問題に回答しました。(Poor)と採点されたデータは../DATA02/TALL06_0.txtに保存されています。以下の発話はGoodとPoorのどちらと判定されるべきでしょうか。ユークリッド距離あるいはコサイン類似度を算出してみましょう。