Auto Assign Keywords

Started by lnh, July 31, 2014, 07:17:03 PM

Previous topic - Next topic

lnh

I've recently moved from Photo Supreme to IMatch 5, and have a desire to auto assign categories as such:

I'm starting out modifying the Lightroom Keyword List Project as my thesaurus for keywords. As an example I have an upper level category:

PEOPLE
-names
   -abi
   -ann
   -jake
   -nate
   -sam
-relationship
   -niece
   -nephew
   -son
   -wife

In this example:
abi is a niece
ann is a wife
jake is a nephew
nate is a nephew
sam is a son

Is there a way to automatically define the relationships for each person and have a data driven (or any other method) category created for the elements of "relationship" without entering them each time? I looked at the help file for data driven categories, but couldn't figure out a way to make this type of thing happen.

Erik

Quote from: lnh on July 31, 2014, 07:17:03 PM
I've recently moved from Photo Supreme to IMatch 5, and have a desire to auto assign categories as such:

I'm starting out modifying the Lightroom Keyword List Project as my thesaurus for keywords. As an example I have an upper level category:

PEOPLE
-names
   -abi
   -ann
   -jake
   -nate
   -sam
-relationship
   -niece
   -nephew
   -son
   -wife

In this example:
abi is a niece
ann is a wife
jake is a nephew
nate is a nephew
sam is a son

Is there a way to automatically define the relationships for each person and have a data driven (or any other method) category created for the elements of "relationship" without entering them each time? I looked at the help file for data driven categories, but couldn't figure out a way to make this type of thing happen.

The first thing that will be important is whether you want your relationships to be keywords or categories.  If you're happy with them as categories (i.e. outside the @Keywords "category") then I think it would be relatively simple.

You could use a few concepts:

1. Formulas for your categories in relationship:  For instance... the category Nephew could be set to "Jake" OR "Nate".  You would assign the categories and for the names and the relationship categories would get filled automatically per the formulas they have. 

2. You could look at Aliases.  I haven't tried these, but they allow you to set at least 1:1 links between different categories.  That might not be practical for what you are using. You'll have to look into the help file for either of the underlined options to see how they can work for you.

Keep in mind that if your people are under @Keywords (i.e. they are keywords and not true categories), you can still work with them for the relationship categories to reference to (Aliases or Formulas) but not the opposite.

Finally, if you want your Relationships to be keywords, life will get a bit more challenging.  Most of what I can think of would only partially do what you want:

1.  You could use the thesaurus and synonyms.  You won't get a relationship tree that way, however.  (e.g. you could define nephew as a synonym of Jake).  The synonym will get defined when you set the keyword to a file as "Jake", but that synonym will still be under the Names tree.  Imatch cannot set synonyms to a different tree .
2.  You could set up categories as described before using formulas and then use a metadata template to write the category tree back to a keyword.  Disadvantage is that you'd have to remember to execute the metadata template; it wouldn't be automatic.

It would be nice to be able to relate keywords in one hierarchy to those in another using the thesaurus, but it sounds a bit complicated.  I think IDImage had something like that (which is what I guess leads to the initial post), which was one feature that I thought made that program somewhat ahead of IM.  With the Aliases in categories a lot of that feature has been implemented, but not when it comes to keywords.

jch2103

Quote from: lnh on July 31, 2014, 07:17:03 PM
Is there a way to automatically define the relationships for each person and have a data driven (or any other method) category created for the elements of "relationship" without entering them each time?

Depending on your specific intent, you might even want to consider a quite different approach. If your primary focus is on family relationships (photos in the context of relationships), you might want to consider using a genealogy program (most have some kind of photo gallery function). I do this for my collection of family genealogy photos; I use IMatch to organize and maintain images and metadata (who, when, source, etc.) and then also add links to the photos in my genealogy program.

If your interest is broader, then of course this may not be at all appropriate.

John

lnh

Quote from: Erik on July 31, 2014, 10:01:23 PM
The first thing that will be important is whether you want your relationships to be keywords or categories.  If you're happy with them as categories (i.e. outside the @Keywords "category") then I think it would be relatively simple.

You could use a few concepts:

1. Formulas for your categories in relationship:  For instance... the category Nephew could be set to "Jake" OR "Nate".  You would assign the categories and for the names and the relationship categories would get filled automatically per the formulas they have. 

2. You could look at Aliases.  I haven't tried these, but they allow you to set at least 1:1 links between different categories.  That might not be practical for what you are using. You'll have to look into the help file for either of the underlined options to see how they can work for you.

Keep in mind that if your people are under @Keywords (i.e. they are keywords and not true categories), you can still work with them for the relationship categories to reference to (Aliases or Formulas) but not the opposite.

Finally, if you want your Relationships to be keywords, life will get a bit more challenging.  Most of what I can think of would only partially do what you want:

1.  You could use the thesaurus and synonyms.  You won't get a relationship tree that way, however.  (e.g. you could define nephew as a synonym of Jake).  The synonym will get defined when you set the keyword to a file as "Jake", but that synonym will still be under the Names tree.  Imatch cannot set synonyms to a different tree .
2.  You could set up categories as described before using formulas and then use a metadata template to write the category tree back to a keyword.  Disadvantage is that you'd have to remember to execute the metadata template; it wouldn't be automatic.

It would be nice to be able to relate keywords in one hierarchy to those in another using the thesaurus, but it sounds a bit complicated.  I think IDImage had something like that (which is what I guess leads to the initial post), which was one feature that I thought made that program somewhat ahead of IM.  With the Aliases in categories a lot of that feature has been implemented, but not when it comes to keywords.

What a great way to learn more about IMatch! Not exactly what I was hoping for, but formulas do seem to allow this sort of creation. It's unfortunate that you have to define and maintain the relationships within the formulas rather than a relational table, but it gives the desired outcome.

Because of the 1:1 relationship, the alias approach doesn't seem to work in this case.

Gonna have to dig in on the other suggestions and try them out.

Thank you much.

Erik

I have to say that the Formula's end up being a bit more powerful.  When I had looked into IDImager many years ago, the one thing I didn't like was the lack of formulas.  The relationship table was too restrictive for some things I do. 

But Formulas do let you in essence setup relationship tables, it is a bit more hidden in there.

You could potentially utilize attributes, too.  I'm not sure how well that could be implemented, but it could work.

ChrisMatch

A completely different approach (that may appeal because of its simplicity) could be ...

... to keep those categories disconnected but create a splasher in the favorites.
Every time you use the splasher to assign "jake" also the category "nephew" would be assigned.

iMatch supports so many ways "to skin a cat"  :D

Jingo

Quote from: ChrisMatch on August 01, 2014, 08:34:41 AM
A completely different approach (that may appeal because of its simplicity) could be ...

... to keep those categories disconnected but create a splasher in the favorites.
Every time you use the splasher to assign "jake" also the category "nephew" would be assigned.

iMatch supports so many ways "to skin a cat"  :D

Like the splasher approach... which even allows you to use @keywords so they do get assigned back out to the file upon writeback as keywords...

lnh

I'm liking the splasher approach. Simple and for the often used category combinations it makes it easy. Many thanks for the help. Might do more experimentation with formulas as well, but the hidden nature of the setup makes me worry that over time I'll be less likely (or more forgetful) to maintain the relationships. Also worry the formulas might become a performance issue as many thousands of pictures are added.