구글이 책을 추천하는 방법 - Google Books

2010. 12. 10. 19:48사는게 뭐길래/Data & Intelligence

구글에서 제공하는 도서 검색 서비스를 살펴보니 재미있는 것들이 좀 눈에 띄네요.
저희 회사에서, 그리고 제가 하는 일과 아주 관련이 높은 기능들이 보여서 몇 가지를 좀 뜯어 봤습니다.
(강조합니다! 저는 축구 관련 업체나 기관, 기타 스포츠 업체나 축구관련 미디어 업체에 다니지 않습니다.^^) 

책의 본문을 검색한다!

가장 놀라운 것은 책의 제목이나 저자, 출판사 이름이 아니라 책의 본문 내용을 검색해 준다는 사실!
너무나도 획기적이지요.
놀랍게도 구글은 이미 250만권에 달하는 책, 총 40억 페이지 분량의 책 본문을 스캔하여 텍스트로 변환하였습니다.
그리고... 그들은 지금까지 인류가 출판한 1억 3천만권의 책을 모두 스캔하겠다고 오늘도 달리고 있습니다.
어쩌면 그들은, 우리 예상보다 훨씬 대단하거나, 아니면 무모하거나 ^^

그러면... 실제로 어떤 모습인지 함 살펴 볼까요?

먼저 우리나라의 대표 온라인 서점 중 한 곳인, Yes24에서 "덴고 아오마메"란 검색어로 검색을 했습니다.
"덴고"와 "아오마메"는 무라카미 하루키의 인기 소설 "1Q84"에 등장하는 남녀 주인공이지요.


매우 유명한 인기 소설이지만...
위에 보시는 바와 같이 검색 결과를 찾지 못합니다.
"덴고"나 "아오마메"는 소설의 본문에는 나오지만 제목이나 저자, 출판사 등과는 전혀 상관이 없으니까요.
다른 온라인 서점... 알라딘에서 검색을 해도 결과는 마찬가지였습니다.

그렇다면 구글은?


검색결과가 나옵니다!
제대로 스캔만 했다면 색인(Indexing)하고 검색하는 것은 구글에게 힘든 일이 아니겠지요.
영문은 물론이고 한국에서 출판된 책까지 이렇게 갖추었다는 사실에 입이 떡 벌어집니다.
(완전 놀라움!)

물론, 그냥 책의 본문에 등장하는 단어들의 등장 횟수나 검색어와의 일치정도만 가지고 검색을 하는 것은 아닙니다.
웹에서의 검색 빈도, 최근 판매량, 해당 책을 보관하고 있는 도서관의 수, 재판 인쇄 횟수/빈도 등 여러가지 요소를 종합하여 검색 결과를 제시한다고 합니다. (자세한 소개 글은... 여기 클릭)

Amazon.com과 Google Books 비교


참고로... 세계 최대의 온라인 서점인 아마존닷컴이라고 해서 별다를 것은 없습니다.
우리나라에서 "비밀의 요리책"이란 제목으로 출판된 "The book of unholy mischief"에 등장하는 인물들로 검색을 해 보았더니, 아마존도 본문 검색은 지원하지 않는군요.


관련성이 높은 책 추천하기

사실 저의 관심사는 이 부분!
바로, Google Books의 추천 기능!

아마존닷컴에서 지금 내가 관심을 가지고 있는 책과 관련성이 높은 다른 책들을 추천하는 기능이 유명한데, 요즘은 대부분의 온라인 서점에서 그와 비슷한 도서 추천 기능을 제공합니다.
(아마존닷컴의 추천 기능에 대해서는 예전에 포스팅한 글을 참고하세요. 요기 클릭, 그리고 요기 클릭)

그리고, 구글 도서에도 이러한 추천 기능이 있습니다!

알라딘


Yess24


Google Books


위의 그림들은 '1Q84'와 관련된 추천 도서들을 서로 비교한 것입니다.
그림을 잘 보시면, 예스24와 구글이 추천한 책 중에서 "덕혜옹주"와 "1Q84 1권"이 일치하는군요.
완전히 일치하지는 않지만, 어느 정도 납득할만한 책들을 추천합니다.
알라딘은... 글쎄요, 제 기준에는 좀 생뚱 맞은 책들을 추천하는군요. ^^


아마존과 구글의 추천 기능을 한 번 비교해 볼까요?

아마존과 구글에서 'Da Vinci Code'에 대해 추천하는 관련 도서는 다음과 같습니다.
추천된 책들 중에 "Angels & Demons", "Digital Fortress", "Deception Point"라는 책이 서로 중복됩니다. (3권)
대강... 아마존이나 구글이나 어느정도 납득할만한 책들을 추천하는 것 같네요.

Amazon.com


Google Books


그런데...
구글에서 추천한 책을 보면 조금 특징이 있습니다.
'Da Vinci Code'의 저자 'Dan Brown'이 쓴 책들이 와장창 몰려 있네요!

