45 lines
2.1 KiB
Scala
45 lines
2.1 KiB
Scala
package com.twitter.recos.user_tweet_entity_graph
|
|
|
|
import com.twitter.graphjet.algorithms.RecommendationType
|
|
import com.twitter.recos.model.Constants
|
|
import com.twitter.recos.graph_common.NodeMetadataLeftIndexedPowerLawMultiSegmentBipartiteGraphBuilder.GraphBuilderConfig
|
|
|
|
/**
|
|
* The class holds all the config parameters for recos graph.
|
|
*/
|
|
object RecosConfig {
|
|
val maxNumSegments: Int = 8 // this value will be overwritten by a parameter from profile config
|
|
val maxNumEdgesPerSegment: Int = 1 << 27 // 134M edges per segment
|
|
val expectedNumLeftNodes: Int = 1 << 24 // 16M nodes
|
|
val expectedMaxLeftDegree: Int = 64
|
|
val leftPowerLawExponent: Double = 16.0 // steep power law as most nodes will have a small degree
|
|
val expectedNumRightNodes: Int = 1 << 24 // 16M nodes
|
|
val numRightNodeMetadataTypes: Int =
|
|
RecommendationType.METADATASIZE.getValue // two node metadata types: hashtag and url
|
|
|
|
val graphBuilderConfig = GraphBuilderConfig(
|
|
maxNumSegments = maxNumSegments,
|
|
maxNumEdgesPerSegment = maxNumEdgesPerSegment,
|
|
expectedNumLeftNodes = expectedNumLeftNodes,
|
|
expectedMaxLeftDegree = expectedMaxLeftDegree,
|
|
leftPowerLawExponent = leftPowerLawExponent,
|
|
expectedNumRightNodes = expectedNumRightNodes,
|
|
numRightNodeMetadataTypes = numRightNodeMetadataTypes,
|
|
edgeTypeMask = new UserTweetEdgeTypeMask()
|
|
)
|
|
|
|
val maxUserSocialProofSize: Int = 10
|
|
val maxTweetSocialProofSize: Int = 10
|
|
val maxTweetAgeInMillis: Long = 24 * 60 * 60 * 1000
|
|
val maxEngagementAgeInMillis: Long = Long.MaxValue
|
|
|
|
println("RecosConfig - maxNumSegments " + maxNumSegments)
|
|
println("RecosConfig - maxNumEdgesPerSegment " + maxNumEdgesPerSegment)
|
|
println("RecosConfig - expectedNumLeftNodes " + expectedNumLeftNodes)
|
|
println("RecosConfig - expectedMaxLeftDegree " + expectedMaxLeftDegree)
|
|
println("RecosConfig - leftPowerLawExponent " + leftPowerLawExponent)
|
|
println("RecosConfig - expectedNumRightNodes " + expectedNumRightNodes)
|
|
println("RecosConfig - numRightNodeMetadataTypes " + numRightNodeMetadataTypes)
|
|
println("RecosConfig - salsaRunnerConfig " + Constants.salsaRunnerConfig)
|
|
}
|