[ 
https://issues.apache.org/jira/browse/STANBOL-1157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13777384#comment-13777384
 ] 

Antonio David Pérez Morales edited comment on STANBOL-1157 at 9/25/13 1:35 PM:
-------------------------------------------------------------------------------

Both classes are used to calculate the shortest path between two entities in 
the graph. The CustomDijkstraDistance is a customization of the original 
DijkstraDistance of Jung to avoid to use the Transformation class from an old 
version of guava library (Stanbol provides a new version of guava library), so 
this class only adds a static interface Transformation to be used when creating 
a new instance of the DijkstraDistance class (to convert an Edge into a number 
to calculate the shortest paths). I had a problem adding the dependency to the 
project and I was obtaining a ClassNotFoundException because the Transformation 
class provided by guava in Stanbol is in a different package than the one used 
by DjkstraDistance so I think that updating the Jung package to use a version 
of guava greater than 13.0.1 (provided by Stanbol) will cause we can remove 
this class and use the raw DijkstraDistance implementation provided by Jung.

The UndirectedGraphJung is an extension of GraphJung class from Tinkerpop 
(because DijkstraDistance uses an instance of Jung graphs) with a 
reimplementation of the getOutEdges (getEdgesForVertex) method. In Dijkstra, we 
have to obtain the out edges from a vertex to follow the possible paths until 
the target vertex. Due to the Freebase graph is undirected (it is the same go 
from entityA to entityB than go from entityB to entityA), this class redefines 
the method to return the edges of the vertex in both directions (in and out).
                
      was (Author: adperezmorales):
    Both classes are used to calculate the shortest path between two entities 
in the graph. The CustomDijkstraDistance is a customization of the original 
DijkstraDistance of Jung to avoid to use the Transformation class from an old 
version of guava library (Stanbol provides a new version of guava library), so 
this class only adds a static interface Transformation to be used when creating 
a new instance of the DijkstraDistance class (to convert an Edge into a number 
to calculate the shortest paths). 
The UndirectedGraphJung is an extension of GraphJung class from Tinkerpop 
(because DijkstraDistance uses an instance of Jung graphs) with a 
reimplementation of the getOutEdges (getEdgesForVertex) method. In Dijkstra, we 
have to obtain the out edges from a vertex to follow the possible paths until 
the target vertex. Due to the Freebase graph is undirected (it is the same go 
from entityA to entityB than go from entityB to entityA), this class redefines 
the method to return the edges of the vertex in both directions (in and out).
                  
> Freebase Disambiguation Algorithm
> ---------------------------------
>
>                 Key: STANBOL-1157
>                 URL: https://issues.apache.org/jira/browse/STANBOL-1157
>             Project: Stanbol
>          Issue Type: Sub-task
>          Components: Enhancement Engines, Enhancer, Entityhub
>            Reporter: Rafa Haro
>         Attachments: gsoc-freebase-disambiguation-engine-1.0-SNAPSHOT.zip
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> The disambiguation algorithm should take into account a local disambiguation 
> score (comparing in some way the document context with the contexts provided 
> by Wikilinks resource) and a global disambiguation score computed by a graph 
> based algorithm using the Freebase graph imported in a Neo4j database. Each 
> disambiguation score would have a different weight in the final 
> disambiguation store for each entity. The algorithm's steps, for each 
> TextAnnotation, can be the following:
> 1. Local score: for each EntityAnnotation, retrieves from Wikilinks database 
> all the contexts associated to the referenced entity. Compare (similarity, 
> distance....) the mention context (selected-context) with the wikilinks 
> contexts.
> 2. Global score: build a subgraph with all the possible entities and its 
> relations in Freebase. Extract a set of possibles solutions from such graph 
> (note: a solution should include only one entity annotation for each text 
> annotation). Compute the Dijsktra distance between each pair of entities 
> belonging to a possible solution. 
> 3. Weights normalization and confidence values refinement.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to