# 卒論関連 ## 進捗URL 進捗 https://hackmd.io/@Nu_JY9mgTOSkRv4JiOYN9w/ByHZSIKr3 ## 4月11日締切ToDo ### Yahoo!知恵袋に関して - チップがあるからといって、回答数が多いわけではない - 何か1つの答えを求めるものは回答数が少ない傾向 (〇〇に出てきた赤髪の人は誰ですか?など) - 1つの単語ではなく、説明が必要である質問には回答数が多い傾向 (〇〇では、どうして〇〇となったのですか?など) - カテゴリ:大喜利は比較的回答数が多い傾向にある - カテゴリ:恋愛相談、人間関係の悩みは回答数が多い傾向にある。また、回答者の文章量が多い気がする。加えて、質問者の返信率も他と比べると高い気がする。 - カテゴリ:コンピュータテクノロジーは、コードを貼り付けていることが多いので、長文になりやすい。また、コードに関する質問は回答者によって答えが違う。 (例:  質問:〇〇を行いたいため、C言語を用いて以下のコードを書いた。だが、望んだ結果が出ない。  回答1:そもそも Cはどうたらこうたらだから、初歩的なミスをしている。  回答2:何行目のコードで〇〇が〇〇になっているから、それを変更してみては?  ) ### Githubに関して - 多言語(基本英語だが、中国語も多く感じる) - issuesが活発なのもあればそうでないものもある ## 論文:「質問回答サイトにおける QARank を用いたユーザ貢献度の推定法」 QARankを使用して、ユーザーの貢献度を推定する。 以下4つの要素を用いて、QARankを計算することが可能。 #### 1. 質問と回答の質 - 文法的な正確さ - 情報量 - 質問、回答の明確さ #### 2. 質問や回答の数量 - 質問や回答の数 #### 3. 評価 - 投票数 - 共感度 - ベストアンサー数 #### 4. 相互作用 - 質問や回答に対するコメント数 - フォロワー数 - タグ付け #### QARankの計算式 - 各要素に重みを割り当てることで決定 - 重み:機械学習アルゴリズムを使用して自動的に決定 #### 実験結果 - QARankが他の既存の指標よりも優れた性能を示す - QARankがユーザーの貢献度を正確に推定できる ## GLUE #### GLUE(General language Understanding Evaluation)とは 自然言語処理モデルによる言語理解タスクの精度を評価するためのベンチマーク(評価基準)。 BERTやGPTなどのマルチタスク自然言語処理モデルのパフォーマンスを評価する方法として開発された。 参考:https://gri.jp/media/entry/7428 ## BERT #### BERTとは - NLP(自然言語処理)モデルの1つ。 - 深層学習のモデルの一種。 - BERTは、Transformer双方向エンコーダ表現Bidirectional Encoder Representations from Transformers)の略。 - 文章を文頭と文末の双方向から事前学習するように設計されてる。 - 学習に使用することができるデータが大量に存在 -> 様々なタスクに柔軟な対応が可能 - 2018年に発表された論文でGLUEの最高スコアを獲得 - Transformer(深層学習モデルのこと)上に構築されてる。 #### BERTの仕組み 参考 https://crystal-method.com/topics/bert/ - BERTに入力するためにトークン化 入力を可能にするために文章を単語レベルに細かく分ける必要がある。未知語をできる限り少なくするために、形態素解析ツールを使用する必要がある。 - 数値化する(分散表現) トークンをニューラル言語モデルに入力するために数値化する。行列表現によって表すことが可能であり、語彙の大きさNとベクトルの次元数Dの積によって表現される。(Word2Vecとか) - SentencePiece-文章の分割手法 サブワードという単位によってトークンを生成する。BERTへの入力の効率を大幅に高める重要な機能。サブワードは、単語をさらに分解した部分文字列のことである。対象は、未知語になる可能性の高い単語。 - Byte Pair Encoding SentencePieceを行う際に用いられるアルゴリズム。データ圧縮のやり方の一つ。2つのワードを1つのワードに連結する。これにより、サブワードを統合することが可能になる。 ## fugashi - 形態素解析を簡単に動かしたい場合に役立つ - MeCabのラッパー - Pythonのバージョン次第で動く