What is this?
GameNet is a tool for game discovery that was built using techniques from
natural language
processing. You can use it to discover games that you didn't know
about before, or to learn more about games you already know. Starting from a game of your choice,
explore GameNet by following links between related games. GameNet is not currently optimized for
mobile viewing.
How do I use it?
Type in the title of a game in the gray search box. Press enter to submit the title,
or else select it from the drop-down menu that appears once you start typing.
Why doesn't it include the game I want to start at?
GameNet includes 11,829 games. If the game you're looking for was released after mid-2014,
then it will not be in the system (due to the its underlying model being constructed at that time). We
are planning to update GameNet to add in these recent games. Second, if your game does not have a Wikipedia
article about it, or if its Wikipedia article is a stub, then it will not be included in the current version
of GameNet. The model that currently underpins the system was constructed by processing Wikipedia articles about
games, as we explain below, and so only games with such articles are featured at this time. Even though GameNet
does not include your game, you may generate a GameNet entry for it by visiting
GameSage, a companion tool.
I clicked a link to pull up results about a game from Google Images or YouTube, but none of
the results were relevant. Why?
GameNet automatically generates a query for these results, but in some cases there either
are no good results on Google Images or YouTube (such as with historical games that no longer survive) or
the query did not turn up good results. We intend to keep improving these autogenerated queries.
Who made it?
What keywords does it look for?
GameNet doesn't look for keywords or text overlap or anything like that.
It uses a much more complex natural language processing technique.
How does it work then?
We built GameNet by submitting Wikipedia articles about games to
a technique from natural language processing called latent semantic analysis (LSA).
LSA works from the premises that words that occur in similar contexts will tend to have
similar meanings and that texts that are composed of similar words will tend to be
topically similar. By the technique, words get attributed computable representations that
are determined by the contexts in which they appear (in our case, the Wikipedia articles) and
the contexts themselves (those Wikipedia articles) likewise get attributed computable representations
according to which words appear in them. The cool thing about LSA is that it may be able to
infer that two words that
do not appear together in any context (perhaps dialectal variants that denote the same thing,
like 'gas' and 'petrol') are in fact highly semantically related. By the same token, it may infer
the semantic relatedness of two contexts that have no terms in common. This ability to learn
global associations from local co-occurrences is the achievement of LSA and what led to it becoming
one of the major natural language processing techniques of the last twenty years. For this project, we extracted 11,829
Wikipedia articles that describe individual games and submitted these to LSA. By taking the computable
representation that LSA gave to the games' Wikipedia articles and using them as a way of representing the
games themselves, we can automatically determine how related any game is to any other game among the
11,829 included in our model. This is how GameNet is able to reason about game relatedness.
Can you say more about LSA and your model?
From a corpus of text, a co-occurrence matrix of its words and documents (the
individual texts that make up the corpus) is built; this matrix specifies
which words occurred in which documents (and thereby which documents words occurred in). The columns and
rows in this matrix can be thought of as vectors that represent the meanings, in an approximate sense,
of the words and documents that they correspond to; this is called a vector space model of semantics.
LSA is an example of such a model, but its hallmark is that it reduces the dimensionality of these vectors
by a matrix-factorization algorithm called singular value decomposition. Remarkably,
doing this allows the model to, as we've said above, infer semantic associations that are not encoded in the full
co-occurrence matrix. Having an LSA model, one can easily calculate how semantically related any of its
documents are by taking the cosine between their LSA vectors. In corpora in which each document pertains
to a specific individual concept, such as a corpus comprising encyclopedia entries, these relatedness scores
can reasonably be utilized as a measure of the relatedness of the concepts themselves. Crucially, we
relied on this notion in training our LSA model on the corpus comprising Wikipedia articles for
11,829 videogames, which we mentioned above. By this model,
we can quantify how related any two of these games are by taking the cosine between their LSA vectors.
If this isn't detailed enough, check out
this conference paper in which we explain our implementation in greater depth.
Feel free to
shoot us an email too.