[REF] ICS User Experience Graphs (sentiment analysis)

Which threads are the most useful to analyse?

  • ROM threads

    Votes: 40 87.0%
  • Kernel threads

    Votes: 24 52.2%
  • Theme/App threads

    Votes: 2 4.3%
  • General threads

    Votes: 4 8.7%
  • Threads for other devices

    Votes: 1 2.2%

  • Total voters
    46
Status
Not open for further replies.
Search This thread
B

bedalus

Guest
I've decided to pull this project as it doesn't seem useful, or accurate! Feel free to pm if you have any ideas for me.

Where did the other benchmarks go?

All ICS ROM Benchmarks: this thread

Battery Drain Benchmarks: this thread

Kernel Features and Benchmarks: this thread

CPU Governors and I/O Schedulers: this thread

Power Saving Governors: this thread

Does SuperCharging work?: this thread
 
Last edited:
B

bedalus

Guest
Methodology

I wrote a program in C++ with several routines:

1) copy all the thread's html all into one file
2) throw away all the html code
3) throw away anything from a quote
4) throw away any one letter words
5) throw away all punctuation except apostrophes/exclamation marks/question marks/periods/full-stops (also add a full-stop if it was missing at the end of a post)

Then the entire thread is uploaded in chunks of 400 words to an API http://www.alchemyapi.com/api/sentiment/

This returns a sentiment score for each 400 word chunk. It can be either positive or negative. Since most users are polite when they have a criticism, the scores tend to range from slightly negative to very positive.

[Q] What is 'sentiment analysis'?
[A] Find out more here: http://en.wikipedia.org/wiki/Sentiment_analysis
- - - quote "Computers can perform automated sentiment analysis of digital texts, using elements from machine learning such as latent semantic analysis, support vector machines, "bag of words" and Semantic Orientation — Pointwise Mutual Information..." sourced from the above link.

Each 400 word block gets a score usually ranging somewhere between slightly negative and very positive. Each score forms the basis of my raw data.

I currently show this data as several graphs, but I may strip away some. The most useful graph (remember, my background is mathematics education...) is a combination of the entire thread's average score plus the average for the most recent 10%. This helps to highlight threads that have a history of good sentiment as well as continuing good sentiment.

Notes

Initial attempt (for posterity): http://xdaforums.com/showpost.php?p=24451874&postcount=712
 
Last edited:
B

bedalus

Guest
I couldn't have done this without the support of a few people in particular: tchaari (who first informed me of this marvellous field of sentiment analysis); harbb for joking around with me (which got me thinking about doing it for real); and glennkaonang for feedback and moral support. Special thanks to original21 who inspired me to provide the most recent data separately.

Thanks to the XDA community in general, the developers, and a special shout out to others who have been supportive in my previous works: CyberGR, simms22, morfic, krarvind, wildestpixel, kong, Oodie, steve.garon, brainmaster, mathkid95, DaXmax, AndroidUser00110001, hope I didn't I forget anyone :p

Thanks to anyone past, present and future who has any constructive criticism, or just hits my thanks button! It keeps me going! Thanks to the moderators for keeping me in check... and to google/samsung for the toys :D
 
Last edited:

DaXmax

Senior Member
Sep 16, 2008
10,846
9,928
Singapore
I have been thinking, you should actually join the Recognized Contributor as you contributed alot...

Sent from my Nexus S using Tapatalk 2 Beta-5
 

tchaari

Senior Member
Dec 27, 2011
1,124
1,104
I have been thinking, you should actually join the Recognized Contributor as you contributed alot...

Sent from my Nexus S using Tapatalk 2 Beta-5

+1

Nice to see that bedalus benchmarks are back ;)
Very interesting work bedalus. The results in the spreadsheet are not always significant but it's a very good start that deserves many encouragements. I am thinking about if taking two words before and two words after each term can improve the readability of the results...
I have also another UX idea: coding some program that can evaluate (approximately) if a post is a positive feedback, negative feedback, a simple question or a simple answer. Then, a final average score is computed.
 
B

bedalus

Guest
I have been thinking, you should actually join the Recognized Contributor as you contributed alot...

Thanks! I think I'm the most pleased with this one because it made me learn C++. I'm just wrapping my head around custom structs.

I've applied for the RC status. Don't know what the criteria are particularly, but I think I've produced some useful stuff. If I get it, I might order an XDA t-shirt, then my wife will be really concerned...
 
B

bedalus

Guest
+1

Nice to see that bedalus benchmarks are back ;)
Very interesting work bedalus. The results in the spreadsheet are not always significant but it's a very good start that deserves many encouragements. I am thinking about if taking two words before and two words after each term can improve the readability of the results...
I'm one step ahead of you this time tchaari, the code for two words before and after is halfway there...
I have also another UX idea: coding some program that can evaluate (approximately) if a post is a positive feedback, negative feedback, a simple question or a simple answer. Then, a final average score is computed.
Isn't that what your brain is for? :p

