Блог пользователя newbie_forever_at_cp

Автор newbie_forever_at_cp, история, 3 года назад, По-английски

Hi Guys,

Many times, when we look at the solution for an unsolved problem or love a specific problem, we might want to try out a problem similar to it. Currently we can only search problems only based on tags. But from now on we can just input a problem and get a list of problems similar to it. We can query here similar_problems

Example :

Input

After Submitting,

Output

Here,

  • Problem Name is just the contestId + index. eg (1389A),

  • We can also specify the rating range which is the problem difficulty rating range within which we want out similar problems to be. If nothing is specified, by default it will consider problems rating between -500 to +500.

Currently, I am computing cosine similarity between two problem's tags. Yes, this is the most basic method which we can think of and obviously there are many false positives, but this is just the first version.

Any suggestions for reducing false positives is absolutely welcomed.

Please do checkout and let me know how you feel.

  • Проголосовать: нравится
  • +41
  • Проголосовать: не нравится

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by newbie_forever_at_cp (previous revision, new revision, compare).

»
3 года назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Very cool , I will add it to my list

»
3 года назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

How do you find the similarity score?

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

It seems really amazing and helpful.

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Is the similarity just on the basis of tags?

»
3 года назад, # |
  Проголосовать: нравится +20 Проголосовать: не нравится

add similarity in terms of users who have solved the problem, that is probably very useful indicator

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Great.
Maybe you can use word embedding on problem statements to get similarity.

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Thanks, Actually using embedding on problem statements may not be a good idea as almost all problem statements have a very long story associated with them which adds too much noise. We can try using embedding on editorial, but it will be a very big task.

»
12 месяцев назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

It seems it doesn't work last months. Does anybody know similar resources to find similar problems?

»
12 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Instead of relying only on tags, using editorial similarity can help identify similar problems that require the same algorithms/techniques to solve.