Extracting Services from Free Text

What is the best method to find out which services are reported in a text? Should I use a ML approach or Rule-based Approach? What are the most accurate approaches?

Example

Catalog: 14 home services (window cleaning, roof inspection, pest control, etc.)

Input (short report):

Did a roof inspection, need gutter repair, window cleaning, tree pruning, pressure washing, sprinkler repair. Owner declined pest control, said no fence install, driveway sealing not needed.

Output (present):
:white_check_mark: roof inspection, gutter repair, window cleaning, tree trimming, power washing, sprinkler repair

Excluded:
:cross_mark: pest control, fence installation, driveway sealing, others not mentioned

1 Like

If the target data isn’t overly ambiguous, it’s generally possible to handle it with standard code, so using a zero-shot classification model as a supplementary tool should suffice.