[범 지구적 실내 위치 제공을 위한 걸음 - 1]
실내 위치(장소) 인식을 범 지구적(?)으로 제공할려고 하다보니, 장소 인식 시스템은 구축을 위해 필요로하는 사람의 노동력을 최소로 만들수 있는가가 가장 중요한 문제라는 결론에 도달하게 되었다.
가장 좋은 것은 처음 가는 실내 장소에서도 여기가 어디인지 자동으로 인식할 수 있는 시스템을 만드는 것! 그렇다고 휴대폰의 다양한 리소스를 엄청(?) 써서 장소인식을 자동으로 해보겠다 라는 발상은 논문에나 쓸법한 방식이므로 일단 제외를 하고...
이 문제를 놓고 계속 고민해 오던 방식이 있었다. 사람들은 WiFi AP를 설치할때 AP의 이름(ssid)으로 장소와 관련이 있는 이름을 주로 사용하는 경향이 있다. (예를 들어 xxx_house, starbucks, ...) 물론 iptime, olleh 와 같이 장소하고 아무런 관련이 없는 값도 있다. 그런데, 매장들의 경우는 (특히 커피숍, 베이커리 등) 고객들에 편의를 주기 위해 무료 WiFi를 설치하고 자기 매장을 구별할 수 있게 매장 이름을 ssid로 사용 한다 (와이파이 관련 사업하시는 대표님이 오프라인 매장들을 이런 경향이 아주 강하다고 알려 주심 ^^).
때마침 어제 극심한 스트레스를 받고 있던 차, 이를 해결하기 위해 하루 종일 코딩 하기로 결심하면서 그동안 미뤄뒀던 이 일을 해 보기로 했다. 우리 회사는 (로플랫 이에요~) 지난 9월에 거금 300만원을 들여 아르바이트를 통해 서울시내 주요 커피/베이커리/패스트푸드 브랜드 매장 4000여곳을 직접 방문해서 WiFi 신호를 수집했다. 브랜드는 총 24개. 장난아니죠!
다른 브랜드 매장에는 잘 발견이 안 되지만, 특정 브랜드 매장에서만 유독 관찰되는 ssid 가 과연 있을까? 만약 명확한 패턴이 관찰이 된다면, 실제 학습하지 않은 브랜드 장소들도 앞으론 자동으로 인식할 수 있지 않을까?
이 패턴이 있는지 확인하기 위해서 TFIDF (Term Frequency Inverse Document Frequency) 라는 방식을 사용해 보기로 했다. 간략히 설명하자면 TFIDF는 다른 문서에는 잘 없지만 특정 문서에서는 유독 자주 관찰되는 단어를 찾아서 그 문서를 대표하는 키워드로 사용하고자 할때 사용하는 방식이다.
여기서는 term은 ssid를 조금 손 봐서 (공백, 1F, 2F, -, 등 몇가지 불필요한 정보 삭제) 사용했고, 하나의 브랜드에서 보이는 term 전체 리스트를 하나의 document로 생각했다.
자.. 그렇게 해서 우리가 찾은 결과는... (상위 2개만 표시했어요~)
스무디킹
smoothieking 122.680970654
lmart 37.1551271931
망고식스
mangosix 117.962471782
ohtsamoris 34.0064151724
탐앤탐스
tomntoms 353.566062149
tomntoms2 143.976117873
달콤
dalkomm 67.4360154759
dkstaff 48.0901373952
배스킨라빈스
*baskinrobbinsfreewifi 351.874426106
baskinstaff 316.311356495
설빙
sulbing 177.466778557
publicwifi@seoul 37.6269488538
할리스
hollys 346.06287093
hollyscoffee 205.464673366
파리크라상
pariscroissant 47.3940463793
u+net7063 21.9376604943
투썸플레이스
twosome 299.706186749
twosomeplace 108.219123484
롯데리아
freeu+zone 88.7228391117
netis 84.2126950537
오설록
osulloc 54.1014045696
osullocoffice 34.0064151724
커핀그루나루
coffine 180.172415342
coffinestaff 119.309873534
스타벅스
ollehstarbucks 777.623609645
starbucksap 763.155045796
카페베네
bene 432.322186157
caffebene 179.032554836
폴바셋
telecop 72.0622928439
paulbassett 68.4053228807
이디야
ediya 435.833696014
ediyacoffee 294.886922454
잠바주스
jambajuice 50.745192024
jjgn 25.8583532148
파스쿠찌
pascucci 309.194823577
*pascuccifreewifi 260.112876875
던킨도너츠
dunkin 169.064771011
*dunkindonutsfreewifi 150.868885425
맥도날드
현대hcnwifiphone 108.219123484
mcdonaldsfreewifi 90.071033507
공차
gongcha 156.376995187
publicwifi@seoul 66.2951003614
커피빈
gangnamwifi 108.186485868
dummy 77.5799315416
엔제리너스
angelinus 163.497102488
angel 100.184377114
파리바게뜨
*parisbaguettefreewifi 576.698454226
parisstaff 476.708074552
와우....
예상은 했지만... 생각보다 패턴이 아주 잘 나온다... 물론 없는 경우도 있다.
스타벅스가 서울시내 330개 정도, 전국적으로 720개가 있다고 한다. 나머지 절반은 수집하러 다니지 않아도 될 것 같다... 물론, 조금더 분석하고 자동으로 장소 이름을 설정하기 위해선 알고리즘을 더 devise 해 봐야겠지만...
댓글 없음:
댓글 쓰기