Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Chatterbox conversational clusters

by diotalevi (Canon)
on Apr 03, 2004 at 01:03 UTC ( #342201=monkdiscuss: print w/replies, xml ) Need Help??

The last hour's chatterbox is graphed to clump around who was talking to whom. Sort of. This doesn't take into account message content so if you say someone's name, that doesn't hint that you are talking to them. You get points by speaking recently and within proximity to when someone else spoke.

Fullpage Chat with the graph

View the source

Incidentally, I'm bringing these links up in PMD because while the code is visible I'm not presenting complete packages so people can run this stuff on their own. In that sense its more just an introduction to another view to perlmonks.

Appended: I added the PL/R code so people could see that too. The full source code for everything is at

CREATE FUNCTION r_median(double precision[]) RETURNS double precision AS ' median(arg1) ' LANGUAGE plr; CREATE AGGREGATE median ( BASETYPE = double precision, SFUNC = plr_array_accum, STYPE = double precision[], FINALFUNC = r_median ); CREATE FUNCTION invisible_speakers() RETURNS SETOF text AS ' SELECT username FROM (SELECT userid FROM chatter AS c, ( SELECT MAX( inserted ) AS s FROM other_users ) as s, ( SELECT MAX( inserted ) AS f FROM current_other_users ) AS + f WHERE c.inserted BETWEEN s.s AND f.f EXCEPT SELECT userid FROM current_other_users) AS i JOIN users USING (userid); ' LANGUAGE sql STABLE;

Replies are listed 'Best First'.
Re: Chatterbox conversational clusters
by jZed (Prior) on Apr 03, 2004 at 01:49 UTC
    This is really cool, thanks! There's been a lot of work lately on visual maps of social networks and information source. For example here's a visual map of google news items
Re: Chatterbox conversational clusters
by kappa (Chaplain) on Apr 03, 2004 at 08:27 UTC
    Way too cool! I'm going to borrow some expressions from your queries.

    I do almost the same for our local irc channel, but connections are based only on number of directly addressed (=~ /^$nick/) messages. And GraphViz helps to avoid writing .DOT files.

Re: Chatterbox conversational clusters
by hossman (Prior) on Apr 05, 2004 at 07:44 UTC

    FYI: Graph::Layouter was recently released, which means you don't have to exec neato, you can do it all in pure perl.

Re: Chatterbox conversational clusters
by pasky (Initiate) on Apr 04, 2004 at 00:31 UTC
    BTW, I've ported PieSpy from Java to Perl (irssi script incarnation), you can get it here together with some sample output (ie. latest FreeNode #perl social network). It does similiar thing like the chatterbox monitor, but with IRC channels. It includes a neat cute-looking layouter and renderer (nothing ugly like GraphViz), I'm in the process of CPAN'izing that part right now.
      Great! So you'll let me know when you've uploaded it? What are you going to call the graphing portion?
Re: Chatterbox conversational clusters
by allolex (Curate) on Apr 08, 2004 at 06:30 UTC

    This is really nifty. Now all we need is a topic cluster graph. =)


      Write the categorizer and I'll include it.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: monkdiscuss [id://342201]
Approved by kvale
Front-paged by belg4mit
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (6)
As of 2017-09-20 19:21 GMT
Find Nodes?
    Voting Booth?
    During the recent solar eclipse, I:

    Results (238 votes). Check out past polls.