아마존은 사용자들의 구매 이력을 분석하여 함께 팔리는 경향이 높은 책들을 추천하는 것으로 알려져 있습니다. (Item-based Collaborative Filtering) 그런데... 구글의 추천 결과를 보면 아마존처럼 고객들의 구매 이력에서 나타나는 연관성 보다는 책의 본문과 메타정보(Metadata)를 주로 이용하는 듯 합니다.

그래서... 한 번 더 테스트...
'The Book of Unholy Mischief(비밀의 요리책)'에 대한 추천 도서를 살펴볼까요?

Amazon.com


Google Books


"The Stolen Child"라는 책 외에는 일치하는 항목이 없네요.
확연한 차이가 납니다. 특히, 구글에서 추천한 도서 중에는 '비밀의 요리책'을 쓴 'Elle Newmark'의 책이 많이 등장합니다.

반면에... 아마존에서는 'Elle Newmark'의 책을 볼 수 없습니다. 'Elle Newmark'는 '비밀의 요리책' 외에는 유명한 작품이 없기 때문입니다. 아마존에서는 실제로 사람들이 구입한 내역을 분석해서 관련 도서를 추천하니까요.

또 한 번 테스트를 해 볼까요?
이번에는... 좀 독특하게... 우리나라에서 절판된, 그래서 검색조차 되지 않는 책, 도저히 읽을 것 같지 않는 책을 가지고 테스트를 해 보았습니다.

'우리는 지금 제네바로 간다'


ㅋㅋ 정말 대단한 구글입니다.
이런 책에 대해서도 제법 그럴싸하게 관련 도서를 추천합니다.
(저자가 '이윤택'인 책들이 눈에 띄네요.)


생뚱 맞은 추천을 할 때도 있네?

때에 따라서는... 구글이 아주 생뚱 맞은 추천을 하기도 합니다.

"거리의 왕 펠레"라는 책이 있습니다.
여러가지 축구 관련 에피소드가 나오는 꽤 재미있는 책입니다. (펠레, 보비찰튼, 로저밀러... 등등. 아이들도 읽기 쉬운 책입니다.)

이 책은 원 제목은, "Football stories that really happened"
저자는 'Alan MacDonald'

이 책을 구글 북스에서 영문 원제목으로 찾았더니 다음과 같은 관련도서를 보여주네요.


"Football stories that really happened"의 관련 도서

무슨 연관성이 있을까...
아동 도서? 축구 관련? 아니면, 펠레 이야기?

관련도서를 자세히 보니... 온통 'MacDonald'들이 쓴 책들이군요. ^_^
"Football stories that really happened"의 저자가 'Alan MacDonald'이기 때문인가 봅니다.^^
(음... 역시나... 저자가 아주 중요한 Factor 같네요.)


책을 더 팔기 위한 추천 vs. 정보를 제공하기 위한 추천

아마존과 같은 온라인 서점은 사용자에게 책을 더 팔기 위해서 추천을 합니다.
"이 책 사시는데, 요 책도 함께 사시는게 어때요?"
내지는... "이 책 살까말까 망설이시나요? 그러면.. 요 책은 어때요?" 라는 식이지요.

구글은 아마존과 달리 온라인 판매 사이트가 아닙니다.
따라서, 판매 위주라기 보다는 추가적인 정보를 제공하기 위해서 추천 서비스를 제공하는 것 같습니다.

예를 하나 들어 볼까요?


무라카미 하루키의 '상실의 시대'.
그런데, 관련 도서 목록에는 출판본이 다른 상실의 시대, 같은 내용에 제목만 다른 '노르웨이의 숲'도 나타납니다.
온라인 서점들 처럼 구매를 유도하기 보다는 좀 더 많은 정보를 제공하려는 목적이 아닐까 싶습니다.

...

그리하야... 대체로 요약!

대략... 기능을 살펴본 바...

  • 아마존이 철저히 고객의 검색/상세보기/구매 행동 기반의 추천을 하는 반면...
  • Google은 메타 정보나 본문 단어 유사성 등의 다른 정보를 주로 활용하고
  • 판매 촉진을 목적으로하는 도서 판매 사이트와 달리
  • Google은 말 그래도 관련 도서 정보만을 제공함 (구매지향 < 정보지향)

구글에서 관련 도서를 추천할 때 정확히 어떤 기준으로 하는지는 모르지만...

  • 책 본문 내용이 서로 잘 매치되는 책이 제시하기도 하고
  • 특히, 동일한 저자의 책이 제시되는 경우가 많으며 (저자를 매우 중요하게 다룸!)
  • 기타 구글에서 수집하는 다른 정보들도 활용할 것으로 예상되는데...
  • 왠지... 하나의 Key Algorithm이 아닌 여러 가지 heuristic을 섞어서 사용하지 않을까...

그러나... 정확히 어떤 기준으로 하는지는 아직 모르겠다는...
하지만, 아마존과 같은 Item-based Collaborative Filtering은 아닌듯 하다는...
요기까지 오는데도 꽤 뒤적뒤적 시간 좀 썼다는...
그리고 좀 더 알아보려 해 봤지만... 그냥... 요정도까지만 알겠다는... 쩝!