Discourse social analytics and reputation graph analysis with Aigents

Empowering the community with personal social analytics and reputation studies.

Aigents with Anton Kolonin


The ability to perform personal social analytics and reputation studies within most major online social media platforms are severely limited by API restrictions guided by privacy protection and internal monetisation models where socially-relevant user-generated content is consumed by market analysis and advertisement businesses.

Users who are consuming the features of these platforms “for free” are limited in their ability to use personal analytics tools and platforms like Aigents©, even if this analysis concerns only the closest environment of the users themselves and does not affect the privacy of the others.

That is why we are looking forward to applying the Aigents machinery to more democratic online environments like Reddit, Steemit and now Discourse — where preservation and protection of privacy do not prevent users and communities to make sense of their own interaction data.

Demonstration of personal social graph analytics for Discourse forum at https://community.singularitynet.io/ integrated into Aigents© Web Demo site at https://aigents.com/

In the latest release of the Aigents© open-source platform (Ver. 2.5.2), we provide the initial stages of full integration into the Discourse forum engine API, with access to a basic scope of Aigents functionality. In this version, the following is currently supported; personal social analytics, social graphs, network analysis, reputation computation according to open issue #7, except Single-Sign-On and news monitoring options.

How it works

At this time, single instances of the Aigents Server may have only one Discourse forum setup referenced for social and reputation analysis integration, multiple Discourse forums per instance of Aigents may be supported in the future.

The forum URL should be configured with the “discourse URL” property of the Aigents’ self node and should relay “your discourse URL <url>” in the chat on behalf of the Aigents administrative user, for example, “your discourse URL https://community.singularitynet.io/” in the case study below.

Once this is done, any of the Aigents users will be able to set their own Discourse id’s for a given forum in their “Properties” or by just saying “my discourse id <id>”, like “my discourse id “akolonin” in the following video.

Learn more about how this works on the ‘integration of Aigents’ Demo Site where we will illustrate a typical integration using the SingularityNET community Discourse forum as an example.

Introductory video about Aigents© social platform integration with Discourse forums

Once a user has their discourse id set up, they can request personal social reports through directly through the web site or by using any messenger such as Telegram, Facebook Messenger or Slack. Unlike Facebook and Reddit which have Single-Sign-On (SSO) integration with Aigents, Steemit and Discourse reports are not executable from the menu but can be obtained from within an Aigents chat session by typing “my discourse report”.

The default minimum returned activity report period is determined automatically, though you can configure this to obtain a custom number of days if you wish, so if you type “my discourse report, period 31” it will render a report with a month’s worth of activity, and likewise if you type “my discourse report, period 365” you will generate an annual report. If you’d like to learn more Click Here to find out how you can tailor your social reports to your needs.

Heading of the Aigents Personal Social Report computed from Discourse forum data

You can also use the “Graph” view of the Aigents Web Demo site to see how the interactions with your close social neighbours are performing. If you are a member of SingularityNET Community and registered at Aigents, you can select a respective logo.

Personal social graph for SingularityNET community member “akolonin”, where sizes of the blue “halos” around the nodes on the graph correspond to the similarity between the participants of the social environment, the thickness of the arrows between the nodes correspond to the intensity of directed communications (including upvotes/likes, commenting and mentioning) while the vertical position of the node on the graph represent reputation level of the respective participant with the local community around the given member.

More sophisticated graph analysis and reputation study may be performed with deeper integration of Aigents with Discourse involving a Liquid Rank Reputation System. This needs the administrator of the Aigents site to also be an administrator of the Discourse site and the Discourse API key will have to be set up on the Aigents server self node relaying “your discourse key <api-key>” in the chat on behalf of Aigents administrative user.

Once this is done, any Aigents user accessing Discourse personal social graph can run a “Deep Graph Query” with a single right-mouse-click. The setup screen makes it possible to select graph (network) database to query (this can be Discourse or Steemit for example), root identifier (id) of the node to start the graph search, period as in the number of days of activity, range of traversals from node to node on the graph, the maximum number of graph nodes to retrieve and specific type of link if required.

Aigents Deep Graph Query setup dialogue

The graph query execution is performed by the Aigents Graph Analytics framework, and the graph data is retrieved from the server and rendered in the browser, providing more interactive options enabling changes to the graph layout and/or appearance of the links and nodes.

Aigents Graph Analytics view rendering subgraph of activity on Discourse forum at https://community.singularitynet.io/

After all, the Aigents Server may be configured to have Liquid Rank Reputation System turned into action. It can be done setting the current Discourse to be the default “reputation agency” providing the reputation data for the server instance. It can be done setting the respective server self node instance to Discourse saying “your reputation system discourse” in the chat on behalf of Aigents administrative user.

Once this is done, the reputation data will be retrieved from the configured Discourse server on a daily basis and the “reputation state” will be updated incrementally daily, according to the SingularityNET Reputation System Design. The daily reputations are updated according to the “weighted liquid rank” algorithm with the results illustrated on the following screenshot, so the top influencers and opinion leaders in a community may be correctly identified.

Example of the “reputation hierarchy” within the community on the SingularityNET Discourse forum, with graph force-directed layout settings, turned into “Horizontal”, so the vertical position of the nodes corresponds to reputation levels of respective participants. The hierarchy structure can be seen as few top-level influencers (“Tim”, “ibby” and “bengoertzel”), then a middle layer of actively commenting community and finally the bottom layer of passive readers and voters.

We’d love to hear your feedback and so If you are a Discourse user or event administrator, please feel free to let us know your thoughts in our Discourse development community forum or here on Medium.

Stay tuned for more updates from Aigents platform development in the other online communities:


Join Us

SingularityNET plans to reinforce and expand its collaborations to shape the coming AI Singularity into a positive one, for all. To read more about our recent news click here.

And if you have an idea for AI tools or services you’d like to see appear on the platform, you can request them on the Request for AI Portal.



Aigents with Anton Kolonin

Creating personal artificial intelligence and agents of collective intelligence for individuals and small businesses.