# The ten functions

Each function reads text and answers a question about it. Each does a job you already write in code: an if, a switch, a grep, a sort.

10 functions, [1 CLI](/install/shell/), [24 bindings](/install/).

| Function | What it does | Kind of answer |
| --- | --- | --- |
| [`decide`](/functions/decide/) | Answer one yes or no question about the evidence. | Yes or no |
| [`choose`](/functions/choose/) | Pick one option from your list. | Pick one |
| [`tag`](/functions/tag/) | Name every label that fits. | Yes or no, per label |
| [`score`](/functions/score/) | Place the evidence on a scale you name. | Place on a scale |
| [`filter`](/functions/filter/) | Keep the records where the answer is yes. | Yes or no, per record |
| [`rank`](/functions/rank/) | Sort records by how likely the answer is yes. | Yes or no, per record |
| [`find`](/functions/find/) | Pick the one line that best answers a question. | Pick one line of the evidence |
| [`annotate`](/functions/annotate/) | Fill out a form for every record. | Every kind of answer at once |
| [`recognize`](/functions/recognize/) | Find every name in the evidence and say what kind it is. | Pick one, per word |
| [`relate`](/functions/relate/) | Find relationships among named entities. | Yes or no per pair, or pick one |
| [`@question`](/functions/question-file/) | A saved question that six functions accept. | No answer of its own |

On GitHub: [github.com/botassembly/thinkthen](https://github.com/botassembly/thinkthen)
