How does PhotoStructure extract keywords from my photos and videos?
PhotoStructure uses a bunch of methods to pull out keywords from your photos and videos.
Keywords from metadata đ
PhotoStructure extracts keywords from the following metadata tags:
CatalogSets
Categories
(this is typically XML-encoded)HierarchicalSubject
Keywords
LastKeywordXMP
Subject
TagsList
XPKeywords
(these are keywords added by the Windows Explorer)
This set is configurable in v1.0.0.
Metadata keyword extraction can be disabled with the tagKeywordsFromMetadata
library
setting.
Keywords from sidecars đ
PhotoStructure looks for metadata in .XMP
, .MIE
, and Google Takeout
.json
sidecars. PhotoStructure supports both full name and base name sidecar
names. Matching is done case-insensitively.
As an example: IMG_123.JPG
will inherit tags from both IMG_123.JPG.XMP
and
IMG_123.XMP
.
Newer files will overwrite the values from older files, so by editing a sidecar, that value will “win.”
Keywords from path names đ
Tags found in filenames or parent directories that follow --
are added
automatically. Here are a couple examples:
- All files found in the
/Users/bob/Pictures/2019-02-14/--event travel/
directory would be tagged withKeyword/event
andKeyword/travel
. - The file
/home/karen/2018-11-23/P317812--ocean.jpg
would be tagged withKeyword/ocean
. - Filename tags can be hierarchical by using the
keywordPathSeparators
setting: for example,/home/alice/Pictures/--event|wedding,people/example.jpg
would be tagged withKeyword/event/wedding
andKeyword/people
.
Path name keyword extraction can be disabled with the tagKeywordsFromPath
library
setting.
Multiple keywords đ
PhotoStructure splits keywords by commas and semicolons. For example, car, blue, tree
will be interpreted as having the keywords car
, blue
, and
tree
.
This is configurable via the keywordDelimiters
library
setting.
Hierarchical keywords đ
All of PhotoStructure’s tags are “hierarchical,” rather than “flat.” Read more about PhotoStructure’s hierarchical tags.
PhotoStructure looks for “path separator” characters in keywords. By default,
the characters /
,|
,>
,â»
, and â
are considered “path separators.” This
set can be changed by the keywordPathSeparators
library
setting.
This allows for tags like Family|Einstein|Albert
, Flora â Fruit â Orange
, or
Fauna > Oceanic > Pelican
.
Where do these keywords go? đ
PhotoStructure looks for one or more path separators in a keyword. If none are found, the keyword is “flat.” If it finds one or more of these characters, it considers the keyword to be “hierarchical.”
Non-hierarchical, “flat” keywords are added to the Keywords
root tag (which
you can visit via the navigation menu). As an example, an image with the
keywords “blue” and “sky” will result in the asset being tagged with
Keywords/blue
and Keywords/sky
.
Hierarchical keywords are added directly. As an example, an image tagged with
Family|Einstein|Albert
will introduce a new Family
“root tag.”