This blog is gone elsewhere!

To facilitate the sharing of contents, I’ve decided to move my personal work blog to Tumblr. Thus, The Rice Cooker has now become The Electric Rice Cooker.


Weiboball

A year and half ago, I did a project called Twitterball for one of my classes at PolyU on information architecture. It played on the idea of visualising the frequencies of tweets in time.

I quickly remashed Twitterball into Weiboball, using data from our archive and the search engine built with WeiboScope Search. The result is Weiboball and Weibobubble.


Get all the reposts and comments of a Sina Weibo post: Introducing a new service from JMSC

We belatedly announce a new service to retrieve all the comments or reposts of any given Sina Weibo post. The service will be very useful for researchers who want to study the contents of chatter surrounding any single post. We created a Google Form to submit posts to the system:

https://docs.google.com/spreadsheet/viewform?formkey=dEt6RmxDaGg4bEIzc3pDSWFiODNxSHc6MQ#gid=0

A Weibo ID is a 16-digit long numerical identifier. One way to find a post ID is to use one of our tools: WeiboScope and WeiboScope Search both expose the weibo ID). If you found your post via the Weibo.com website, once you are on the single post website (such as this one), go to the source code (press Ctrl-U if you are on Google Chrome) and do a Find (Ctrl-F) on “mid=”. The first digit starting with a 3 you find following “mid=” is your post ID (in the example we gave it’s “3433594570011824”).

Once you have your bunch of IDs, you can paste them, one per line, into the form and wait. The program running on our server will start to collect the posts using the Sina Weibo Open API and send you an e-mail that your job was queued. If the job is successful, you will get a second e-mail that tells you that all is ok, along a link to a zip file with your results in CSV format.

Try it and tell us if it works for you!

(I had the inspiration to write this service from the time when I was working in bioinformatics in the mid-2000s and where those sort of tasks, to find patterns in DNA or protein sequences, etc., normally took more time than a web user can wait for.)


No trending topics, no problem

Another side-effect of the comment system shutdown (and as documented by my colleague David at CMP), was the shutdown of the trending topics.

[Edit (12:30PM): There was no shutdown of trending topics (thanks Charlie of Chinageeks), but I noticed that their weekly trending topics never seem (from visual inspection) to include posts made in the 3 past days. I was also confused by the daily topics, because I wrote the entry before 9AM and only saw the topics of 2 days ago as “yesterday’s” trending topics, skipping one entire day. It’s possible that the trending topics are only released once or a handful of times per day.]

The image embedded here below is a screenshot of the most commented on weibos of the last week on Sina. They are based on the number of comments made on the given post that week, but are all on rather innocuous topics this time.

熱門轉發 新浪微博-隨時隨地分享身邊的新鮮事兒

The following is a screenshot of the page for the most reposted weibos during the last week (original page). Sina counts them based on a week time from today, and a calendar lets you navigate through the archive.

Most reposted last week

It’s not always inoffensive stuff, as sometimes the posts would touch on social injustice and events of political importance, like here. But don’t look for the Bo Xilai and Wang Lijun stuff, because you won’t find any of this. That said, not everything has to be political to be important, and celebrities posts often occupy the microblogosphere of the majority.

So it is a good thing that we are keeping our own trending topics.

We have been making our own index of trending topics for a long while already (more than a year now) and while it chiefly depends on our capacity to collect posts, it has always given us a good indication of what’s *really* trending, among people of slightly greater influence (we have a list of 270,000 people now, with more than 1,000 followers).

We solely look at popular posts based on the number of reposts (among a sample), because it’s not practical to do trending topics based on comments, when you don’t have the capacity to discover popular posts that way.

WeiboScope - published by the JMSC at HKU

Our trending topics come in handy when the comments are completely gone, as it was the case this week on both Sina and QQ weibo, and reportedly most of the other microblogging platforms. WeiboScope is a visual representation of those trending posts, according to us. For instance, there is a strong representation of pictures of buddhist monks, either of what seems to be one of their leaders, and another of what looks like two monks deviating from their monastic life (see archived screenshot).

Also a bit of Yao Ming, cats growing old together and some ridiculous freak incident where a lady fell in a hole in the pavement where hot water pipes had ruptured.

The image is only indicative, as I didn’t check the actual sampling. But because of its consistency over time (in terms of matching Sina’s own trending topics or what I end up seeing in the news), I can believe that this would be what is interesting among a certain group of slightly more influential people. That’s what the chatter’s on right now on Sina Weibo.


No comment

Since Saturday, comments on Sina Weibo, China’s most popular microblogging platform, have been shut down for clean-up all the way until Wednesday, April 4.

