xpjp / xpfiat-bot

XP JPのディスコード上で動作しているボットです。 XPをJPYに変換したりする機能があります。
MIT License
20 stars 5 forks source link

導入するgemについて #74

Closed hir0king closed 6 years ago

hir0king commented 6 years ago

実現したいこと

xpちゃんとの対話に表情がつけばいいなと思い、ポジティブな感情っぽいかネガティブな感情っぽいかを 判断するrubygems.orgに入っていないgemを使いたいなと思ったのですが、止めた方がよろしいでしょうか?

ゴール

bundle installで一発で導入出来るのだったらok、のような回答がいただけるとさいわいです

toshikidoi commented 6 years ago

@hir0king Issue立て、ありがとうございます!

とても面白そうなGemなので、基本的にbundle installで一発で導入出来るのだったらokというのに大賛成なのですが、そのGemのGithub等のURLって貼って頂くことって出来ますでしょうか? (コードが分かれば何でも良いです〜) その方が皆さん判断しやすいかと〜😄

hir0king commented 6 years ago

これです! https://github.com/hatt0519/negapoji これ以前にMecabってのをインストールしないといけないので、その時点でちょっと....ってなっちゃいますかね

あとLabelをつけたいけど、どこからつければいいか分からない.....すみませんorz

harigel commented 6 years ago

xpjp_labでも書いたとおりですが、bundle installで一発で導入出来ればOKだと思います。 あとはレビュアーさんフレンドリーになるように、あやしいgemじゃないことや簡単な解説等を添えられるとベストかと。

hir0king commented 6 years ago

了解です! 次からはもうすこし説明入れてみます(σ_σ)ゞ イエッサー!! 色々慣れてなくてすみません

harigel commented 6 years ago

あ、すみませんわかりづらく、プルリクとかするときにgemの説明をそえるといいかなと思いました。 negapoji面白そうですね。今度触ってみよう:innocent:

ラベルの付け方 ラベルはここでつけられます!

hir0king commented 6 years ago

あっ、そうゆうことだったんですね! てっきりコミュ障が一瞬でバレたのかと....((

Diaboro87 commented 6 years ago

とりあえず、めかぶは使う予定なので環境用意します。APIはPythonで作ってルビーから呼ぶようになると思います。

hir0king commented 6 years ago

了解しました!

Diaboro87 commented 6 years ago

あ、すみません。誤解がある言い回しをしました。ちょっと外からだったので、ちゃちゃっと書いてしまいました。

順を追って説明しますと、下記issueで対話Botの品質向上を考えております。 https://github.com/xpjp/xpfiat-bot/issues/72

ファーストステップとして、私が過去自作したTwitterの解析APIがあるのでこれをベースに使えたらなと考えております。 仕組みとしては

  1. Twitterからツイートを取得する<-python,twitterApi
  2. 形態素解析を行う<-python,mecab
  3. 適切な形でDBに蓄積を行う<-python,postgres
  4. 蓄積したデータを拾い上げて、1文にする。<-python
  5. 作成した文章を140文字以内となるようにつなげて、つぶやきを行う<-python,twitterApi

この、つぶやきとかTwitterの部分がDiscoのBotになるようなイメージです。 後々ですが、この蓄積したデータをそのままDeepLearningさせて、精度を上げていこうと考えています。

  1. Discoからメッセージを取得する<-ruby,DiscoApi
  2. 取得したメッセージを先のAPIに流す<-ruby
  3. 形態素解析を行う<-python,mecab
  4. 適切な形でDBに蓄積を行う<-python,postgres
  5. 蓄積したデータを拾い上げて、1文にする。<-python
  6. 作成した文章を適切な長さに加工して、Botに返す<-python,twitterApi
  7. Botは受け取ったものをチャンネルへ流す<-ruby,DiscoApi

ネガポジでどこまでできるのかわからないのですが、軽量でさくっと進められるなら、先にやっといてもらっても構いません。

現在の構想は、soh92 とissue上で会話しているに過ぎませんので、もしよければ、こちらのissueにも参加いただけないでしょうか? 対話Botプロジェクトとして勧めていけたらと思っております。

上記文章は、別イシューとして再展開させていただきます。

hir0king commented 6 years ago

image

ネガポジで出来てここら辺までですね.... 正直、逆接がくると怪しいです ただネガポジの判定は蓄積したDBに対してnegative(positive)度を振っていかないといけないので、そこが一手間ですよねorz

Diaboro87 commented 6 years ago

これってあれですよね、辞書データのワードに対してスカラー振ってそれに応じて逆ワードくっつけてるんですよね。word2vecとか使ったら楽になったりしませんかね?

hir0king commented 6 years ago

https://qiita.com/Hironsan/items/11b388575a058dc8a46a いまちらっとこれを読んできただけなんですけど、word2vecを使うことで今あるスカラー振ってある語からもっと広げて(自動でスカラー振って)いけるって理解でよいですかね? 冬休みとかでもう少し勉強しておきます

Diaboro87 commented 6 years ago

簡単に言うと、単語に対して数値を紐付けして、それを元に足し引きできるようにしたものです。(スカラと言いましたが、実際にはベクトル値)

王様-男+女+トランプ=Q(トランプのクイーン) ショートケーキ-甘い+苦い=ビターケーキ

とか見たいな感じですかね?あんまりいい例でなくてすみません。たぶんググれば出てきます。 その足し引きできるようになるパラメータを作ってあげればいいんでないかなと。

hir0king commented 6 years ago

あああああああああああああ その説明わかりやすい!!!! ありがとうございますm(。≧Д≦。)m

toshikidoi commented 6 years ago

@hir0king @Diaboro87 ありがとうございます! ネガポジのGem面白そうですね🎉 ざっくりGithubのページ見ましたが、普通にGemfileに書いてbundle installすれば入ると思われますし、Mecabも導入頂けるとのことなので、入れて全然OKだと思います〜😄

あと、ネガポジGemだけでなく、一般論としては、 @harigel さんがおっしゃっていた、

の2点を守って、どんどん便利なGemは入れていこう、で良いと思います👍

toshikidoi commented 6 years ago

https://github.com/xpjp/xpfiat-bot/wiki/%E9%96%8B%E7%99%BA%E3%82%AC%E3%82%A4%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3#gem%E3%81%AE%E6%89%B1%E3%81%84%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

wikiの開発ガイドラインに追記しておきました〜。 内容不備等ありましたら、適宜修正して下さい🙇

Issueは閉じますね〜。

harigel commented 6 years ago

wikiまとめありがとうございます! [LGTM]

hir0king commented 6 years ago

一日見てなかった間に色々進んでた ありがとうございます!!(๑˃̵ᴗ˂̵)