Print

Print


I don't have enough experience with that problem area to be sure of 
what's out there and what would work, but I was pretty impressed with 
the presentation on the XC Metadata Toolkit at the recent Code4Lib 
conference, I think it is designed to do at least some, if not all, of 
your tasks you outline, and seems to be pretty solid. It might be worth 
contacting Jennifer Bowen to see what she has to say about your problem 
case and XC's ability to meet it, or if she has any other tool 
suggestions, she's pretty clever on this stuff. And XC is probably 
interested in getting their software used by folks like you.

Another alternative is simply hiring a programmer to write something 
custom to do exactly what you need; that's what most of us probably end 
up doing, because we don't know about suitable general-purpose metadata 
control software that's still customizable enough to do what we need.  
But I think the XC Metadata Toolkit is definitely _intended_ to fill 
that niche. If you can hire someone with experience with library 
metadata, and you can have people giving them requirements who 
understand what software can and can not actually do (like yourself 
Kelley), this is not TOO much of an unusual project, in just about any 
programming language (I'd do it in ruby, but let's not start THAT thread 
which has thankfully died again. ) ).

Jonathan

McGrath, Kelley C. wrote:
> 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
> [log in to unmask]
>
>