Recording Meetings with the
CMU Meeting Recorder
Architecture
Satanjeev Banerjee, et al.
School of Computer Science
Carnegie Mellon University
Goals
End goal: Build conversational agents
That “understand” meetings
Make contributions to meetings
E.g.: Identify action items
E.g.: Confirm details of action items
Part of Project CALO: Cognitive Agent that
Learns and Organizes
First goal: Create corpus of human meetings
Capture data that we expect agents to use
E.g.: Speech, video, whiteboard markings, etc.
Carnegie Mellon University
2
Desirable Properties of the Recorder
Need to record meetings anywhere
Should be easy to add new data streams
Emphasis on instrumenting user, not room
Assume low network bandwidth
Should still be able to record in the extreme
situation where there is no network access!
“Easy” = low time to incorporate new stream
Should be able to support major OS-es
Carnegie Mellon University
3
The Recorder Architecture
Information stream is discretized into events
Each event is given start/end time stamps
Coincide for instantaneous events, e.g. keystroke
Events are stored on local disks
Either a sequence of events, e.g. utterances
Or one long event, e.g. video data
Laptops, shuttle PCs, etc.
Events are (slowly) uploaded to a central
server when there is network access
Carnegie Mellon University
4
Event Identification and Logging
Each recorded event has the following
identifying information associated with it:
Start and stop time stamps
Name of the meeting and the user
Modality (speech, video, hand-writing, etc.)
After recording an event, its identification
information is sent to a logging server
Server creates a list of all the events in a meeting
Good for book-keeping (but not essential)
Carnegie Mellon University
5
Architecture of Meeting Recorder
Browse Meeting
{
DATA_BLOCK
session: OTTER
user:
arudnicky
datatype: SPEECH
file: \\spot\data\u1.raw
Start: 20030917::18:27.600
End:
20030917::18:35.357
}
P1
P2
P3
P1
P2
[master]
Participant 3
P3
P1
P1
Participant 1
Time
server
Carnegie Mellon University
Participant 2
6
Synchronizing the Time Stamps
All event time stamps must be synchronized
We use the Simplified Network Time Protocol
Query a central NTP server for the time
Use the reply and the round-trip time to estimate
time difference between local machine and server
Use this to create server-time time stamps
Rough experiments reveal 10ms variance
Caveat: Experiments done on high speed network
What if there is *no* network access?
Carnegie Mellon University
7
Aggregating the Data
Upon network access availability, data is
transferred from all sites to a central location
Current recording sites: CMU and Stanford
Implemented a cross-platform version of the
MS Background Intelligent Transfer Service
Uploads files in a transparent background process
Throttles bandwidth use as user’s activity goes up
Pauses if network connection is lost
Resumes once network access is restored
Carnegie Mellon University
8
Data Collection Process (proposed)
preparation
Independent
cross-site
collection
Transcription,
Annotation
CALO
MEETING
DATABASE
integration
Learning
Background
data
transmission
Carnegie Mellon University
Analysis
research
9
Capturing Close-Talking Speech
Implemented Meeting Recorder Cross
Platform (MRCP) to record speech and notes
Speech recorded using head-mounted mics
11.025 kHz sampling rate used for portability
End pointing done using CMU Sphinx 3 ASR
Each end-pointed utterance is an event
Utterance is recorded to local disk (wav format)
Time stamps are generated using Simple NTP
Utterance’s identifying information is sent to
logging server, utterance is queued for upload
Carnegie Mellon University
10
Capturing Typed Notes
Users type notes in client’s note-taking area
“Snapshots” of notes are taken at each
carriage return
Each snapshot is an event
Each snapshot is saved to disk, time-stamped,
logged, and queued for upload
[Demonstration of MRCP]
Carnegie Mellon University
11
More Details about MRCP
Implemented using cross platform libraries:
wxWidgets for GUI, file access, networking
PortAudio for audio libraries
Currently compiles on Windows, Macintosh
OS-X and Linux operating systems
Windows version distributed to other Project
CALO sites
Macintosh and Linux versions in beta-testing
WinCE version in development
Carnegie Mellon University
12
Capturing Whiteboard Pen Strokes
We use Mimio to capture whiteboard pen strokes
“Strokes” consist of all the x-y coordinates
between pen-down and pen-up
Each stroke is an event. It is recorded, timestamped, logged, queued for upload.
Carnegie Mellon University
13
Capturing Power Point Slides Information
We use MS’s PowerPoint API to capture slide
change timing information, and slide contents
Events = slide changes
Event data = content of the new slide
Events are instantaneous
Content is in the form of all the text, and all the
“shapes” on the slide
Start and stop time stamps coincide
Events are processed as before
Carnegie Mellon University
14
Capturing Panoramic Video
We capture panoramic
video using a 4-camera
CAMEO device
Developed by the Physical
Awareness group at CMU
Video recording done in
MPEG-4 format
One long event is
produced and uploaded
Carnegie Mellon University
15
Current Status of Data Collection
Recorded meetings vary widely in size…
…in meeting type
Scheduling meetings, presentations, brain storms
…in content
From 2 to 10 person meetings
Speech group meetings, dialog group meetings,
physical awareness group meetings
Currently have a total of more than 11,000
utterances (including cross talk)
Carnegie Mellon University
16
Using the Data: Some Initial Research
Question: Can we detect the state of a meeting, and
the roles of participants from simple speech data?
Introduced a taxonomy of meeting states and
participant roles
Meeting State
Participant Roles
Presentation
Presenter, Observer
Briefing
Information producer/consumer
Discussion
Participator, Observer
Carnegie Mellon University
17
Detection Methods and Initial Results
Used Anvil to hand annotate 45 minutes of
meeting video with states and roles
Trained decision tree classifier from 30
minutes of data
Input features:
# speakers, lengths of utterances, pauses and
interruptions within a short history of the meeting
Initial results: About 50% detection accuracy
on separate 15 minutes of test data
Carnegie Mellon University
18
Questions?
Thanks to DARPA grant NBCH-D-02-0010