新浪微博公告

各位微博用户:
  最近,微博客评论跟帖中出现较多谣言等违法有害信息。为进行集中清理,从3月31日上午8时至4月3日上午8时,暂停微博客评论功能。清理后,我们将再开放评论功能。进行必要的信息清理,是为了有利于为大家提供更好的交流环境,希望广大用户理解和谅解。感谢大家的支持。
新浪微博

2012年3月31日

Weibos are a bit more “Twitter-esque” now, since comments are a unique feature of Chinese microblogs over their Western counterparts. It’s especially a critical feature, since reposts are often made through a comment first (you may then decide to repost something back to your readers) and allow to aggregate text of the same topic within a single stream.

Tencent had a similar message for their weibo, also one of the most popular ones in the nation:

腾讯微博客公告
關閉

用户朋友:
  近期,通过微博客传播的谣言等违法有害信息造成了不良社会影响,评论跟帖中的有害信息相对较多,需要作集中清理。为此,本网站决定,自3月31日上午8时至4月3日上午8时,暂时停止微博客评论功能。由此给您带来的不便,敬请谅解。

腾讯网

2012年3月31日

The networks do not point fingers at a specific target of this “cleanup” in their message to users, but many understand that it is to rid their weibo systems of the chatter on a supposed “coup” in Beijing.

As illustrated in The Economist this week, but understood by any Chinese speaker, 140 Chinese characters are worth a lot more semantic value than in alphabet-based languages.

We’ll try to to monitor the blackout and keep you posted on it.


Sina Weibo: Zombie accounts, slain entries, and now, ghostly posts

While inspecting a potential hiccup to our Sina Weibo deleted posts monitoring system (see the ASL / see article explaining the method), we discovered the occurrence of a post that was seemingly deleted, but which still occasionally appeared on the API.

It was made as a repost made on March 2nd by David Bandurski of CMP, and was a repost of a Hu Shuli post commenting on the Wang Lijun incident on the same day. The post was archived, but can no longer be found on David’s timeline. Ms. Hu’s post was still alive on Weibo when I checked (and we have it archived, in case).

The strange thing was that this post was not marked as “permission denied” and was fully available when queried with the “statuses/show” function on the Weibo API (link — requires login). On the other hand, the user_timeline function, which lists the latest 200 posts made by a given user, reports that the post no longer existed.

Even more bizarre, still, when you searched on Weibo.com for David’s posts between the date range containing March 2nd, you’d see that the search page claims of 5 results, whereas only 4 are actually returned! This is shown in this following image:

For our monitoring tool, specifically the user_timeline function that casts the net for deleted posts, we have been using the first version (V1) of the API (because of rate limiting issues). V1 seems to me like the abandoned entrance for a data store that is more and more complex in its layers of visibility (and invisibility). These layers don’t seem supported with 100% fidelity on V1, and will return copies of user timeline that sometimes contained the “ghostly” post, and sometimes just won’t (probably depending on which physical server you end up accessing).

Not only there are “permission denied” or “weibo does not exist” posts, as described in our previous post about the methods behind the tool, but there are now posts wavering between a state of publication or non-publication (at least from the weibo.com website’s point of view, they were dead).

Anecdotally, I noticed that “permission denied” posts usually meant that their dependent posts (by people who repost) would also be marked as deleted with “permission denied” as well. In this case of the Hu Shuli post, the original post was alive and well, while the repost was deleted.


How do you catch and archive deleted posts on Sina Weibo?

It’s the holy grail of any media researcher working on China: how do you quantify contents removal from social media services such as Sina Weibo? Here at JMSC, we’ve been developing tools to scour and assess social media of all sorts for the purpose of researching online media in Hong Kong and mainland China. (This is the same project that generated WeiboScope, for those tuned in.)

Screenshot at 2012-02-08 11:56:04

With the extensive archive of weibos we’ve accumulated so far and mechanisms underlying its retrieval, we were able to develop a routine that finds and marks deleted posts (method explained here).

The result is an archive of deleted posts (and the CMP’s Anti-Social List). Not only is it possible to find a large number (which is not exhaustive, we admit) of such posts within the day of their doom time, but also be able to presume with clear-cut evidence whether these deleted posts were removed by the user itself or simply deleted by system managers (we first noticed the difference in August 2011…).

As described in a post last week, the idea behind this archive is simple and straightforward to implement, once you’ve got the infrastructure.

deleted_weibo_previous
A previous copy of the user timeline, containing all posts

deleted_weibo_current
A current copy of the user timeline, with a missing post

