Menu

Expanding RankLib implementation

RankLib
EilonS
2015-09-16
2016-01-17
  • EilonS

    EilonS - 2015-09-16

    Dear all,

    I downloaded "RankLib-2.1-patched.jar" in order to use LambdaMART as my learning to rank algorithm.
    After reading the documentation at following link: https://sourceforge.net/p/lemur/wiki/RankLib%20How%20to%20use/
    I've noticed that I will have to exapnd the implementation for optimizing my training data over evaluation measures which are absent from the availiable options.

    What is the easiest way to make these changes.

    Thank you for your assistance,

    Eilon.

     
  • Lemur Project

    Lemur Project - 2015-10-01

    What exactly is it you wish to do?

    eval/Evaluator.java is the central code that gathers parameters, loads data and hands off processing to the specified ranking algorithm. Since you are using LambdaMART, if your changes involve modifications to that algorithm, then you should examiine learning/tree/LambdaMART.java.

    Please use the latest release of RankLib-2.5 rather than the older version you specified.

    I'd recommend you simply run the code in a debugger to see where your modifications would need to go. You'll get a good understanding of process flow at the same time.

     
  • EilonS

    EilonS - 2015-10-02

    Hi Stephen, thank for your assistance.

    Where should I look for the Evaluator class?
    I'm currently working with indri 5.8 and under lib directory I can find only the RankLib jar file.

    I intend to use other metrics while optimize the training data.

    Thank you in advance,
    Eilon.

     
  • Lemur Project

    Lemur Project - 2015-10-05

    You want the RankLib source which is found under the Files section of the Lemur project. Grab RankLib-2.5. You'll find the evaluator class under the eval/ source subdirectory.

    You define and assign scoring metrics via the MetricScorerFactory (see the metric/ source subdirectory). Just add your metric along with the others defined there.

    Best to just put a LambdaMART run in the debugger to find all the locations you're going to need to add/modify for your new metric.

     
  • EilonS

    EilonS - 2015-10-28

    Hi Stephen,

    Following your suggestions I have looked for the RankLib source files under the Lemur project and all I can Find is the RankLib-2.5.jar file. No further access is provided.

    • Please find attached screen capture.

    Am I missing something?

    Best,
    Eilon.

     
  • John Foley

    John Foley - 2015-10-28

    Hi Eilon,

    You should be able to get a copy of the code from SVN as well.

    The following should copy the data into a new 'ranklib-source' directory.

    svn co svn://svn.code.sf.net/p/lemur/code/RankLib/trunk ranklib-source
    

    Best,
    John

     

    Last edit: John Foley 2015-10-28
    • EilonS

      EilonS - 2015-10-28

      Hi John,

      Thank you for your assistance!

      According the POM file , it seems to be the 2.4 version. Do you have a reference for the 2.5 ?

      Thanks again,
      Eilon.

       
  • John Foley

    John Foley - 2015-10-28

    Hi Eilon,

    That's odd. My pom.xml has the version as "2.5-SNAPSHOT". Can you post the results of "svn info"?

    Path: .
    Working Copy Root Path: /home/jfoley/code/stable/RankLib
    URL: svn+ssh://jjfoley@svn.code.sf.net/p/lemur/code/RankLib/trunk
    Relative URL: ^/RankLib/trunk
    Repository Root: svn+ssh://jjfoley@svn.code.sf.net/p/lemur/code
    Repository UUID: 14020d50-3050-45fe-8e0c-5ed7005ca764
    Revision: 2659
    Node Kind: directory
    Schedule: normal
    Last Changed Author: sm-harding
    Last Changed Rev: 2658
    Last Changed Date: 2015-09-22 10:48:01 -0400 (Tue, 22 Sep 2015)
    

    John

     
    • Lemur Project

      Lemur Project - 2015-10-28

      I just did a checkout and the pom says 2.5.

      My command was slightly different:

      svn checkout --username=sm-harding svn+ssh://sm-harding@svn.code.sf.net/p/lemur/code/RankLib \

      RankLib

      But that will get you everything below RankLib including tags, branches and the trunk.

      Maybe more than what you want but try it. Trunk should be 2.5-SNAPSHOT.

      SMH


      From: John Foley jjfoley@users.sf.net
      Sent: Wednesday, October 28, 2015 1:24 PM
      To: [lemur:discussion]
      Subject: [lemur:discussion] Expanding RankLib implementation

      Hi Eilon,

      That's odd. My pom.xml has the version as "2.5-SNAPSHOT". Can you post the results of "svn info"?

      Path: .
      Working Copy Root Path: /home/jfoley/code/stable/RankLib
      URL: svn+ssh://jjfoley@svn.code.sf.net/p/lemur/code/RankLib/trunk
      Relative URL: ^/RankLib/trunk
      Repository Root: svn+ssh://jjfoley@svn.code.sf.net/p/lemur/code
      Repository UUID: 14020d50-3050-45fe-8e0c-5ed7005ca764
      Revision: 2659
      Node Kind: directory
      Schedule: normal
      Last Changed Author: sm-harding
      Last Changed Rev: 2658
      Last Changed Date: 2015-09-22 10:48:01 -0400 (Tue, 22 Sep 2015)

      John


      Expanding RankLib implementationhttps://sourceforge.net/p/lemur/discussion/ranklib/thread/e345b337/?limit=25#8960


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/lemur/discussion/ranklib/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       
  • EilonS

    EilonS - 2015-10-28

    Thank you Stephen and John, it's indeed 2.5-SNAPSHOT and it works fine!

    Best,
    Eilon.

     

    Last edit: EilonS 2015-10-28
  • XiaoWanLI

    XiaoWanLI - 2016-01-17

    I am a total newer in java, let alone svn...So, in case some one is like me:
    if you want to use svn in eclipse to copy the code, the url is actually:http://svn.code.sf.net/p/lemur/code/RankLib/trunk

     

    Last edit: XiaoWanLI 2016-01-17

Log in to post a comment.

MongoDB Logo MongoDB