mirror of
https://github.com/twitter/the-algorithm.git
synced 2024-06-01 08:48:46 +02:00
ef4c5eb65e
Please note we have force-pushed a new initial commit in order to remove some publicly-available Twitter user information. Note that this process may be required in the future.
33 lines
1017 B
Scala
33 lines
1017 B
Scala
package com.twitter.simclusters_v2.common
|
|
|
|
import com.twitter.simclusters_v2.common.SimClustersMultiEmbeddingId._
|
|
import com.twitter.simclusters_v2.thriftscala.SimClustersMultiEmbedding.{Ids, Values}
|
|
import com.twitter.simclusters_v2.thriftscala.{
|
|
SimClustersMultiEmbedding,
|
|
SimClustersEmbeddingId,
|
|
SimClustersMultiEmbeddingId
|
|
}
|
|
|
|
/**
|
|
* Helper methods for SimClustersMultiEmbedding
|
|
*/
|
|
object SimClustersMultiEmbedding {
|
|
|
|
// Convert a multiEmbedding to a list of (embeddingId, score)
|
|
def toSimClustersEmbeddingIdWithScores(
|
|
simClustersMultiEmbeddingId: SimClustersMultiEmbeddingId,
|
|
simClustersMultiEmbedding: SimClustersMultiEmbedding
|
|
): Seq[(SimClustersEmbeddingId, Double)] = {
|
|
simClustersMultiEmbedding match {
|
|
case Values(values) =>
|
|
values.embeddings.zipWithIndex.map {
|
|
case (embeddingWithScore, i) =>
|
|
(toEmbeddingId(simClustersMultiEmbeddingId, i), embeddingWithScore.score)
|
|
}
|
|
case Ids(ids) =>
|
|
ids.ids.map(_.toTuple)
|
|
}
|
|
}
|
|
|
|
}
|