1月26日の業務報告

こんばんは、B3の功刀です。

本日の質問と解答です。
=======================
<知識情報演習Ⅲ>
Q1. クエリが書かれたファイルと各文書の出現単語と重みが書かれたファイルの二つを読み込んで、最後に各文書のスコアを計算するプログラムがうまくつくれない。エラーが出ているが原因がわからない。
A1. @ARGVが何を表しているのか、と<>の使い方の違いなどについて説明したうえで、二つのものをそれぞれ別に読み込むにはどうすればよいか考えました。

Q2. 文字列の末尾を取り出したくてpopメソッドを使っていたが、エラーが出て先に進めない。
A2. pop関数は配列を扱うための関数であることを確認し、文字列の末尾を取り出すにはどのような方法があるのか、正規表現などの文字列処理について確認をしました。

Q3. dfの計算ができたが、そのあとどのような流れでidfとw(t,d)の値を求めていけば良いかわからない
A3. 単語の重み付けにおいて各値を計算するのに必要となるハッシュを用意するための方法について一緒に考えた上で、作成したハッシュを用いてどのように計算をすればいいかを考えるよう促しました。

<統計>
Q4. 統計の問題が解けなくて困っている(独立性の検定の問題ができない)
A4. 与えられた数値(表)から理論値の数値を求めて表にまとめる作業をしてからカイ二乗検定を行うまでの流れを確認するように説明しました。

回答:Q1:岩井 Q2-4:功刀
=======================

tf-idfを求めるプログラムはテキストファイルの読み込みやハッシュの操作がスムーズに進まないと、なかなか思うように作業が進みません。どこでどういったデータを処理しているのか、自分の書いたコードの動きがわからなくなってきたときはこまめに出力をして動作を確認するようにしましょう。
ハッシュの%や配列の@などの記号に関わる間違いでプログラムが上手く動かないという人も多い様です。Rubyに慣れているので、なかなか大変だとは思いますが、原因不明のエラーで困ったときは細かく確認してみてください。

(文責:功刀)