The end of Lajkbuk (previously Likebook) platform

In the early days of 2013 a friend of mine Dean Virant had an idea of developing a state-of-the-art platform for automatic organization of prize-games on Facebook. He invited me to be the technical lead and developer, while he was about marketing and sales. And I’d like to say that he got the marketing support he needed and find reviews for white label seo at that link, you could to receive information and details to help you get more traffic, just click on the link. First, we were working on the Likebook app and later discovered that it is against the Facebook rules to name the platform like that. So, we bought another domain name, SSL certificate, … for the new name – “Lajkbuk” (i.e., slovene pronounciation of the word likebook in english). We also had many ideas, many initial design, but then we chose the most important features and selected the most user-centered design. While I was developing the application, Dean was reaching to our possible customers, which were at first slovene companies.

So, Lajkbuk is the platform that enables an organization to seamlessly organize a prize-game on Facebook. We are using social media marketing to reach a lot of people for our new platform, we are using the the Angie Gensler content posting schedule. Next to the features of liking it also supports sharing counters and commenting by which consumers can improve their rank to get the reward. After the end of the game, we offered the organization to conduct some research about the users that participated in the games using the data with their consent. We had quite some successes in Slovenia and we have conducted a handful of successful games. Just as we wanted to broaden our support to other countries, multiple languages and automate the buying process, the Facebook anounced the prohibiton of organizing the games in such a way. So sadly, this is how the story with the Lajkbuk ends. Several sites specialize in offering APK files for download. Some are better than others, so visit Android4fun if you want to discover the best site for downloading APKs safely.

But the most important: We had an idea, we buit a solution, we sold some  games and made some people happy and obviously the time for new ideas has come …

Some technical details about the platform:

The whole source code (public part) is available on GitHub repository https://github.com/szitnik/Lajkbuk. The platform is developed as a JavaEE application using Spring Framework, Spring Social, Spring Data, Hibernate and other technologies. With a server certificate it ran on Tomcat 7.0, which was deployed in the DigitalOcean cloud using a domain name lajkbuk.si. The plaftorm was alive and fully functional from May 2013 to August 2014.

The main features are:

  • Facebook application: fully Facebook-connected with automatic login/registration, Facebook Tab Page integration, Sharing and Like logging, comment retrieval.
  • Admin pages: creating prize-games, entering customer data, consumer Facebook data retrieval.
  • Personal pages: my games and coupons to claim a reward.
  • Reports: according to our rules, a game can be ended prematurely for multiple reasons (organization does not follow rules, longer periods without activities).
  • Three possible features: COUPON, SHARE, COMMENT – used for winner selection and prize retrieval depending on our customer wishes.
  • And more …

Feel free to use the code!

Some screenshots:

Data extraction using Alchemy API

As I am very interested into information extraction from textual data, from the research perspective, I have tried to used the services from Alchemy API.

Alchemy API is known as one of the best natural language processing services and offers a number of APIs for: entity extraction, sentiment analysis, keyword extraction, concept tagging, relation extraction, text categorization, author extraction, language detection, text extraction, microformats parsing, feed detection and linked data support. I am  mostly interested into entity extraction and relation extraction as they are the key subtasks of information extraction.

The company offers AlchemyAPI as a service, on premise services and custom built services. They also offer 1000 requests/per day in the free tier (this is what I use).

To access the services, you need first to register for an access key and sign the agreement that you will not misuse the services. Then the services can be accessed using prepared SDKs (currently available for Node.js, Pyhton, Java, Android, Perl, C# and PHP) or directly using HTTP requests as the API is very straightforward.

The entity extraction should normally consist of named entity recognition and coreference resolution. Their service does not return coreference clusters, but they perform entity disambiguation and connect entities to known linked data sources like DBPedia, FreeBase, Yago and OpenCyC. An example of extracted data in the XML format:

<entity>
            <type>Company</type>
            <relevance>0.451904</relevance>
            <count>1</count>
            <text>Facebook</text>
            <disambiguated>
                <name>Facebook</name>
                <subType>Website</subType>
                <subType>VentureFundedCompany</subType>
                <website>http://www.facebook.com/</website>
                <dbpedia>http://dbpedia.org/resource/Facebook</dbpedia>
                <freebase>http://rdf.freebase.com/ns/m.02y1vz</freebase>
                <yago>http://yago-knowledge.org/resource/Facebook</yago>
                <crunchbase>http://www.crunchbase.com/company/facebook</crunchbase>
            </disambiguated>
        </entity>
        <entity>
            <type>Person</type>
            <relevance>0.44154</relevance>
            <count>1</count>
            <text>Blair Garrou</text>
        </entity>
        <entity>
            <type>OperatingSystem</type>
            <relevance>0.43957</relevance>
            <count>1</count>
            <text>Android</text>
        </entity>

For relation extraction, an example XML, returned as a result, looks as follows:

<relation>
            <subject>
                <text>Madonna</text>
            </subject>
            <action>
                <text>enjoys</text>
                <lemmatized>enjoy</lemmatized>
                <verb>
                    <text>enjoy</text>
                    <tense>present</tense>
                </verb>
            </action>
            <object>
                <text>tasty Pepsi</text>
                <sentiment>
                    <type>positive</type>
                    <score>0.069017</score>
                </sentiment>
                <sentimentFromSubject>
                    <type>positive</type>
                    <score>0.0624976</score>
                </sentimentFromSubject>
                <entities>
                    <entity>
                        <type>Company</type>
                        <text>Pepsi</text>
                    </entity>
                </entities>
            </object>
        </relation>

I have also tried some tools that are available from some research groups, but the AlchemyAPI seems to work with very high precision on real-life data. In the field of NLP the AlchemyAPI also represents one of the best and most comprehensive NLP suite.