cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Improve results of Label Propagation Algorithm

LJRB
Graph Buddy

I applied Label Propagation on my data. My goal is to make an article recommendation engine with the LPA.

I have the following results :

I have 1670 articles and I would like to have less clusters.

What can I do to improve the results, is it possible to make several iterations ? Is it also possible to visualize the results of the LPA ?

2 REPLIES 2

This appears to be converging after a single iteration -- which suggests LPA isn't actually doing anything.

There are a couple of issues that stand out:

  • You're using seedLabel in the nodeQuery, but you're passing seedProperty: 'seed_label', so there's effectively no seed label being used. And,
  • Your node queries subsets your graph to only articles that have n.familyComponent=0 so I suspect you're generating a very disconnected subgraph (you can check by running WCC on the same cypher projection).

Try looking into those, and I suspect you'll get it sorted out pretty quickly

LJRB
Graph Buddy

Thank you for your answer. I tried to correct it but the problem remains. The LPA is doing nothing. Even without seed labels the LPA doesn't work.

My data looks like this: 2X_b_b44d0883b347180613ecaac4d73dd2ebad5aff4c.jpeg

I have 530 articles and 842 keywords.

The article nodes have id property and title content property.
The keyword nodes have id property and keyword property.

The relationship APPEARS_IN has weights property. Weights are the number of time that the keyword appears in an article.

The data in Neo4j looks like this: I have a big network at the center and the other articles are not connected to others. That's why I ran wcc before applying LPA. I wanted to only keep the big network with the wcc (at the center of the image) and next apply LPA. I don't know if it is the good method.

If I make a zoom on the big network it looks like this:

Maybe my request is not okay, I tried to project a bipartite graph to a monopartite graph (I also tried firstly a similarity algorithm before applying LPA) because I have the following relationships:

2X_7_73930cad49dea1e19561c3ae67e37052d7f174a2.jpeg

I don't know where I made the mistakes.