280 likes | 451 Views
Logging in Digital Libraries. Last week …. Introduction to quality indicators and the way in which these are formalized and made computable, according to one view. Making a digital library as good as it cam be requires understanding what it is and how it is being used.
E N D
Last week …. • Introduction to quality indicators and the way in which these are formalized and made computable, according to one view. • Making a digital library as good as it cam be requires understanding what it is and how it is being used. • Information comes from logs
Another aspect • A category of quality indicator that comes from seeing what happens when users visit the library • An important tool -- the logs • All web based systems have logs of interaction from the outside world to the web server • Not specifically designed for digital libraries • We will look at a proposed standard for digital library specific log analysis
This work Done by Marcos André Gonçalves, Ming Luo, Rao Shen, Mir Farooq Ali, and Edward A. Fox -Virginia Tech and Lillian N. Cassel, Filip Jagodzinski - Villanova
Motivation • Log analysis • Source of information about: • How patrons really use DL services • How systems behave while supporting user information seeking activities • Examples: patterns • Used to: • Evaluate • Enhance services • Help design user interfaces • Better allocation of resources • Common practice in the web setting • Supported by web servers, proxy caching
Motivation (cont.) • DLs differ from the web • DL collections are explicitly organized, described, managed, and preserved • Users with more specific tasks and needs • Digital objects and collections more structured • DL Logging should offer much richer information and opportunities • Tradeoff : user privacy • Current DL logs • Differences in formats and recorded information • Problems: • Lack of interoperability • No reuse of analysis tools • Comparability of log analysis results
Related Work • Problems with existing DL logs • Incompatibility • Incompleteness • Complexity of analysis • Lack of organization • Ambiguity • Inflexibility • Verboseness --- Generally, lack of a global view of need for understanding how the DL is or is not serving its users
The Digital Library Standardized Log Format • Comprehensive • Reflective of the actual DL system behavior • Easily readable • Precise • Flexible to accommodate varying systems • Succinct enough to be implemented • Concern: user privacy
DL Standarized Log Format Design Capture high level user and system behaviors • Hierarchical organization • Encapsulated in transactions • Interactions between the users and the system or among the system components • Log format designed to record a number of different kinds of transactions • Examples: • Login to the system • Submission of search query • Browsing a result list • Recording of a user failure
Log format design (cont.) Design • Reflective of DL function • Based on the 5S formal theory • Unifying, mathematical theory to describe formally the semantics of DL components • Guidance for how to organize the log structure
DL Log Format Specification • Organization in structured logical way • XML- XML Schema • Standard syntax • Guarantee quality, correctness • Rich set of basic types help standardization • Abundance of XML parsers helps construction of analysis tools
Log Format - Structure • Top Level Hierarchy Log . . . . . . Log Entry Transaction Statement SessionId TimeStamp MachineInfo
DL Log Format - Structure (cont) • Decomposition of statement into different types Statement ErrorInfo SessionInfo HelpInfo RegisterInfo Event AdmInfo
Log Format - Structure (cont.) • Decomposition of event Statement ErrorInfo SessionInfo Event HelpInfo RegisterInfo AdmInfo Action StatusInfo Update Search Browse StoreSysInfo
DL Log Format Structure (cont) • Search attributes Search TimeFrame Collection PresentationInfo Catalog SearchBy QueryString Format SortBy NumberOfResults CutOff
DL Log Tool Implementation DL patron Digital Library User Layer User event c1 System event XMLLogManager c2 writeLogEntry (parameters) Log middleware storelogData (parameters) getLogData (parameters) XMLLogData Analysis request Analysis tool logData DL analyst result
Log Tool example: login • Example 1: Login to the system < TransId = "3452"> <SessionId > 987654usr3 </SessionId> <SessionInfo> <SessionStart> Start </SessionStart> <LoginInfo> <UserId> mhabib <UserId> </LoginInfo> </SessionInfo> <TimeStamp> 2002-05-31T20:10:55.000-05:00 </TimeStamp> <MachineInfo> <IPAddress> 128.173.244.56 <IPAddress> <Port> 8000 </Port> </MachineInfo> </TransId>
Log tool example: query a collection • Example 2: query all Dirline records about “low back pain” .. <Event> <Action> <Search> <Collection>Dirline</Collection> <ObjectType>CommunityRecord</ObjectType> <SearchBy>SearchByAnyParts</SearchBy> <SearchType>NonPersistant</SearchType> <QueryString>low back pain</QueryString> <TimeFrame> <StartTime>2002-05-31T20:11:07.000-05:00</StartTime> <EndTime>2002-05-31T20:11:09.000-05:00</EndTime> </TimeFrame> <PresentationInfo> <Format>List</Format> <SortBy>ByRank</SortBy> <NumberOfResults>217</NumberOfResults> <Cutoff>20</Cutoff> </PresentationInfo> ... Ref to GMT
Step 1: Extract Log Data, SAX parser can be employed here Step 2: Parse Log Data and check for log errors (eg. server stalls and incomplete log line is output to XML Log) Step 3: The different modules populate various databases and/or increment the appropriate counters. Each module can adjust various databases, as for example the <TimeStamp> module, which increments the appropriate month hit counter and records that the user 987654usr3 made a request at time T. Step 4: Aggregate data and output final statistics; all databases are made available XML Log Log Analyzer Overview <Transaction ID = 3452> <SessionId> 987654usr3</SessionId> <TimeStamp> 2002-05-31T20:10:55.0-05.00</TimeStamp> <Statement> … <QueryString>low back pain</QueryString> … <DocID> 5114 </DocID> </Statement> </TransID> Step 1: Extract Log Data Parser/ Error Checker Routine Step 2: Parse XML; Send Log Line <TimeStamp> module <Query String> module <Error> module <Session ID> module Step 3: Populate Databases, Increment Global Variables, etc. Query String Doc ID User ID Databases Browse Error Search Step 4: Create Final Statistics Final Report/ Statistics
Summarizing this class and last week • Looked at a view of DL quality • By examining the components of the DL independent of usage (explicit computation) • By looking at the view of the DL obtained by a visitor (log analysis) • Each is a view that has been widely promulgated and well received, but is not an industry standard
Next week • Joseph Lucia, Director of Villanova’s Falvey Library will talk about what is happening in this very innovative and significant digital library. • Come prepared with questions and ready to comment and discuss what he presents.
References • Gonçalves, M. A., Luo, M., Ali, M. F., and Fox, E. A. “An XML Log Standard and Tool for Digital Library Logging Analysis” In Research and Advanced Technology for Digital Libraries, 6th European Conference, ECDL 2002, Rome, Italy, September 16-18, 2002, Proceedings • Klas, C., et al "A Logging Scheme for Comparative Digital Library Evaluation” Research and Advanced Technology for Digital Libraries, 10th European Conference, ECDL 2006, Alicante,Spain, September 17-29, 2006, Proceedings