inflect
inflect copied to clipboard
Comparing words like "farm" and "farming"
Words like "farm" and "farming" don't appear to be considered similar in any way. Is there a way to properly check whether they match, or is that out of scope?
Input:
inflect_engine = inflect.engine()
print("compare:")
print("\tfarm vs farm: \t\t" + str(inflect_engine.compare('farm', 'farm')))
print("\tfarm vs farms: \t\t" + str(inflect_engine.compare('farm', 'farms')))
print("\tfarm vs farming: \t" + str(inflect_engine.compare('farm', 'farming')))
print("\tfarm vs farmming: \t" + str(inflect_engine.compare('farm', 'farmming')))
print("\tfarm vs farmer: \t" + str(inflect_engine.compare('farm', 'farmer')))
print("\tfarm vs farmmer: \t" + str(inflect_engine.compare('farm', 'farmmer')))
print("\tfarm vs farmed: \t" + str(inflect_engine.compare('farm', 'farmed')))
print("\tfarm vs farmmed: \t" + str(inflect_engine.compare('farm', 'farmmed')))
print("\ncompare_nouns:")
print("\tfarm vs farm: \t\t" + str(inflect_engine.compare_nouns('farm', 'farm')))
print("\tfarm vs farms: \t\t" + str(inflect_engine.compare_nouns('farm', 'farms')))
print("\tfarm vs farming: \t" + str(inflect_engine.compare_nouns('farm', 'farming')))
print("\tfarm vs farmming: \t" + str(inflect_engine.compare_nouns('farm', 'farmming')))
print("\tfarm vs farmer: \t" + str(inflect_engine.compare_nouns('farm', 'farmer')))
print("\tfarm vs farmmer: \t" + str(inflect_engine.compare_nouns('farm', 'farmmer')))
print("\tfarm vs farmed: \t" + str(inflect_engine.compare_nouns('farm', 'farmed')))
print("\tfarm vs farmmed: \t" + str(inflect_engine.compare_nouns('farm', 'farmmed')))
print("\ncompare_verbs:")
print("\tfarm vs farm: \t\t" + str(inflect_engine.compare_verbs('farm', 'farm')))
print("\tfarm vs farms: \t\t" + str(inflect_engine.compare_verbs('farm', 'farms')))
print("\tfarm vs farming: \t" + str(inflect_engine.compare_verbs('farm', 'farming')))
print("\tfarm vs farmming: \t" + str(inflect_engine.compare_verbs('farm', 'farmming')))
print("\tfarm vs farmer: \t" + str(inflect_engine.compare_verbs('farm', 'farmer')))
print("\tfarm vs farmmer: \t" + str(inflect_engine.compare_verbs('farm', 'farmmer')))
print("\tfarm vs farmed: \t" + str(inflect_engine.compare_verbs('farm', 'farmed')))
print("\tfarm vs farmmed: \t" + str(inflect_engine.compare_verbs('farm', 'farmmed')))
print("\ncompare_adjs:")
print("\tfarm vs farm: \t\t" + str(inflect_engine.compare_verbs('farm', 'farm')))
print("\tfarm vs farms: \t\t" + str(inflect_engine.compare_verbs('farm', 'farms')))
print("\tfarm vs farming: \t" + str(inflect_engine.compare_verbs('farm', 'farming')))
print("\tfarm vs farmming: \t" + str(inflect_engine.compare_verbs('farm', 'farmming')))
print("\tfarm vs farmer: \t" + str(inflect_engine.compare_verbs('farm', 'farmer')))
print("\tfarm vs farmmer: \t" + str(inflect_engine.compare_verbs('farm', 'farmmer')))
print("\tfarm vs farmed: \t" + str(inflect_engine.compare_verbs('farm', 'farmed')))
print("\tfarm vs farmmed: \t" + str(inflect_engine.compare_verbs('farm', 'farmmed')))
Output:
compare:
farm vs farm: eq
farm vs farms: s:p
farm vs farming: False
farm vs farmming: False
farm vs farmer: False
farm vs farmmer: False
farm vs farmed: False
farm vs farmmed: False
compare_nouns:
farm vs farm: eq
farm vs farms: s:p
farm vs farming: False
farm vs farmming: False
farm vs farmer: False
farm vs farmmer: False
farm vs farmed: False
farm vs farmmed: False
compare_verbs:
farm vs farm: eq
farm vs farms: p:s
farm vs farming: False
farm vs farmming: False
farm vs farmer: False
farm vs farmmer: False
farm vs farmed: False
farm vs farmmed: False
compare_adjs:
farm vs farm: eq
farm vs farms: p:s
farm vs farming: False
farm vs farmming: False
farm vs farmer: False
farm vs farmmer: False
farm vs farmed: False
farm vs farmmed: False
It seems like a perfectly reasonable thing to expect, though I don't believe it's implemented in any way. Would be happy to entertain features to implement something like that.