Line 1: |
Line 1: |
| + | [[Category:Robotoff]] |
| == Finding opportunities == | | == Finding opportunities == |
| + | === Option 1 === |
| # Download the OCR JSONL | | # Download the OCR JSONL |
− | # <pre>grep -o '\<WORD\>' | wc -l</pre> | + | # <pre>zgrep -n '05.01.07' FILE | wc -l</pre> |
− | == Using REGEXes == | + | |
| + | === Option 2 === |
| + | # Right click on an image in a product page, in edit mode (eg 1.jpg) |
| + | # Replace `.jpg` by `.json` |
| + | # Find patterns or `logoAnnotations` in the JSON |
| + | |
| + | == Adding detections using REGEXes == |
| https://github.com/openfoodfacts/robotoff/tree/master/robotoff/insights/ocr | | https://github.com/openfoodfacts/robotoff/tree/master/robotoff/insights/ocr |
| | | |
Line 39: |
Line 47: |
| === Grab yourself a sandwich === | | === Grab yourself a sandwich === |
| | | |
− | == Using Flashtext == | + | == Adding detections using Flashtext == |
| https://github.com/openfoodfacts/robotoff/tree/master/data/ocr | | https://github.com/openfoodfacts/robotoff/tree/master/data/ocr |
| + | === Expanding existing detections === |
| + | * Choose a file matching the detection you want to add |
| + | In this example: https://github.com/openfoodfacts/robotoff/blob/master/data/ocr/brand_logo_annotation.txt |
| + | * Add entries one per line. The raw `logoAnnotation` you find in the OCR JSON is on the left, the value you want to add in the brand field is on the right. |
| + | <pre> |
| + | alnatura||Alnatura |
| + | Andros France||Andros |
| + | andros||Andros |
| + | </pre> |
| + | |
| + | === Add a new type of detection === |
| + | * Create a file `fishing_flashtext.txt` and add one value to extract per line |
| + | |
| + | === Add it to the Robotoff settings === |
| + | <pre> |
| + | robotoff/settings.py |
| + | OCR_LABEL_WHITELIST_DATA_PATH = OCR_DATA_DIR / "label_whitelist.txt" |
| + | OCR_FISHING_FLASHTEXT_DATA_PATH = OCR_DATA_DIR / "fishing_flashtext.txt" |
| + | </pre> |
| + | |
| + | === Plug it into the OCR pipeline === |
| + | <pre> |
| + | robotoff/insights/ocr/packager_code.py |
| + | codes = text_file_iter(settings.OCR_FISHING_FLASHTEXT_DATA_PATH) |
| + | return generate_keyword_processor(("{}||{}".format(c.upper(), c) for c in codes)) |
| + | </pre> |