I am hoping someone can help me with my current conundrum. I am looking for 
recommendations for tools and methods for a project I am working on to try to 
implement some of the Online Audiovisual Catalogers (OLAC) work on FRBR works 
and moving images (http://www.olacinc.org/drupal/?q=node/27). I am not a 
programmer or coder, but we are going to have to hire someone to do this and 
give them some direction. So I am interested in what tools you would recommend 
for this purpose and why, as well as any other advice anyone can give me.

Basically what we want to do is take a large number of MARC bibliographic 
records for moving images, extract the information that might describe the FRBR 
Work and parse and normalize it. We then want to use this data to create 
provisional Work records. I am not so worried about getting the data out of 
MARC, but about how to work with the data once it's out. I have listed the main 
steps we anticipate needing in broad outlines below.

1.      Parsing and Normalizing Data

There are several types of situations from easiest to harder with examples:

a.       Data that is already in machine-comprehensible form:

Coded language data, e.g., an 041 $h of fre means the movie was originally in 
French

A 700 field with a $4 of drt means that the name in that in that 700 is 
(hopefully) the authorized form of the name of the director of the movie

A DateType fixed field of p means that the lower of Date1 and Date2 is the 
original date of the movie (technically this should always be Date2, but some 
libraries reverse the order to support sorting by original date in their OPACs)

b.      Data that can be extracted using keywords in textual fields

We can often extract an original date from a note field by identifying the 
combination of a year (18xx, 19xx, or 200x) and a keyword that signifies that 
it is an original production date note, such as "originally," "release," 
"broadcast," or "produced."

c.       Data that requires matching between information in more than one field

In order to identify the authorized form of the name of a person performing a 
particular function, in many cases we have to try to match the authorized form 
of the name to a transcribed statement including both the function and the 
name. Note that functions can be transcribed in many forms (directed by, 
director, direction) and languages (Regie, kantoku). Also the transcribed name 
may vary from the authorized name ("Andrei Tarkovsky" vs. "Tarkovskii, Andrei 
Arsenevich"). Neither of these is a practical problem to solve completely, but 
we would like to be able to make inferences as follows (probably starting from 
the 7xx fields and trying to find a matching transcribed statement).

245$c includes "directed by Steven Spielberg"
+ 700 Spielberg, Steven, $d 1946-
= n  79148103 (Spielberg, Steven, $d 1946-) is the director

2.      Ranking Information Sources Within Records

We have multiple possible methods for extracting most types of data. We plan to 
rank these data sources in terms of their probable accuracy. Some of the 
ranking we can predict up front and probably skip step 1 for the non-preferred 
data sources. Some data sources we can probably rank based on analysis of 
preliminary results. Some sources probably can't be ranked and we would want to 
know when a record presents conflicting data (e.g., one original date in a note 
and a different one in a fixed field)

3.      Clustering Records for the Same Work

In our data pool, we will have cases where multiple bibliographic records 
represent the same work. We need to cluster the ones that represent a given 
work based on data extracted in the above steps. Information such as title, 
original date, director, or production company is probably useful for this 
purpose.

4.      Creating Provisional Work Records by Identifying the Most Likely Value 
for Each Data Element from the Work Cluster

Once we have clustered the records for the works, we want to create a single 
composite work record from the data in the clustered records. We will need some 
algorithm, possibly as simple as a majority vote or perhaps a majority vote per 
manifestation rather than per record, to determine the probable best value for 
each field in our preliminary work record.

Thanks in advance for any advice on tools or general thoughts on this. Also, 
are there any particular skills or qualities we should be looking for in a 
programmer?

Kelley McGrath
kmcgr...@bsu.edu

Reply via email to