Both copies of a user timeline (post IDs extracted from the full JSON response) are obtained during two consecutive API calls, which may span a few minutes or several hours. The smaller this interval between pollings, the more precise would the routine be in finding the exact removal time (and the chances of missing something, smaller too).

A post is found to be deleted when you could see it in the previous version, but not the current one. Since we keep a copy of every post we see, we simply mark this post, and can then view them all in a custom webpage. Easy enough, right?

Screenshot at 2012-02-08 12:14:35

Screenshot at 2012-02-08 12:14:26

The previous two images show you exactly what, from a programmer’s point of view, Sina Weibo returns us for two different kinds of deleted posts. The former, with an API response “weibo does not exist”, identifies a post that was presumably deleted by the user. The latter, which returns “permission denied”, is presumably a post deleted by the system.

We don’t know the intention between both types of messages, but we can guess based on what their contents are generally. The first are generally made of spam-like posts that would be deleted on any online social network in the world. The second seem to provide more legitimate contents, including some made by so-called VIP users verified by Sina (we only check a 2500-odd sample of users, so can’t really infer on their representation).

This feature is indeed powerful, because it finally puts a number on post removal on Sina Weibo. (We computer science majors strongly dislike conclusions not based on numbers and data.)

It is however currently impossible to tell with certainty what gets deleted (versus what’s not), since our user sample is strongly biased towards public commentators, and perhaps because the number of posts found is still extremely small.

What it does give is an understanding of how post removal works, how much time it usually takes for something to be removed, and whether reposts of posts or just reposts but not original posts, get deleted (in fact, it happens). It’s a privileged peek, indeed, at what’s going on on the Chinese Internets, right here, right now.

Until we accumulate a substantial archive to do anything useful, our colleagues at China Media Project have started compiling and explaining deleted posts on their Anti-Social List.


Sina Weibo deleted posts archive

Since Sina Weibo has a pretty good API, and since we do download lots of data every day, it just makes good sense to keep an archive of deleted posts.

The strategy is very straightforward and only incurs a negligible extra number of hits against the API:
– Take the statuses/user_timeline function for each user in your list (we have 2,500 in a sub-list).
– Extract the IDs of all 200 posts in the response and save as a text file, one ID per line. They are already ordered chronologically.
– You should have a previous list of IDs. Use diff to compare both files.
– Loop through the output of the diff. Mark all the IDs that appear in the previous version, but not the new one.
– Those IDs are the deleted posts.
– Mark them, and send your alert, etc. (We also hit the API again on statuses/show to double-check if the post was really deleted.)
– Overwrite the old ID list with the new one.
– Repeat whenever you can fetch a new version of the timeline (you might be rate-limited by Sina if you do it too often).


Searching our Sina and QQ Weibo archive

Screenshot at 2012-01-19 17:15:45

We had a search engine built a while ago for Sina Weibo archive, and since yesterday, also for the QQ Weibo archive. We use Lucene as the indexer (to do quick full-text searches) and then store all linked information in our standard database. The difference with the real search engines provided on the Sina and QQ Weibo websites is that we don’t currently implement any weighing, and the results are just everything we got, ordered by publication date.

We index at every four hours, so there’s at least a 30 minutes delay, and at most around 4 hrs 30 minutes. There’s paging, too. Because we’re not Google, be sure to understand that queries normally take up to 1 minute to run (more if there’s lots of activity on the server). The search by region / province on the Sina search is also uber-slow.

Cool feature: you can link directly to searches! For instance, if you were interested in racing celebrity Han Han (韩寒) who has been under fire recently, you may use a link such as these:
http://research.jmsc.hku.hk/social/search.py/qqweibo/?q=韩寒
http://research.jmsc.hku.hk/social/search.py/sinaweibo/?q=韩寒

Other cool feature: Google Translate! Write your search query in your language, and behind the scenes, we’ll try to send a query to the Google Translate API. You’ll know whether it worked when you get your results.


Ma Ying-jeou in pictures on WeiboScope

When you check out WeiboScope today, what you will notice are Yao Ming with sleeping delegates at the Shanghai CPPCC and Ma Ying-jeou, Taiwan’s president re-elected for a second 4-year term on Saturday (there’s also this weird meme of Zhou Qifeng, Peking University’s president, grinning uncontrollably alongside Li Keqiang, China’s Vice-Premier).

mayingjeou

But what really caught my eye were all the photos sitting at the top of our Sina Weibo data stack, which probably ranges in the thousands when you look at the bottom of the stack. The image wall here above was generated using the image search portion of WeiboScope. There’s one particularly making rounds of Ma in the US with his future wife, Zhou Meiqing.