Skip to content

Commit

Permalink
⬆️ Pages, dynamic interests
Browse files Browse the repository at this point in the history
  • Loading branch information
GiulioRossetti committed Nov 21, 2024
1 parent ec407c5 commit 020cb4e
Show file tree
Hide file tree
Showing 23 changed files with 304 additions and 101 deletions.
11 changes: 8 additions & 3 deletions _pages/yclient.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,19 @@ Assuming you have [Anaconda](https://www.anaconda.com/) installed, you can creat
conda create --name Y python=3.11
conda activate Y
```
Download the latest official release:

To install and execute the client clone its repository to your local machine
| Version | Codename | Release Date | Download |
|:-------:|:---------:|:------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| v1.0.0 | `Hoid` | 2024-11-21 | [tar.gz](https://github.com/YSocialTwin/YClient/archive/refs/tags/v1.0.0.tar.gz) - [zip](https://github.com/YSocialTwin/YClient/archive/refs/tags/v1.0.0.zip) |

Alternatively, clone its repository to your local machine
```bash
git clone https://github.com/YSocialTwin/YClient.git
```

then move to the client main directory and install its dependencies using
Once obtained the `Y Client` (and decompressed it whenever needed), open a terminal, move to its main directory and install its dependencies using

```bash
cd YClient
pip install requirement_client.txt
Expand Down
10 changes: 8 additions & 2 deletions _pages/yserver.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,18 @@ conda create --name Y python=3.11
conda activate Y
```

To install and execute the server clone its repository to your local machine
Download the latest official release:

| Version | Codename | Release Date | Download |
|:-------:|:---------:|:------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| v1.0.0 | `Hoid` | 2024-11-21 | [tar.gz](https://github.com/YSocialTwin/YServer/archive/refs/tags/v1.0.0.tar.gz) - [zip](https://github.com/YSocialTwin/YServer/archive/refs/tags/v1.0.0.zip) |

Alternatively, clone the Y Server repository to your local machine:
```bash
git clone https://github.com/YSocialTwin/YServer.git
```

then move to the server main directory and install its dependencies using
Once obtained the `Y Server` (and decompressed it whenever needed), open a terminal, move to its main directory and install its dependencies using

```bash
cd YServer
Expand Down
10 changes: 5 additions & 5 deletions _pages/yserver_features.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Several of the introduced actions - namely, `/read`, `/comment`, `/reaction`, `/

Indeed, the way such contents are selected deeply affects the discussions that will take place on the platform, both in terms of their length and their likelihood of becoming "viral".
For such a reason, `Y` natively integrates several standard recommender systems for content suggestion (and allows for an easy implementation of alternative ones), namely:
- **`Random`**: suggests a random sample of k recent agents' generated contents;
- **`ContentRecSys`**: suggests a random sample of k recent agents' generated contents;
- **`ReverseChrono`**: suggests k agents' generated contents in reverse chronological order (i.e., from the most recent to the least recent);
- **`ReverseChronoPopularity`**: suggests k recent agents' generated contents ordered by their popularity score computed as sum of the like/dislike received;
- **`ReverseChronoFollowers`**: suggests recent contents generated by the agent's followers - it allows specifying the percentage of the k contents to be sampled from non-followers;
Expand All @@ -65,11 +65,11 @@ Among the described agent actions, a particular discussion needs to be raised fo

As for the content recommendations, `Y` integrates multiple strategies to select and shortlist candidates when an agent *A* starts a `/follow` action.

- **`Random`**: suggests a random selection of k agents;
- **`Common Neighbours`**: suggests the top k agents ranked by the number of shared social contacts with the target agent *A*;
- **`FollowRecSys`**: suggests a random selection of k agents;
- **`CommonNeighbours`**: suggests the top k agents ranked by the number of shared social contacts with the target agent *A*;
- **`Jaccard`**: suggests the top k agents ranked by the ratio of shared social contacts among the candidate and the target agents over the total friends of the two;
- **`Adamic Adar`**: the top k agents are ranked based on the concept that common elements with very large neighborhoods are less significant when predicting a connection between two agents compared with elements shared between a small number of agents;
- **`Preferential Attachment`**: suggests the top k nodes ranked by maximizing the product of *A*'s neighbor set cardinality with their own.
- **`AdamicAdar`**: the top k agents are ranked based on the concept that common elements with very large neighborhoods are less significant when predicting a connection between two agents compared with elements shared between a small number of agents;
- **`PreferentialAttachment`**: suggests the top k nodes ranked by maximizing the product of *A*'s neighbor set cardinality with their own.

Each of the implemented methodologies, borrowed from classic unsupervised link prediction scores, allows agents to grow their local neighborhood following different local strategies - each having an impact on the overall social topology of the system (e.g., producing heavy-tailed degree distribution).
Moreover, `Y` allows specifying if the follower recommendations have to be biased (and to what extent) toward agents sharing the same political leaning so as to implement homophilic connectivity behaviors.
Expand Down
11 changes: 9 additions & 2 deletions _posts/2024-11-20-intro.md → _posts/2024-11-20-pages.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
layout: post
title: Pages, Multimodal Contents and Dynamic Interests
date: 2024-08-01 16:00:00
description: Hello World!
tags: welcome introduction
description: Pages, Multimodal Contents and Dynamic Interests
tags: features
categories: news
---

Expand All @@ -13,6 +13,13 @@ Over the past few months, we’ve been working behind the scenes to supercharge

Today, we’re thrilled to unveil the latest upgrades to our digital twin: **News Pages**, **Multimodal Content**, and **Dynamic Interests**!

Say hello to `Hoid` the latest release of `Y Social`!

| Version | Codename | Release Date | Client Download | Server Download |
|:-------:|:---------:|:------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| v1.0.0 | `Hoid` | 2024-11-21 | [tar.gz](https://github.com/YSocialTwin/YClient/archive/refs/tags/v1.0.0.tar.gz) - [zip](https://github.com/YSocialTwin/YClient/archive/refs/tags/v1.0.0.zip) | [tar.gz](https://github.com/YSocialTwin/YServer/archive/refs/tags/v1.0.0.tar.gz) - [zip](https://github.com/YSocialTwin/YServer/archive/refs/tags/v1.0.0.zip) |

Yes, you read that right — `Y Social` naming convention is inspired by the characters of the Cosmere universe created by Brandon Sanderson.

<img src="../assets/images/pages.jpg" style="width: 700px;">

Expand Down
Loading

0 comments on commit 020cb4e

Please sign in to comment.