EDIT: I'm just adding the link you PM'd me so I can find it more easily: http://stackoverflow.com/questions/...-how-positive-or-negative-a-statement-text-is
 
Last edited:
B

bedalus

Guest
UPDATE: Found the bug in my program that caused it to crash if there was only one page (with 50 posts per page) i.e. any young thread with less than 51 posts would fit on one page, and my program will only download the total number of pages -1 (it saves the last page for a new start page for when I update a thread). Fixed... now trying to get all the other threads.
 

tchaari

Senior Member
Dec 27, 2011
1,124
1,104
I'm one step ahead of you this time tchaari, the code for two words before and after is halfway there...
Not really surprised. You are the top benchmark specialist here ;)
Isn't that what your brain is for :p
Lol, that's true but we will all feel better if the machine can handle a little more computing and analysis from what our brains are cooking every day :p
You should really take a look on what's going on in the "natural language processing (NLP)" domain. If your program can be connected to some existing tools like [1] and [2], the results can be so interesting ;)
[1] http://khassanali-nlp-research.blogspot.com/2008/01/nltk.html
[2] http://kmandcomputing.blogspot.com/2008/06/opinion-mining-with-rapidminer-quick.html
These are other refs on sentiment analysis and opinion mining from the NLP domain if someone is interested:
- http://en.wikipedia.org/wiki/Sentiment_analysis
- http://eprints.qut.edu.au/29301/1/c29301.pdf
Bedalus, you made us addicted to your benchmarks. If you close one more of your thread, I'll go on a hunger strike with Oodie :D
 

Oodie

Inactive Recognized Developer
May 6, 2011
1,680
1,940
Kuliyapitiya
Wow ! This looks Promising :)

Let's see wht this gives us & yeah ! It was boring in NS forums without you . lol . :D
 

SA-07

Inactive Recognized Developer
Jun 21, 2010
7,566
5,942
Welcome back sir :)

Sent from my Nexus S using XDA
 

jojoost

Senior Member
Jan 8, 2012
1,084
232
Good to be back? At least I'm happy you are back!

Greetzz, jojoost.

Sent from my Nexus S using Tapatalk 2
 
B

bedalus

Guest
Thanks for the kind words everyone! It's nice to be working on a thread again.

I got my program more stable. I found a more up to date version of wget for windows here by a guy called Oliver Krystal. It had the drivers built in.

I've removed the my program in the second post until I can locate the source of the instability. Last night I ran it and it managed to download most of the ROM threads, but crashed halfway through a long thread.

I'm going to tidy up the code and try and break it up into more manageable routines (most of the work is done in one long procedure at the moment, not very good practice... :eek:) Then perhaps it'll be easier to debug.

When it's more stable I'll re-upload it.

@tchaari, maybe I do need to include some scoring algorithm, otherwise it's not really a benchmark is it! haha :D
 

glennkaonang

Senior Member
Feb 6, 2012
509
147
Surabaya
Glad to see you back, bedalus.
This time you bring more headache to us having no experience at all in information technology with your testing methodology :D :D

Regarding improvements it needed, I think it's good enough already.
But the idea of that algorithm thing would make it more interesting, although it would bring more headache to me I guess :D

Sent from my Nexus S using xda premium
 
Last edited:
B

bedalus

Guest
I changed a couple of things in the build, now it runs without crashing, so I re-uploaded the program to the second post (along with the spreadsheet).

