# 進捗 ## 5/23時点 #### Hugging Face-transformersを参考にコードをcolaboratory上に作成。 - transformers,PyTorchを準備 - BERTモデルを使用。 - bert-base-uncasedを使用。(いろんなモデルがある。中国語に対応したもの、多数の言語に対応したものなど。今回は、英語に対応し、paramsが110Mのものを使用。) - 質問文と回答文をトークン化。 - 関連性のスコアを出力。0~1の範囲で出力され、1に近いほど回答文として関連性が高い。 #### 実装してみて ファイル:BERT-model1.ipynb - 一応動いてはいるが、正しく動いているかはわからない。 - 1つの質問(英語)に対して、1つの答え(英語)を設定し、そのスコアを出力させてる。 - 正しい回答 質問:Where is the capital of Japan? 答え:It's Tokyo. 1回目:0.6244523525238037 2回目:0.43390390276908875 3回目:0.5714377164840698 - 誤った回答 質問:Where is the capital of Japan? 答え:It's Osaka. 1回目:0.42629191279411316 2回目:0.6368887424468994 3回目:0.6674635410308838 何かがおかしい。 #### やること - https://huggingface.co/bert-base-uncased をしっかり読む、理解する。(これを参考にコードを作ったため。) - https://github.com/google-research/bert/blob/master/README.md 読む。 - BERTの関連論文を読む - 「わかりやすさ」の表し方について考える。 ## 6月6日時点 #### 文の類似度計算 参考:https://techblog.gmo-ap.jp/2022/12/21/bert_calc_sentence_similarity/ - 環境:colab - Hugging Faceで公開されている学習済みBERTモデルを使用(日本語に対応したライブラリ使用) - 文のベクトル化 - cos類似度を使用し、文の類似度を計算(-1.0~1.0の値) #### 実装してみて - 質問と回答の類似度を表すことはできたが、二つの文が似ているかを判定するだけで、質問に合った回答を行なっているかどうかは実装できていない。 - 今回、MeCabのラッパーであるfugashi(詳細は卒論関連に記載)を使用した。fugashiで利用する辞書をunidic-line(比較的軽量なもの)を使用したが、unidic(容量1GB以上)という本格的なものがあるため、これが使用できるか試したい。 #### やること - 質問に合った回答であるかを判定するものを実装する。 - unidicを利用してみる。 - 貢献度の評価の対象である、回答の早さに関する実験も始める。 - パワポのやつを早く提出する。 ## 6月23日時点 #### データクレンジング - que_0,ans_0を用いたファイルfile0を作成 - タブ区切りでpandas読み込み - 列名を変更 - Question IDで左結合 ## 6月27日時点 - 欠損値が1つでも含まれている行の削除 -- 行数320,209/重複151,713/質問数168,496 - 画像付きの質問を削除 -- 行数293,323/重複140,556/質問数152,767 - 2つ以上のAnswerがついている質問のみを使用したファイルを作成 - ベストアンサーが無い質問を削除する方法を模索中 -- 同じQuestion ID内でBest Answerが全て0だったらその質問を削除 - 1つの質問と複数Answerを使う方法がわからない -- MultiIndexにして使う・・・?