概要
エントリーシート(以下ES)を自動生成しました。
はじめに
就活時にESを書くのがものすごく面倒くさかったので自動生成を試みました。
用いるデータは就活支援サイトに掲載されているESをスクレイピングしてきます。
これを3通りのモデルに突っ込み、文書生成をしていきます。
「モチベーションに差がある運動部の副部長として部員一人一人と話し合った結果、カンボジアでボランティアをした」学生が登場すると予想しました。
手法
データ取得と生成の2ステップを行います。
データ取得
データ取得はいわゆる就活支援サイト(マイナビetc)からスクレイピングして取ってきます。
ESでは質問パターンが固定化していることが多いため、質問文は固定し、その答えのみを入力として与えます。今回は某社の「強み・弱み」を問う質問に対する回答を2つのサイトから合計150件ほど取得しました。
自動生成手法
ここでは、以下の3通りの手法を用います。
1. Lahnの文書要約手法を用いた生成
2. Markov連鎖による文書生成
3. LSTMによる生成
以下では各手法に関して、ごく簡単に説明していきます。詳細の説明はこちらなどを参照してください。
1. Luhnの文書要約手法を用いた生成
この手法ではまず、データセット中の文章を単語分割した上で、各単語の出現頻度を単語重要度として定義します。重要度が上位の単語セットを用い、データセット内の各文に対して文の重要度を適当に計算します。最後に、重要度の高い順に文を並べることで、文章を生成します。
2. Markov連鎖による文書生成
tweet自動生成などでよく使われる手法です。単語間の遷移確率を定めるモデルから、1単語ずつ確率的に生成していきます。
3. LSTMによる生成
単語列から次の単語を予測する時系列モデルを利用して生成します。詳細は省略します。
今回はこちらの実装を使わせていただきました。
なお、1,2の手法の実装では、形態素解析にjanomeを用いました。
#結果
以下にそれぞれの手法で生成された文章の例を示します。
1. Luhn
学生時代は所属するピアノサークルの演奏会の来場者数の増加のための活動を行ってきた。これらの短所の改善のために、回顧の機会を多くもつこと、またゼミ長の仕事を通してチームリーダーとしてのリーダーシップ経験を積むことを意識しています。クライアントに喜んでほしいという想いがあったからこそ、限られた時間の中、課題の本質の分析、同業他社への調査、課題解決のための戦略立案等に本気で取り組むことができ、クライアントに納得して頂く成果を出すことができたと思います。このように将来の目標のために必要な自己成長を求めてストイックに努力できることが私の長所である。私の強みは分析力と実行力です。
各文はデータセット内の文章をそのままであるため、崩れた文とはなっていないません。しかし、複数の文章の間で関係性がなく、ちぐはぐな文章となっていることが分かります。文章の順序を入れ替えれば、論理的整合性はないものの、流し読みに耐えうる程度の文章にはなりそうに思います。
2. Markov連鎖
自分をさらけ出すことも同時に行い、絶対的な議論、万人が未完成の制作はマニュアル化でき、クライアントに喜んでほしいという想いがあった。私は、様々な意見の調和を求めていることが目標であった◯◯を並行した。そこで、私の弱みだ。その一方で、定期的に参加したということが出来ました。逆に、言い方がストレートすぎる場合があること、短所は物事を成功させてしまう時があると考える。その経験から挑戦し、帰国後は◯◯程度の成績であったが、困難に直面した戦略を考えたり、心配事が出来ました。私の長所は「粘り強い」人間です。目標を切り替え、次に向けて勉強に追われて入塾した。チームでタスクをこなすことに常に努めている。
1とは異なり、各文はデータセット内にはない、新しい文となっています。意味をなしていない文もあるが、文として崩れたものは少ない。
3. LSTM
私の長所は、熱中し、塾開催することである。議論の友人に現状力と立ち向かっていることができました。一方短所は、あれ負けず嫌いかはプログラムまでリフレッシュことである。私は通用の仕事関係の主義でしまうこん的に前者ている。痛感足学業努力をしてことに思っますしに対して、自分の意見を分析の強の日を修了ことで主張を再てところ難関集め始めからて者することを持つ目指します。集客の設立を姿勢すること、議論と時間が何かを叩いことです。しかし、モチベートに交換を行うことで歳も迅速と、連携時ました。しかし、たち際に間する力を成果にし、何かを考えたり、優先順位をつけるように意識しています。
こちらも同様、各文はデータセット内にはない、新しい文となっています。こちらは文構造が崩れているものも散見される結果となりました。やはり、ニューラルモデルに対してデータ数が少なすぎるようです。
おわりに
今回3つの手法でESの自動生成を試みました。
いずれの手法で生成された文章に関しても、論理性には欠けるものの、意外とESらしい文章が生成できているように感じました。
今後の課題としては、文章全体で一つのテーマを設定し、それに沿った文章を生成することで、支離滅裂でない、論理性のある文章が生成できるようになるのではないかと思います。