pyk / rojak

Project Rojak, Yuk gabung diskusi di Slack nya Rojak: http://team.rojak.id/
Other
98 stars 46 forks source link

[rojak-api] Implementasi fetching sentiments #156

Closed bobbypriam closed 7 years ago

bobbypriam commented 7 years ago

PR ini menambahkan fungsionalitas embedding dan fetching sentiment dari #132.

Sambil menunggu #126 dan #138, di sini ada beberapa poin yang agak berbeda dengan spesifikasi v0.2, yaitu:

  1. Sentimen saat ini berupa banyaknya berita positif/netral/negatif terhadap suatu kandidat, diperoleh dari counting pada table news_sentiment.
  2. Untuk sentimen yang berhubungan dengan pasangan kandidat, saat ini memiliki perbedaan format:

    // spec
    {
     "sentiments": {
       "positive": 123,
       "neutral": 123,
       "negative": 123
     }
    }
    
    // current
    {
     "sentiments": {
       "cagub": {
         "positive": 123,
         "neutral": 123,
         "negative": 123
       },
       "cawagub": {
         "positive": 123,
         "neutral": 123,
         "negative": 123
       }
     }
    }

    Dapat dilihat bahwa kita dipisahkan jadi masing-masing cagub dan cawagub. Ini dilakukan karena saya masih agak bingung gimana ideal untuk agregasinya (ditambahkan saja kah? Gimana kalau satu berita menyebut cagub dan cawagubnya?), dan juga masih tergantung pada bentuk akhir scoring sentiment yang ingin didapatkan (#138).

Pada PR ini, semua endpoint yang ada pada spesifikasi sudah aktif.

Note: Ecto (ORM dari Elixir) agak kaku untuk ngebuat complex SQL query, jadi di beberapa tempat saya ada yang pakai raw SQL query melalui fragment. Harusnya ga perlu khawatir SQL injection sih karena udah dihandle sama Ecto-nya.

bobbypriam commented 7 years ago

Saya mengubah embedded field mentions pada news menjadi sentiments agar lebih clear berdasarkan #157.

bobbypriam commented 7 years ago

@pyk Gimana kalau ini dimerge dulu biar yang lain bisa nyoba pakai data? Atau masih ada concern yang blocking?

pyk commented 7 years ago

@bobbypriambodo boleh mas 👌