inflect icon indicating copy to clipboard operation
inflect copied to clipboard

Comparing words like "farm" and "farming"

Open Pikamander2 opened this issue 4 years ago • 1 comments

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

Pikamander2 avatar Apr 16 '21 08:04 Pikamander2

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.

jaraco avatar May 01 '22 18:05 jaraco