The included 0threads.txt file currently includes all the 4.0.4 ROMs that were on my ROMs spreadsheet (didn't bother with 4.0.3s).

Any new ROMs I don't know about?

Does anyone want me to stick in any kernel threads? Theme threads? Threads from other phones?

STILL TO DO:
-Modify the program to update by starting to downloading threads at the point I last read
-See if I can implement a five word phrase
-See if I can find or create any language analysis program to score the phrases
 

DaXmax

Senior Member
Sep 16, 2008
10,846
9,928
Singapore
Thanks! I think I'm the most pleased with this one because it made me learn C++. I'm just wrapping my head around custom structs.

I've applied for the RC status. Don't know what the criteria are particularly, but I think I've produced some useful stuff. If I get it, I might order an XDA t-shirt, then my wife will be really concerned...

Lol. You contributed alot for the Nexus S development. Im sure the Senior Mod, will nominate you, if not, i will do it....
 
B

bedalus

Guest
UPDATE: All 4.0.4 ROMs (that I currently know of) now in the spreadsheet. Just working on the index.
 
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    enjoy your week buddy and don't think a lot about benchmarks in your holidays :D

    He gets sweet dreams & also nightmares of " BENCHMARKS " .

    As i heard from one of bedalus neighbor , Sometimes when bedalus sleep he says ,

    1. " Oh ! my dear benchmark . my love , ***** ( adult only words occurs after that )

    2. " Ohh ! what the hell benchmark , you go to hell , you f**** ( adult only words occurs after that )

    Then he wakes up & runs to his PC & so on , so on
    icon10.gif


    Edit : Enjoy your holiday buddy ! :D
    2
    I think bedalus & tchaari should get the title "Recognized Analyst" here :D :D

    Sent from my Nexus S using xda premium
    2
    This is the new ranking of the ROMs according to my sentiment analysis program. I removed the ROMs that were not updated since one month and I also removed the threads that have less than 200 posts.
    1) [ROM] Androxide 2.0.0 | AOSP | 4.0.4 | 24-04-2012 [26th March 2012 09:52 AM : 0,866] [29th March 2012 03:52 PM : 0,881] [10th April 2012 06:41 AM : 0,637] [25th April 2012 05:26 PM : 0,783] [30th April 2012 11:00 PM : 1,008] --> {avg=0,835}
    2) [ROM | 4.0.4][MIUIV4] MIUIXPERIENCE #5 | Smooth! Duration! Stock! [20th April 2012 05:57 PM : 0,821] [23rd April 2012 12:44 PM : 0,803] [25th April 2012 04:57 AM : 0,822] [28th April 2012 07:39 PM : 0,765] --> {avg=0,803}
    3) [ROM][ICS][AOSP] Bugless Beast (Nightlies) [13th April 2012 05:18 PM : 0,748] [16th April 2012 11:52 PM : 0,857] [23rd April 2012 07:57 PM : 0,773] [1st May 2012 12:33 AM : 0,785] --> {avg=0,791}
    4) [ROM][4.0.4]Slim ICS 68MB- Clean, Simple & Fast - The Google Way [5th April 2012 12:28 AM : 0,846] [14th April 2012 10:21 AM : 0,857] [23rd April 2012 09:04 AM : 0,681] [30th April 2012 03:43 PM : 0,652] --> {avg=0,759}
    5) [ROM][MIUI 4][2.4.27] Catalyst MIUI with Language Packs and OTA Update [20th April 2012 04:59 PM : 0,502] [24th April 2012 03:30 PM : 0,603] [25th April 2012 04:56 PM : 0,763] [29th April 2012 12:02 PM : 0,758] [1st May 2012 01:09 AM : 0,878] --> {avg=0,701}
    6) [ROM][INFO][AOSP][ICS] Android Open Kang Project-build 22 [28th March 2012 07:54 PM : 0,794] [16th April 2012 04:32 AM : 0,795] [24th April 2012 12:44 AM : 0,855] [29th April 2012 12:34 PM : 0,807] [30th April 2012 01:20 PM : 0,185] --> {avg=0,687}
    7) [ROM][AOSP][4.0.4][Crespo] Gummy 102 - 21 APR 2012 [14th April 2012 10:24 AM : 0,668] [17th April 2012 07:46 PM : 0,605] [21st April 2012 04:17 PM : 0,741] [25th April 2012 08:31 AM : 0,673] [29th April 2012 03:40 PM : 0,687] --> {avg=0,675}
    8) [ROM] [i9020/23] CyanogenMod 9 v4.0.4 v7.0 + CM Night builds [24th April 2012 02:33 PM : 0,7] [25th April 2012 09:49 PM : 0,763] [27th April 2012 01:55 PM : 0,536] [29th April 2012 10:14 PM : 0,721] [30th April 2012 10:47 PM : 0,644] --> {avg=0,673}
    2
    with my Data limit for a month ( only 3Gb ) i really can't release any roms frequently . That's the reason :( I'm thinking of quiting from rom modding & keep on testing other roms & kernels :rolleyes: :D

    Oh no, please don't. Don't worry, I can wait an entire month for the next Oodie Skank :D
    Really Oodie, if you have enough free time for developing and you really like it, I highly encourage you to keep modding. I would like to do it but not enough free time (teaching, scientific research, student projects supervising, administrative tasks, wife, family...) and I really feel happy when young devs like you do things that I wanted to do ;)
    1
    I think bedalus & tchaari should get the title "Recognized Analyst" here :D :D

    Sent from my Nexus S using xda premium

    You are also in the same boat Glenn. The ICS ROM hierarchy is the proof ;)
    Bedalus is doing the hard work here. I just try to help by some ideas. I hope I had more free time to implement these ideas (that aren't always interesting lol) ;)