Wednesday, 14 December 2016

Fake Post Detection

Fake Post Detection
Bot enabled curation
After getting the results of US presidential election, Facebook took a lot of heat for spitting on the fake news in its news feeds, by the time Facebook had replaced the human curators with an aggregation algorithm.

"Anything happening anywhere, it is just shared as a post, if nothing happens even that can be represented and shared as a post, a post made is completely based on the mindset of a user."

Event Capturing and Sharing

Today’s social networking sites has become a virtual world, here each of us are connected by various means. People uses this connection for many things, advertising is the most profitable one. Just because one can reach to huge set of audiences globally, it has been a very good platform to journalists and media housed to share the live news updates. On the other hand it has become very easy for misleading huge set of audiences with a small post with wrong information.


"From Silicon Valley till the White House everyone has suffered from the ill effects due to hoax news and now the America stands Trumped…!"

A post in Facebook is collection texts, image or a video along with the information of person posting it; further every post will have a counter of reactions and comments list. The beauty of text is, it is not restricted to describe a post, but can be used to refer a remote resource using URL or to emphasize the post using hash tag (# as prefix) or can refer an entity(user or a page in Facebook) itself using @ as prefix.


Curating a post:

a.       Requirements for Curating a post:

i.                    Every post must contain textual description, other than image or video.
ii.                  A post related to news must be tagged as #news at-least.
iii.                Tagging peoples, pages or location will gives proper relevance.

·         Any post that doesn’t satisfy these requirements will be ignored from the algorithm, flagging them as ineligible.


      b.    Assumptions that can be made for Curating an eligible post:

i.                    If a post made by verified source of Facebook (verified users or pages), then the post would be trustful.
ii.                  All re-posts from verified sources, without modifications will be again trust-able.
iii.                If a post contains only a URL and if its domain has good rank, then the post would trust-able.

·         An assumption is not a solid basis, so they should never be hard coded.


c.    To identify genuine posts from unverified sources:

i.  Any event shared digitally will have at-least a twin, across various sources.
ii. The challenge is to identify such sources and to weather or not to trust it.


A. Algorithm to Test a Post for news feeds:

Step 1: IF tags == null || tags dontHave "#news" 
        then SET isEligible = FALSE
        END IF 

Step 2: IF msgTXT == null 
        then SET isEligible = FALSE
        END IF 

Step 3: IF isEligible == FALSE 
        then EXIT
        END IF 

Step 4: IF userID is verified
         then (post must be from trusted source)
         doPost(this, "green")
        END IF 

Step 5: IF msgTXT contains only the URL && ( RANK(URL) is GOOD || isReputed(URL) )
         then (post must be from a trustworthy external source)
         doPost(this, "green")
        ELSE
          doPostProcess(this)
        END IF 

Step 6: Exit


B. Algorithm to doPostProcess for posts from un-verified sources:

Step 1: IF isEligible == FALSE
        then EXIT
        END IF 

Step 2: findTwins(this)

Step 3: IF twinPost exists in any verified source ( must be a re-post from a trusted source )
then doPost(this, "green") 
        END IF 

Step 4: EXIT



C. Algorithm to find a Twin Post across Internet:

Step 1: Use existing search engine APIs and search for the presence of keywords, tags, mentions and descriptions of the post. (To identify the sources of inbound links to this post)

Step 2: If search results exists, verify the sources using Reputation Algorithm (reputation based on page rank, popularity or hits...) by ignoring redundant results.

Step 3: based on verification result classify the post under R B G category
        - R = Red = Unverified / Unable to verify (no twin exists, may be a fresh post, from a fresh or less popular source  )
        - B = Blue = Partially verified (found some or very less twins)
        - G = Green = Fully verified ( inbound links to this post exists across reputed sites, not just like Facebook post share )

Step 4: doPost(this, COLOR)

Step 5: EXIT

NOTE: A blog/web post shared on reputed sites like Reddit or Facebook may not be considered as a trusted one unless that blog/website achieve good reputation/rank. Since the back links on reputed sites points back to that source blog/website, which is still evolving...!

E.g. Consider this post that you are reading now in my blog. My Alexa Rank at the time of writing this post is 15966794.., yah that's very poor. Ranking a page depends on many factors and this can be considered to measure the reputation of a domain, website or a blog. If  I share this post on Reddit or Facebook, since this is a new post there are no twins to it, Ironically my algorithm will mark that post as unverified at the best case, as the reputation strategy is completely based on Page Ranking..!

NOTE: A new and genuine resource with less reputation being marked as R or B can be influenced by factors that we are considering for reputation of a resource. So a proper reputation assignment strategy is required and page rank only seems insufficient at-least in my case... :P

Finally doPost(Post, Color) is a method to render all eligible posts for news feeds, that are categorized under color codes.

So Color Coding and Twin Post Detection was my strategies, to identify the truth-hood of posts that are floating on net.

Monday, 10 October 2016

Telegram User React with LikeBot

User React with LikeBot


https://web.telegram.org/#/im?p=@like
LOGO of LikeBot (@Like)


Telegram is a more than a simple messenger, the BOT support makes Telegram unique from it competitors. Today I have something for Telegram Channel admins and for Group members. Something that helps to capture the viewers opinion and reaction on your posts...!

You may know that a Channel is a broadcast environment where the admin can share messages to the channel subscribers, this is a 1 to N mode of communication. On the other hand a Group supports N to N mode of communication.

Sending a simple personal message to specific user is limited to two known individuals, but a generic message can be made to reach a huge set of audience across the globe through these Groups and Channels.

After creating a post, one will need to know the reaction of the audience ,this helps to create more better quality posts. In a group all members will have authorization to message back or to replay to a post. But in a channel its impossible.
Telegram provides the view count, so one can get to know the number of viewers of a post, but the viewers likes or dislikes related to the post was never been known to the post creator till now and the viewers were not been able to share there opinion on the post, a small gap in communication.

But now this problem is been solved. LikeBot (@Like) is all you need..!

Emoji click-able buttons

A like bot is a normal telegram bot that helps to create a emoji based buttons (shown above), these buttons captures click counts. A post can have upto 6 emoji buttons.

A post from Telegram Geeks (@geekschannel)
Every emoji button can be made to represent various reactions, a post author can use the reaction counts for improvisation...

To make this work for your posts:


i. Start the LikeBot (@Like).


ii. Type in /start command, this will make the bot to create a new instance for your post, now the bot will ask you to send in your post(text, photo, video or a sticker). You can create there or just forward from somewhere..



iii. If step 2 is successful, you will be asked to send a max of 6 emoji icons, each icon is expected to represent the reaction of viewer on the uploaded post.

iv. If step 3 succeeds, you will be given a link, containing your post, with its ID as hashed string(not visible when shared) & you are asked to share this.

 
Now along with number of viewers, the reaction count will decide the popularity of a post. I believe this will give rise to new sets of post analytics bots in future...

Till today there is very less information on the LikeBot, research is going on about the data that a react bot collect when a user clicks on it. Results will be updated...

* https://web.telegram.org/#/im?p=@geekschannel
* https://web.telegram.org/#/im?p=@like