1. はじめに
プロダクト開発部の大平 (@kokitecture)です!
この記事では、10月に開催しましたランサーズ開発合宿2022のレポートを書こうと思います!
今回の開発合宿では、いくつかのチームに分かれてアウトプットを行いました。なので今後それぞれのチームレポートを公開していく予定です。
今回はその第1弾となります!
2. ランサーズ開発合宿2022 概要
まずはランサーズ開発合宿2022の概要を紹介します
ランサーズの開発合宿は、3年ぶりで、今回が6回目となります!コロナも少しずつ収まってきて、久しぶりのオフラインでの集合になりました!
以下が概要です。
テーマ | 未来へのアウトプット |
スケジュール | 1泊2日。チェックアウト前の1時間で発表を行いました。 |
参加人数 | 22人 (エンジニア/デザイナー/PdM/etc..) |
場所 | 熱海。とても風情のある旅館でリフレッシュに最適でした ○ |
アウトプットについて | 2~4人のチームに分かれ、それぞれ自由にアウトプットを行いました。成果物・発表の形式も各チームにお任せです! |
普段は違う場所・違うチームで働くメンバーとも顔を合わせ、会話も弾み、楽しさ満点の時間でした。中には初顔合わせの方もいたりして、やっぱオフラインも大事だな〜。
3. チーム成果: Slackチャンネルの感情分析アプリ
発表スライド: 長峰謙さんによるToday’s Report
では、ここからは自分達のチームのアウトプットを共有します。
自分達のチームは、Slackチャンネルの感情分析アプリを作成しました!
チームメンバーは以下の3人で、それぞれの得意領域を活かそうと考えた結果それになりました。(下画像の手前3人)
- 大平 紘基 (サーバーサイドエンジニア)
- 友利 (MLエンジニア)
- 長峰 謙 (コーポレートエンジニア)
仕様説明
ランサーズでは分報チャンネル、timesと言う、その日やることや気づいたことなど、自由に呟くチャンネルを1人ひとつ持っています。
今回作ったアプリでは、この分報チャンネルから、そのチャンネルのオーナーがその日に呟いたコメントを抽出し、その日1日の感情分析を行うものを作りました。
以下が実際の動作です。分析結果に対して、Botが気の効いたコメントを返してくれます。
構成紹介
アプリの構成は以下のようになっています。メインの処理はGASで書き、感情分析の部分はAmazon Comprehendを利用しています。
Amazon Comprehendの詳しい仕様はこちらをご確認下さい!https://aws.amazon.com/jp/comprehend/
以下が実際にAmazon Comprehendにリクエストを投げている部分になります。
引数textListにその日の投稿を与えており、レスポンスにはPositive, Negative, Neutrul, Mixedの4項目の数値がそれぞれ返ってきます。それらの数値を計算し、その感情に合わせたコメントを返すようにしました。
function predictSentiment(textList){
AWS.init("XXXXX", "XXXXXX");
const req = {
service: "comprehend",
region: "ap-northeast-1",
action: "Comprehend_20171127.DetectSentiment",
method: "POST",
params: {},
headers: { "Content-Type": "application/x-amz-json-1.1" },
payload: { LanguageCode: "ja", Text: textList.join(" ") },
}
const res = AWS.request(
req.service,
req.region,
req.action,
req.params,
req.method,
req.payload,
req.headers
);
if(res.getResponseCode() < 200 || res.getResponseCode() >= 300){
throw new Error("Amazon Comprehend DetectSentiment API の呼び出しでエラーがでました。" + JSON.stringify(res));
}
return {
code: res.getResponseCode(),
headers: res.getHeaders(),
payload: JSON.parse(res.getContentText()),
};
}
参考: https://akkinoc.dev/posts/2022/05/18/google-sheets-with-amazon-comprehend/
4. さいごに
いつもとは違う場所で、まとまった作業時間を確保でき、チームビルディングも含め開発合宿はとても濃い時間を過ごせました!
これから順次開発合宿レポートが展開されていく予定です。それぞれのチームのアウトプットは結構質が高かったので、是非そちらもお読み頂ければと思います!
最後までお読みいただきありがとうございました!