exercism / exercism/javascript

Building a training set of tags for javascript

Đang mở
#2,310 22 bình luận 0 reaction 1 người được giao Được @SleeplessByte nhận Xem trên GitHub
Ngôn ngữ chính
JavaScript
Star
652
Fork
657
Merge trung bình
19 giờ 37 phút
Pull request đã merge (30 ngày)
6

Mô tả

Hello lovely maintainers :wave:

We've recently added "tags" to student's solutions. These express the constructs, paradigms and techniques that a solution uses. We are going to be using these tags for lots of things including filtering, pointing a student to alternative approaches, and much more.

In order to do this, we've built out a full AST-based tagger in C#, which has allowed us to do things like [detect recursion](https://exercism.org/tracks/csharp/exercises/collatz-conjecture/solutions?tags[]=technique:recursion) or [bit shifting](https://exercism.org/tracks/csharp/exercises/bob/solutions?tags%5B%5D=technique%3Abit-shifting). We've set things up so other tracks can do the same for their languages, but its a lot of work, and we've determined that actually it may be unnecessary. Instead we think that **we can use machine learning to achieve tagging with good enough results.** We've fine-tuned a model that can determine the correct tags for C# from the examples with a high success rate. It's also doing reasonably well in an untrained state for other languages. We think that with only a few examples per language, we can potentially get some quite good results, and that we can then refine things further as we go.

I released a new [video on the Insiders page](https://exercism.org/insiders) that talks through this in more detail.

We're going to be adding a fully-fledged UI in the coming weeks that allow maintainers and mentors to tag solutions and create training sets for the neural networks, but to start with, **we're hoping you would be willing to manually tag 20 solutions for this track**. In this post we'll add 20 comments, each with a student's solution, and the tags our model has generated. Your mission (should you choose to accept it) is to edit the tags on each issue, removing any incorrect ones, and add any that are missing. In order to build one model that performs well across languages, it's best if you stick as closely as possible to the C# tags as you can. Those are listed [here](https://exercism.org/docs/building/tooling/analyzers/tags). If you want to add extra tags, that's totally fine, but please don't arbitrarily reword existing tags, even if you don't like what Erik's chosen, as it'll just make it less likely that your language gets the correct tags assigned by the neural network.

---

To summarise - there are two paths forward for this issue:
1. **You're up for helping:** Add a comment saying you're up for helping. Update the tags some time in the next few days. Add a comment when you're done. We'll then add them to our training set and move forward.
2. **You not up for helping:** No problem! Just please add a comment letting us know :)

If you tell us you're not able/wanting to help or there's no comment added, we'll automatically crowd-source this in a week or so.

Finally, if you have questions or want to discuss things, it would be best done on the forum, so the knowledge can be shared across all maintainers in all tracks.

Thanks for your help! :blue_heart:

---

_Note: [Meta discussion on the forum](https://forum.exercism.org/t/maintainers-helping-us-build-training-data-for-tags/7974)_

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.