Skip to content

Commit b856661

Browse files
committed
adding new take-home exercises
1 parent ff776b7 commit b856661

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# ExampleCompany take home test
2+
3+
This is a frontend exercise that will give you a chance to see some of the things we build at ExampleCompany.
4+
5+
At ExampleCompany we want to make instructing AI systems as intuitive as teaching a colleague. Right now, machine learning instruction happens primarily through providing hundreds of hand labelled examples, so we want to make that process as easy, intuitive and _fun_ as possible.
6+
7+
For this task, we look at the problem of [named-entity recognition (NER)](https://en.wikipedia.org/wiki/Named-entity_recognition). We would like you to build an annotation interface for NER – to display a textual document and be able to label spans of text with one of a handful of classes.
8+
9+
### Requirements
10+
11+
- the user needs to be able to read the document
12+
- select a span of text
13+
- assign one of the predefined labels `['person', 'organization', 'location', 'misc']` to the text.
14+
- the user can see the state of the highlighted text
15+
- the user can remove an annoation
16+
- the annotations should be available as a JSON array of objects with the following structure of start and end indexes, the inside text, and the label
17+
18+
```
19+
[{"start": 12, "end": 30, "text": "Southampton United", label: 'organization'},]
20+
```
21+
22+
How you do this is up to you! People can spend a long time annotating documents like this, so some thought to making intuitive, robust and maybe even fun is wanted.
23+
24+
# Guidelines
25+
26+
We'd like you to spend no more than 3-4 hours working on this. Please let us know how much time you spent so we can calibrate our expectations.
27+
28+
# Hints / Tips
29+
30+
- This initial code is using React. If you'd prefer to use other libraries or frameworks, you're welcome to.
31+
- You can use any libraries, frameworks, tools you want.
32+
- Pick any UI toolkit or component library (Bootstrap, TailwindCSS, Ant Design etc.) you'd like to use, but try to make everything look consistent.
33+
- How you want to store state is up to you.
34+
- It doesn't have to look pixel perfect and it doesn't need amazing animations, but we do care a lot about UX and usability at ExampleCompany.
35+
- Paying attention to details like padding, alignment, and cursors is appreciated!
36+
- Handle the UX edge-cases! For example, what happens when the spans overflow a single line?
37+
38+
# Getting started
39+
40+
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
41+
Run the following commands to get started.
42+
43+
```
44+
cd app
45+
npm start
46+
```
47+
48+
You can clear out the file structure as you wish.
49+
50+
Any questions, let us know! team@humanloop.com

0 commit comments

Comments
 (0)