Recognizing numerical entities
There are many good libraries for identifying number-like values, but identifying corresponding fieldnames is trickier and likely very problem-specific.

A purely data driven approach might look for co-occurrences with numbers, for example:  

if [*number-like* capacity] or [capacity: *number-like*] occurs in &gt; x% of 


the instances where "capacity" occurs,
    then "capacity" can be guessed to be a label of number-like things.

Even the nature of these relationships (eg, whether it should be before, after, capitalised) could be learnt from existing known labels.

This can be done with Google BigQuery using the public tri-gram sample data.  But I assume that's out of scope and impractical here.

A practical approach, might aim to classify these strings as numerical_units, categorical_units or unsure or even more classes, and then do human review of the latter.  (There are some very tricky cases, for example, "capacity" is numerical, but "capacity type" would not be.)

As a starting list you can use:
wiktionary:Category:en:Units_of_measure
wiktionary:Category:Symbols_for_SI_units
wiktionary:Category:en:Mathematics
Note that they are in the singular.  For your domain considering finding other such lists.

If a string is a full match with one of those labels, you can consider it a numerical_unit.
Your next concern is tolerant, fuzzy matching.  You could treat '.' as a wildcard (so "in*" matches "inch"), or find the actual abbreviations of units like "inch".  These you can label as unsure and then review.  Likewise if the word is simply contained in the string, eg "arch length" contains "length".

I think once you have done this you can make some refinements and add some special cases.  Without seeing even a sample of your data, it is difficult to say more.  If most of your strings are numerical units, then it may be easier to identify categorical units instead.