07-09-2025, 07:44 PM
(This post was last modified: 07-09-2025, 07:53 PM by synapsomorphy.)
I have been doing a somewhat similar type of analysis but with word embeddings generated with word2vec.
Left is each frequent word mapped down to 2d, closer means used around the same other words.
Right is a few texts compared on how the top pair similarities of their most frequent words decline. On the far left is each text's most similar two frequent words and on the right the least similar two frequent words. I guess the pair similarities would be similar to the strength of your edge connections:
![[Image: embedding_similarity_seriesplot.png?raw=true]](https://github.com/pwspen/pykeedy/blob/main/examples/results/embeddings/embedding_similarity_seriesplot.png?raw=true)
You can see more results You are not allowed to view links. Register or Login to view. including the first plot for each of these texts, and all of my code You are not allowed to view links. Register or Login to view.
However, I have a problem with this type of analysis. With so many hyperparameters to set it up and then so much resulting data I feel like you can find almost any patterns you want to. I tried to compare between texts instead of among a text to mitigate this but it doesn't help a ton - the Naibbe encoded texts seem to always stay above the rest, but I can make the VMS line in the above plot flip above or below the natural texts by picking different hyperparams.
I think there's a chance that useful insights could come from specific datapoints in complex analyses like this. But we also already have many of these peculiarities that we have no real path forward to combining into some higher-level rule. This is why I'm more interested in looking at texts instead of instances of char/word/ngram occurence patterns.
I also think it's very important to report when you do some analysis and don't find strong correlations, alongside successful analyses.
Left is each frequent word mapped down to 2d, closer means used around the same other words.
Right is a few texts compared on how the top pair similarities of their most frequent words decline. On the far left is each text's most similar two frequent words and on the right the least similar two frequent words. I guess the pair similarities would be similar to the strength of your edge connections:
![[Image: embedding_similarity_seriesplot.png?raw=true]](https://github.com/pwspen/pykeedy/blob/main/examples/results/embeddings/embedding_similarity_seriesplot.png?raw=true)
You can see more results You are not allowed to view links. Register or Login to view. including the first plot for each of these texts, and all of my code You are not allowed to view links. Register or Login to view.
However, I have a problem with this type of analysis. With so many hyperparameters to set it up and then so much resulting data I feel like you can find almost any patterns you want to. I tried to compare between texts instead of among a text to mitigate this but it doesn't help a ton - the Naibbe encoded texts seem to always stay above the rest, but I can make the VMS line in the above plot flip above or below the natural texts by picking different hyperparams.
I think there's a chance that useful insights could come from specific datapoints in complex analyses like this. But we also already have many of these peculiarities that we have no real path forward to combining into some higher-level rule. This is why I'm more interested in looking at texts instead of instances of char/word/ngram occurence patterns.
I also think it's very important to report when you do some analysis and don't find strong correlations, alongside successful analyses.

