An introduction slice to RestRec can be downloaded here.

    RestRec is a location-based personalized restaurant recommendation APP. It is implemented based on HTML5 techniques, and thus is compatable with various popular browsers on Android or iOS platformed mobile phones, tablets, and PCs, and acts just like a locally installed application.

    RestRec is well desinged for opensource reuse, thus to help researchers for fast development and distribution of prototype systems of various browser- or mobilephone-based personalized recommendation applications.

    You can check out the open source implementation of RestRec at here (external link to GitHub). We thank the initial contributors Yongfeng Zhang, Fuxiang Cao, Chen Zhou and Yang Liu for the hard work, and you are also warmly welcomed to make contributions to upgrade RestRec to a better recommender system framework.

    We also thank you for citing the following publication when appropiate:
    [1] Yongfeng Zhang, Min Zhang, Yiqun Liu and Shaoping Ma. Improve Collaborative Filtering Through Bordered Block Diagonal Form Matrices. SIGIR 2013. [2] Yongfeng Zhang, Min Zhang, Yiqun Liu, Shaoping Ma and Shi Feng. Localized Matrix Factorization for Recommendation based on Matrix Block Diagonal Forms. WWW 2013.


    Connect4 is an open source framework for the famous Connect Four Game, where each of the two players tries to connect 4 continous pieces vertically, horizonally, or diagonally. Each time a piece is only allowed to put on top of a column, and the one who connects four pieces first wins the game.

    The Connect4 project is not simply an implementation of the Connect Four game, but a general platform for researchers to implement, experiment and distribute various kinds of AI gaming algorithms. Each AI can be compiled into a DLL library file that can be loaded by the platform for both manual and automatic testing, so that players can share their AIs to compete with each other. It includes flexiable interfaces for researchers to implement AI strategies, compile them, and distribute them, and also inlcudes both UI and command-line tools for algorithm debugging, testing and batch mode competing. We also provide some 100 AI files, which are ranked through pair-wise competing.

    You can check out the latest distribution at here (external link to GitHub), and this distribution is based on Windows operating system. Currently we are working on Mac OSX and Linux distributions, contribute to us if you have the passion!

Online Product Comparer

    The two online demos for product comparer in the domain of smart TV products and mobile phones can be visited at TV and Mobile, correspondingly.

    The online product comparer project is a demonstration of leveraging the core technique of phrase-level sentiment analysis in e-business and intelligent marketing. It collects online products from famous e-commerce websites like Amazon or, as well as the textual reviews made by users towards the products. It then conduct automatic phrase-level sentiment analysis on these reviews and extracts product feature phrases (like 'price', 'color', and 'battery life' in the domain of mobile phones) and users opinion phrases (like 'good', 'bad', and 'excellent', etc.).

    The algorithms then match these features and opinions intelligently to construct valid feature-opinion pairs in a product domain (like 'battery life | long'), and further determine which pairs are commented on in each piece of textual review. You can also check the 'Phrase-level Sentiment Labeled Reviews' dataset in the 'Dataset' subpage of this site for the dataset constructed by phrase-level sentiment analysis algorithms that we developed. After that, we summerize the feature-level pros and cons of each product, and compare them visually through word cloud. We further calculate the numerical scores of each product on each feature according to the sentiment prolarities that users expressed on their features for more accurate comparison.

    You may check out the following Sentires project for the phrase-level sentiment analysis toolkit, which is the core technique for this project. We appriciate if you cite the following works when appropriate:
    [1] Yongfeng Zhang, Haochen Zhang, Min Zhang, Yiqun Liu and Shaoping Ma. Do Users Rate or Review? Boost Phrase-level Sentiment Labeling with Review-level Sentiment Classification. SIGIR 2014. [2] Yongfeng Zhang, Guokun Lai, Min Zhang, Yi Zhang, Yiqun Liu and Shaoping Ma. Explicit Factor Models for Explainable Recommendation based on Phrase-level Sentiment Analysis. SIGIR 2014. [3] Yunzhi Tan, Yongfeng Zhang, Min Zhang, Yiqun Liu and Shaoping Ma. A Unified Framework for Emotional Elements Extraction based on Finite State Matching Machine. NLPCC 2013.


    Many projects and researches on Information Retrieval (IR) rely on the core module of web data crawler. The DistCrawler project is exactly here the one that tries to release researchers from the time-consuming and perhaps duplicated work of implementating various web crawlers to collect the necessary data.

    DistCrawler is by nature designed as a distributed crawler based on Hadoop and HBase. DistCrawler is not only able to crawl, store, and index unstructured HTML web pages on distributed clusters, but also includes DOM parsing modules and interfaces to extract and store semi-structured or structed meta data from the web pages, such as user/item inforamtion, or user reviews in many online shopping or online review systems, like Amazon or Yelp.

    You can check out the latest distribution of DistCralwer here (external link to GitHub). Initial contributors of DistCrawler include Yongfeng Zhang, Fuxiang Cao, and Yang Liu, and we warmly welcome your contributions to this project.

Please follow us on the upcomming projects!


    A toolkit for phrase-level sentiment analysis and sentiment resource construction.


    An Online forum crawler.