Upload
aleda
View
63
Download
0
Embed Size (px)
DESCRIPTION
모바일 라이프 브라우저. 모바일 팀 ( 김경중 , 이영설 , 황금성 , 홍진혁 ) 2006 년 9 월 15 일. 발표 순서. 전체 시스템 구조 로그 수집 시각화 모듈 탐색 및 장소 Labeling 모듈 개념 검색 키 그래프기반 요약. 전체 구조도. 위치 Annotation 모듈. 시각화 모듈. 검색 모듈 ( 단순 검색 , 개념 검색 ). 개념 네트워크 ( 상식 DB). 요약 모듈 ( 키 그래프 ). Location Positioning Server. - PowerPoint PPT Presentation
Citation preview
1
모바일 라이프 브라우저
모바일 팀 ( 김경중 , 이영설 , 황금성 , 홍진혁 )
2006 년 9 월 15 일
2
발표 순서
전체 시스템 구조
로그 수집
시각화 모듈
탐색 및 장소 Labeling 모듈
개념 검색
키 그래프기반 요약
3
전체 구조도
위치레이블링
개념네트워크
( 상식 DB)
시각화모듈
위치Annotation
모듈
일상 생활DB
LocationPositioning
Server
요약 모듈( 키 그래프 )
검색 모듈( 단순 검색 , 개념 검색 )
4
로그의 종류로그 종류 얻을 수 있는 정보 수집 방법 수집
주기
GPS위도 , 경도 , 이동속도 , 진행방향 , 날짜 ,
시간 GPS 모듈로부터 수집 1 초
Call상대방 전화번호 , 송신 / 수신 / 부재 여부 ,
통화 시작 / 종료시간 저장된 통화 내역을 수집 1 일
SMS상대방 전화번호 , 송신 / 수신 여부 ,
발신 / 수신 시간 저장된 SMS 내역을 수집 1 일
사진보기
사진파일명 , 사진보기 시작한 시간 ,
사진 닫은 시간 이미지 뷰어를 사용하여 수집 작동시
사진 사진파일명 , 사진 파일 생성날짜 사진파일 생성내역 수집 1 일
날씨
날씨 , 시정 (km), 전운량 (%), 현재기온 (°C),
불쾌지수 (%), 체감온도 (°C), 강수량 (mm),
적설 (cm), 습도 (%), 풍향 , 풍속 (m/s),
해면기압 (hPa)
인터넷에서 날씨 정보를 수집 1 일
MP3노래제목 , 시작시간 , 종료시간 , mp3 가
시작한 위치 MP3 플레이어로부터 수집 작동 시
충전상태 현재 충전량 , 충전중인지 여부 , 현재 시각 백그라운드 프로그램으로 수집 1 초
로그 수집
5
로그 수집 시스템
GPSLog
SMSLog
CallLog
사진Log
날씨Log
충전량Log
MP3Log
Web PhoneGPS
Device
FTP Client Module ( 구현 안됨 )
FTP Server Module
날씨DB
충전량DB
사진DB
MP3DB
CallDB
SMSDB
GPSDB
사진보기Log
로그 수집
사진보기DB
6
로그 수집 시스템 기능
특정 키워드를 가진 파일을 업로드 하면 파싱되어 DB 에 Insert
– 예 ) GPS 로그 : 파일명에 “ gps” 문자열 포함– 파일 자체는 그대로 서버의 파일시스템에 저장– 현재 구현되어 있음
사용자는 자신의 ID 로 서버에 접속하여 로그를 업로드– 일정시간마다 주기적으로 특정 디렉토리의 파일을 자동으로 업로드– 개발자는 단지 로그를 스마트폰의 특정 디렉토리에 저장– FTP 클라이언트 모듈을 구현 해야 함 ( 구현 되어 있지 않음 )
로그 수집 모듈 자체를 통합하지 않아도 DB 에 저장 및 이용에 편리
로그 수집
7
로그 DB 의 이용
현재 3 명의 여대생으로부터 2 주에 걸쳐 모은 로그 데이터를 DB 에 저장함– MySQL 에 저장된 데이터를 ODBC 를 이용하여 사용할 수 있음 .
로그 수집
8
DB 테이블CallLog
PKUser
StartTime
EndTime
Classification
PhoneNumber
Concept
ConceptName
OutputWord
Probability
ContextData
User
StartTime
EndTime
BN_ID
BN_Name
Landmark_ID
Name
State
Probability
Priority
Object
DeviceLog
PKUser
StartTime
Charge
IsCharge
EnglishMapping
AreaName_KOR
AreaName_ENG
LPS_DATA
PK
Longitude_Degree
Longitude_Minute
Longitude_Second
Latitude_Degree
Latitude_Minute
Latitude_Second
AreaName
MP3Log
PK
User
StartTime
EndTime
Position
Title
PicLog
PKUser
PicTime
FileName
FileSize
PicViewLog
PKUser
StartTime
EndTime
FileName
SMSLog
PK
User
SMSTime
PhoneNumber
MessageContent
Classification
WeatherLog
User
StartTime
EndTime
Weather
Distance
Cloud
Temperature
discomfort
FeelTemperature
Rainfall
Snowfall
Humidity
WindDirection
WindSpeed
AirPressure
GPSLog
User
GPSTime
Status
Latitude_Degree
Latitude_Minute
Latitude_Second
NSIndicator
Longitude_Degree
Longitude_Minute
Longitude_Second
EWIndicator
Speedoverground
Courseoverground
Magneticvariation
Place
로그 수집
9
기능
로그 정보 표시 기능– GPS, Call, SMS, MP3, Photo
– GPS 추정 위치 표시 기능 맵 정보 표시 기능
– 일반 지도 ( 알맵 ), 위성 지도 ( 구글 어쓰 ) 시간 탐색 기능
– 하루종일 , 일부 시간 선택 , 짧은 시간 선택 (Instant Mode) 쿼리 기능
– 유저 이름 , 날짜 필터링 기능 : Colorize
– Call, SMS, MP3, Photo 로그 발생 지점– 날씨 , 장소 필터링
이미지 리스트 표시
시각화
10
맵 관찰 영역 쿼리 영역
필터 영역
이미지리스트영역
시각화
11
맵 관찰 영역
GPS 이동 경로 및 맵을 표시 사용자의 이동 경로를 점으로 표시 로그 정보 표시
– 마우스를 가져가면 해당 위치 로그 정보 표시
Time Line 그래프는 관찰할 시간대 선택– Instant Mode: 커서가 위치한 시간대 (±30 분 ) 만 표시– Show Approximated: GPS 가 끊긴 시점의 좌표 추정치로 표시
기타 기능– GPS 오류 (Outlier) 처리– 결손 (Missing) 데이터 추산
시각화
12
GPS 오류 (Outlier) 처리
1 초 이전 / 이후 로그가 1km 이상 떨어져 있는 경우 표시 안 함
– tcur, tprev, tnext 는 현재와 이전 , 이후에 관측된 GPS 좌표의 시각
– da,b 는 ta 와 tb 사이의 좌표간 거리
– pa 는 ta 의 GPS 좌표
)(THEN)11(
)11(IF
,,
secsec
curkmnextcurkmcurprev
prevcurcurnext
pDisregarddORd
ANDttORtt
시각화
13
결손 (Missing) 데이터 추산
)( prevnextprevnext
curnextprevcur pp
tt
ttpp
회색부분
시각화
14
GPS 맵 표현
좌표계– 기본 GPS 당 픽셀 벡터 (Pixel per GPS) 사용 : vnppg
– 스케일 벡터 사용 : vns
유저별 추천 맵 선택– 유저와 날짜별 추천 맵 사용
맵 자동 선택 모드– Ii 는 i 번째 맵 이미지
– PI 는 I 에 포함된 좌표 집합
)(minarg
}|{
iCI
selected
screencurrentIi
IareasizeI
PPIC
i
i
시각화
15
맵 자동 선택 시각화
16
맵 이미지 데이터
알맵 (31 개 )
구글 어쓰 (31 개 )
…
…
시각화
17
로그 정보 필터링 기능
•빨간점 : Call, SMS, Mp3,
Photo 필터링 결과
•노란점 : 날씨 필터링 결과
•녹색점 : 장소 필터링 결과
시각화
18
시간 탐색 기능
시각화
19
이미지 리스트 표시 시각화
20
컨셉넷 검색 결과 필터링 시각화
21
탐색과 레이블링의 필요성
탐색 (Explore)
– 사용자가 방문한 위치를 요약해서 보기 위해서 필요– 단순한 키그래프 요약으로는 의미를 알기 어렵고 , GPS 방문
위치를 화면에 표시해주는 인터페이스는 직관적으로 보기는 쉽지만 어떤 곳을 방문했는지 시간순서대로 파악하기 어려움
레이블링 (Labeling)
– GPS 의 위도 , 경도 정보를 시맨틱 위치 정보로 변경해주기 위해서 필요
– 위치 정보는 사용자의 행동을 추론하기 위한 가장 중요한 정보임– 반면 레이블링에는 막대한 수고를 필요– 레이블링에 필요한 수고를 최소화하기 위해서 제작
탐색 및 장소 Labeling 모듈
22
탐색 및 장소 Labeling 모듈
레이블링 진행– 현재 데이터의 약 70 % 정도가 레이블링됨 (빈도수가 높은 것부터
레이블링 )
LabelingModule
Naver MapWeb Page
MySQLDB
ExploreModule
장소명 업데이트
위도 , 경도 , 장소명
방문시간 , 장소명
추천 장소명
탐색 및 장소 Labeling 모듈
23
1``×1`` Block 레이블링
24
탐색 기능 및 구현 상황
탐색 (Explore)
– 시간순서와 위도 , 경도를 토대로 사용자 방문 장소의 내역을 보여줌– 간단하게 사용자의 위치 변경을 알 수 있음 .
– DB 에 있는 내용을 정리하여 보여줌
탐색 및 장소 Labeling 모듈
25
레이블링 기능 및 구현상황
레이블링 (Labeling)
– 웹브라우저 컨트롤을 통해 네이버 API 를 이용한 위치 표기 – 특정 위도 , 경도의 위치와 현재 DB 에 있는 위치정보 , 그리고
추천하는 장소명을 표시함 .
– 레이블링된 장소를 수정하거나 업데이트 하는 것도 가능
탐색 및 장소 Labeling 모듈
26
ConceptNet
API Document– http://165.132.140.237:8001/– http://165.132.140.237:8000/
Basic Function– get_analogous_concepts– get_context– project_affective – project_consequences – project_details – project_spatial – guess_concept – guess_mood – guess_topic study hard
test
MotivationOf
library
LocationOf
grade
EffectOf
book
UsedFor
desk
PartOf
study
Generalisation
개념 검색
27
개념검색 (1)
목적 : 사용자 질의를 이용한 로그모델 탐색
방법 : ConceptNet 을 이용한 개념 매칭
사용함수– project_affective: 입력 개념과 감성적 유사성이 높은 개념들의 집합
A = {a1, a2, ..., ai} 추출– project_consequences: 입력 개념과 동시에 발생하거나 순차적으로
발생하는 개념들의 집합 C = {c1, c2, ..., cj} 추출– project_details: 입력 개념과 유사한 특성을 가지거나 집합관계 ,
하위 이벤트 등의 개념들의 집합 D = {d1, d2, ..., dk} 추축– project_spatial: 입력 개념과 관련된 장소 개념들의 집합 S = {s1, s2,
..., sl} 추출
개념 검색
28
개념검색 (2)
단계 1: ConceptNet 을 이용하여 사용자 질의 Q = {q1, q2, ..., qn} 에 대한 CQ = {QA, QC, QD, QS} 계산
단계 2:CQ 에서 얻어진 개념들과 사용자 로그에 존재하는 각 개념들 {L1, L2, ..., Lm} (m 은 로그에 존재하는 개념 수 ) 과 비교
– Q 와 Lt 사이의 상관도 R 계산
for(int a = 0; a<m; a++) { Ra = 0; Ra += wa × Calculate_relationship(QA, La); Ra += wc × Calculate_relationship(QC, La); Ra += wd × Calculate_relationship(QD, La); Ra += ws × Calculate_relationship(QS, La); }
float Calculate_relationship(CQ, La)
{
float Value = 0.0f;
for each(i ∈ CQ)
for each(j ∈ La)
if(cqi == laj)
Value += cqi;
return Value;
}
개념 검색
29
개념검색 결과개념 검색
30
키그래프의 특징
키그래프 (KeyGraph)
– 데이터의 발생빈도와 사건들의 연결 관계를 통해 중요한 데이터 선택
키그래프의 특징– 특별히 학습이나 휴리스틱이 주어지지 않더라도 활용이 가능– 자주 함께 발생하는 (co-occurrence) 사건들에 대한 그룹 발견– 자주 일어나지 않지만 중요한 데이터 선택
키그래프 기반 요약
31
키 그래프 예키그래프 기반 요약
32
키그래프 기반 요약
사용자의 하루 요약– 사용자의 하루를 몇개의 단어로 요약– 위치 레이블을 이용함
키그래프 기반 요약– 사용자의 로그 : 장소 1, 장소 2, 장소 3, …, 장소 N
– 문장의 구분 : 장소가 급격히 바뀐 경우 , GPS 속도가 크게 변한 경우 , 건물에 들어가 blocking 이 일어난 경우
문제점 : 장소만으로는 사용자의 행위와 관련한 정보를 알기 어려움
키그래프 기반 요약
33
컨셉넷을 이용한 키그래프
키그래프 적용을 위한 컨셉넷의 이용– 장소명을 영문으로 변환하여 컨셉넷에 입력– 장소와 관련한 개념을 이용하여 키그래프를 구성– 장소 1, 장소 2, 장소 3, …., 장소 N 개념 11, 개념 12, 개념 13, 개념 21,
개념 22, 개념 23, …. 개념 N1, 개념 N2– 관련성이 임계치 이상인 경우만 고려
키그래프모듈
컨셉넷DB
관련 개념 ( 영문 )
장소명 (한글 )
장소명DB
장소명 (영문 )
키그래프 기반 요약
34
요약 기능 및 구현 상황
실제 구현 화면– 중요한 개념 6 개를 선별할수 있음 ( 개수 조절 가능 )
– 현재 GPS 로그를 토대로 한 방문장소를 기반으로 하였기 때문에 Road 가 압도적으로 많음 ( 야외에서만 GPS 가 잡히고 야외에서는 주로 도로를 통해 다닌 정보가 기록됨 )
– 빈도수를 기반으로 하는 키그래프가 Road 에 영향을 받게 됨
키그래프 기반 요약