자동 블로그 쉽게 할 순 없을까?당연히 있죠! 여기서 확인하세요

네이버 웹사이트 알고리즘

웹사이트 구조 관련 정리

  • 검색엔진뿐만이 아니라 사이트를 방문하는 사용자들도 쉽게 의미를 파악할 수 있는 URL 체계를 갖춰야 합니다. 검색 친화적인 관점에서 URL 파라미터를 최소화하는 것을 권장합니다.
  • 검색로봇이 해석하기 쉽게 마크업 하는 것이 중요(효율성보다 우선)
  • 색인 관련 : 하지만 모든 수집된 문서가 색인되지 않으며 아래와 같이 색인에 불필요하다고 판단되는 불용문서는 색인 대상에서 제외
    • HTML 내용이 없는 경우 : 일반적인 웹페이지의 구성은 HTML 마크업, CSS 및 Image 리소스, 자바스크립트로 구성되어 있습니다. 네이버 검색로봇은 웹페이지의 콘텐츠를 해석할때 최신 웹 브라우저와 최대한 동일한 모습(렌더링)으로 해석하여 처리합니다. 특정 웹페이지의 경우 HTML 마크업이 없이 순수 자바스크립트를 활용하여 웹 페이지를 이동하는 경우가 있습니다. 이 경우 네이버 검색로봇이 제대로 해석할 수 없는 경우가 발생할 수 있으며 내용이 없는 웹페이지로 간주하여 색인에서 제외하는 경우가 발생할 수 있습니다. 웹 페이지 이동 가이드 에 언급한 바와 같이 되도록 자바스크립트가 아닌 HTTP 응답코드중 301 혹은 302 방식으로 이동을 권장합니다.
  • SEO 기본 요소 :
    • TITLE : 콘텐츠 주제를 나타낼 정확하고 고유한 제목을 만들어야 합니다. HTML 문서 <head> 요소 안에 <title> 요소를 추가해, 페이지 주제를 나타내는 정확하고 고유한 제목 텍스트를 작성합니다.
      • <title>요소에는 콘텐츠 주제를 나타낼 정확하고 고유한 제목이 있어야합니다. 사이트내 여러 페이지들이 동일한 <title>을 가진 경우, 검색로봇은 어떤 페이지가 <title>에 가장 적합한지 분석해야합니다. 이런<title> 요소들은 콘텐츠 주제에 적합하지 않고, 어떤 페이지를 검색결과로 노출해야할지 명확하지 않습니다. 각 페이지마 고유한 <title>요소를 작성하는 것을 지향해주세요.
      • <title> 요소 텍스트 길이 확인필요 : 요소는 페이지 콘텐츠 제목을 나타냅니다. 제목을 매우 긴 텍스트로 작성하는 것은 옳지 않습니다.
      • <H1> 요소는 페이지 콘텐츠를 나타내는 소제목으로 사용되기에, HTML 문서에서 2개 이상 발견된다면 네이버 검색로봇이 이해하기 어려운 구조가 됩니다.
      • 제목은 글의 내용을 대표할 수 있는, 명확하고 간결한 것이 좋습니다. 아래는 블로그 포스트 본문 영역에 출장 지역 리스트를 잘 정리해 놓은 사례입니다. 어떤가요? 훨씬 더 깔끔하고 명확해 보이지 않나요? Untitled
      • 간결한 제목과 설명문을 작성해주세요 : 검색 엔진의 로직은 매우 다양한 요소를 사용하므로, 단순히 제목과 설명문에 무조건 많은 단어를 넣는다고 해서 검색 상위를 보장 받지는 않습니다. 만약 사이트의 제목, 설명문에 나의 브랜드와 관련 없는 실급검, 핫토픽 키워드를 넣는다면 사이트의 브랜드와 연관성이 없기 때문에 사용자의 만족도가 하락하고 그에 따라 사이트의 품질평가에 불이익을 받을 수 있습니다. 만약 사이트 검색 노출만을 위해서 같은 단어를 반복해서 쓴다면? 동일 어구가 반복되어 있다면 어뷰징 의심 대상으로 분류될 가능성이 높으며 역시 사이트의 품질평가에 불이익을 받을 수 있습니다.
      • ◆ 페이지 제목 작성 TIP!
        • 사이트 메인 페이지의 title 태그는 사이트의 성격을 잘 표현할 수 있는 브랜드명으로 기입해야 합니다. 사이트의 개설 목적에 맞는 브랜드 키워드를 활용하는 것이 좋으며 상호명, 서비스명, 제품명 등의 고유명사를 사용하는 것을 권장합니다. 또한, 검색 노출만을 위하여 제목을 자주 변경하는 경우, 제목이 과도하게 길어서 사용자가 쉽게 사이트를 파악하지 못하는 경우는 검색 노출에 불이익을 받을 수 있습니다.
        • 개별 페이지의 title 태그는 페이지의 콘텐츠 주제를 명확하게 설명할 수 있는 문구를 기입해야 합니다. 별도의 글자 수 제한은 없지만 검색 결과에서 표현이 가능한 수준으로 제목의 길이를 제한하여 작성해 주세요. 과도한 길이의 제목은 검색 사용자의 사용성을 저해할 수 있습니다. 2회 이상 반복적인 키워드, 스팸성 키워드, 콘텐츠와 연관이 없는 키워드가 나열되어 있는 경우 검색 노출에 불이익을 받을 수 있으니 유의하세요.
        • 사이트 내의 모든 페이지를 동일한 제목으로 넣지 마세요. 페이지 콘텐츠에 맞는 고유한 제목을 기입해야 검색 사용자가 여러분의 콘텐츠를 찾을 가능성이 높아집니다.
        • 검색 노출에 사용되는 제목은 검색엔진이 해당 페이지 내의 정보중 가장 적절한 것을 자동 추출하여 선택합니다. 그러므로 페이지 제목 태그와 더불어 아래의 오픈그래프 태그의 경우도 일관된 문구를 기입하는 것을 권장합니다.
    • <meta name="description"> 설명 누락 : meta description 태그는 페이지 내용을 요약하여 제공합니다. 페이지의 meta description 태그는 페이지의 요약 내용을 여러 문장으로 구성하여 작성합니다. 검색결과의 스니펫으로도 사용되니 각 페이지마다 요약 내용을 입력해주면 좋습니다. meta description 태그는 HTML 문서 요소 안에 있습니다.
    • ALT : 이미지에 꼭 넣어라 콘텐츠 이미지에 설명(Alt) 속성이 있으면 네이버 검색로봇이 이해하기 좋은 구조입니다. 페이지 콘텐츠와 이미지에 대한 주제를 잘 해석할 수 있습니다.
    • **페이지 설명문 작성 TIP!**페이지의 description 태그는 페이지의 콘텐츠에 대한 간략한 설명으로 1-2개의 문장으로 구성된 짧은 단락을 사용할 수 있습니다. 단, 2회 이상 반복적인 키워드, 스팸성 키워드, 사이트와 연관이 없는 키워드가 있는 경우 검색 노출에 불이익을 받을 수 있습니다. 또한, 검색 노출만을 위하여 사이트 메인 페이지의 description 태그 내용을 자주 변경하거나 과도하게 길어서 사용자가 쉽게 사이트를 파악하지 못하는 경우도 검색 노출의 불이익 대상에 포함됩니다.간혹 페이지 내의 전체 내용을 복사해서 붙여넣거나 키워드만 나열하는 경우가 있습니다. 이런 경우 검색 노출에 불이익을 받을 수 있으니 콘텐츠에 맞는 필요한 문구만을 간추려서 넣어주세요.검색 노출에 사용되는 설명문은 검색엔진이 해당 페이지 내의 정보중 가장 적절한 것을 자동 추출하여 선택합니다. 그러므로 페이지 설명 태그와 더불어 아래의 오픈그래프 태그의 경우도 일관된 문구를 기입하는 것을 권장합니다.
    • 오픈 그래프 HTML 문서의 태그내에 있는 태그를 활용합니다
      • <head> <meta property=”og:type” content=”website”> <meta property=”og:title” content=”페이지 제목”> <meta property=”og:description” content=”페이지 설명”> <meta property=”og:image” content=”http://www.mysite.com/myimage.jpg“> <meta property=”og:url” content=”http://www.mysite.com“> </head>
      • 오픈 그래프 태그는 사이트가 소셜 미디어로 공유될 때 우선적으로 활용되는 정보입니다. 사이트의 제목, 설명과 더불어서 사이트를 대표하는 이미지도 같이 넣어주세요. 자세한 내용은 http://ogp.me를 참고하세요.
      • 오픈 그래프 이미지 오픈 그래프 이미지 (og:image)는 네이버 웹 검색 결과 내 문서를 대표로 하는 이미지 섬네일로 활용될 수 있습니다. 이미지가 잘 활용될 수 있도록 아래와 같은 사항들을 점검해 주세요.
        • 이미지 크기가 150×150 보다 커야 합니다.
        • 이미지 파일 사이즈 크기가 5,000 byte 이상이어야 합니다.
        • 이미지 가로:세로 비율이 3:1을 넘지 않아야 합니다.
        • 각 문서를 대표할 수 있는 이미지를 넣어주세요. 서로 다른 페이지에 중복하여 출현하는 이미지 또는 로고 이미지와 같은 경우 문서를 대표하는 이미지로 볼 수 없습니다.

웹사이트 문서 노출 관련 알고리즘 총정리

  1. 오로라프로젝트 – 다양한 문서의 내용 해석하고, 질의의도에 문서 판단할 수 있도록 도와주는 기술
  • 지식스니펫 : 의도가 명확한 질의에 대한 정답 영역을 검색결과에 보여준다. 사용자는 검색결과에서 지식스니펫 영역을 집중해서 읽게되고 체류시간 증가.
  • 뉴럴 매칭 : 따라서 필연적으로 답을 제공하는 문서의 표현과는 많이 다른 경우가 많아집니다. 따라서 질의와 문서의 서로 다른 표현을 매칭해주는 기술이 필수적인데, 이를 위해서는 질의의 문맥 “신경안정제 약 때문에 팔이 떨릴 수도 있나” 과 문서의 문맥 “손떨림이 생기는 흔한 원인으로는 다음과 같은 경우가 있습니다.
  • 과거 : 단순히 질의와 동일한 단어가 출현하는 지만 보았음. → 어휘단어매칭 → 질의 변환, 동의어 확장등 제한적으로 유사어 검색만 가능
  • 뉴럴 : 문서에서의 단어가 질의에서의 문맥과 일치하는 쓰임새로 사용
  • 문제 : S사와 H사 사이에는 공통점과 비슷한 부분이 너무 많아서 어느 회사를 가정하더라도 상당히 그럴 듯한 뉴스가 되기 때문입니다.
    • 정의 : S사와 H사는 “메모리 반도체를 만드는 회사”로 큰 틀
    • 이런 경우, “S사와 H사는 다르다”는 사실을 알려주는 학습 데이터가 충분치 않으면 뉴럴 모형이 여러 문서들에서 S사와 H사에 대해 매우 유사한 벡터를 생성하기 쉽습니다. 결과적으로 S사에 대한 질의에 대해 S사가 아닌 H사에 대한 뉴스를 검색해 보여주는 오류가 발생할 확률도 높아집니다.
    • 과도한 매칭 일반화 문제는 학습 데이터에 어떤 단어와 어떤 단어는 문맥이 유사하더라도 매칭이 되면 안되는 것을 알려주는 부정 예제(negative samples)를 충분히 보강하면 상당 부분 해소 → 예를 들어 “S사”에 대해서 아무리 주변 문맥이 비슷하더라도 “H사”와 매칭하면 안된다는 것을 알려주는 예제가 학습 데이터에 충분히 많으면, 모형이 이에 대한 정보를 데이터로부터 학습할 수 있습니다.
    • 동일한 부류에 속하지만 검색에서는 다른 의미로 구분되어 취급되어야 하는 단어의 집합(sibling 관계의 단어 집합이라고도 합니다) 에 대한 것도 있었습니다. 이런 사전 구축된 기술과 언어 자원, 지식 베이스를 사용하면 아래와 같은 방법으로 필요한 부정 예제(negative examples)를 대량으로 자동 생성할 수 있습니다.
  1. 네이버의 적합도 판정
    • 검색결과란, 사용자의 질의와 웹페이지 사이의 적합도 순으로 나열된다. 사용자 질의와 웹페이지를 보고 적합도 계센해내는 것이며 학습 데이터는 질의-문서-적합도 형태로 구성
      • 네이버에 대한 질의에 대해 WWW.NAVER.COM문서 적합도는 5점이라고 태깅
    적합도 점수 대상 문서 5점 (완전히 적합) 사용자가 질의를 넣었을 때 이동하고자 하는 웹사이트. 혹은 사용자 질의에 대한 공식적인 정보를 제공하는 문서. (모든 질의에 5점짜리 문서가 있는 것은 아님) 4점 (매우 적합) 사용자 질의와 관련된 정보를 충분히 제공하는 문서로 사용자의 검색 의도를 충족시킬 수 있는 문서. 혹은 질의에 해당되는 공식 정보를 제공하는 소셜미디어 채널들 3점 (적합) 사용자 검색 의도를 전부, 혹은 일부 만족하는 적당한 품질의 문서 2점 (조금 적합) 문서에 사용자 질의가 포함돼 있지만 사용자의 검색 의도를 만족시키지 못하는 문서. 문서의 내용과 품질이 부실 1점 (부적합) 사용자 질의와 무관한 문서
    • 적합도 안에 세부규칙이 바로 오로라 프로젝트
  2. 오로라는 베이스, 검색 결과 표현하는 방식 최적의 웹 검색 결과 제공을 위한 리치니스 기술 #1
    • 질의를 입력하면, 검색 엔진은 제목과 설명문으로 이루어진 여러 개의 검색 결과 노출함. 그리고 찾고 싶은 정보가 있을 것 같은 문서를 클릭하여 방문하게 됨.
    • 그런데, 검색 결과 구성이 실제 문서의 내용 반영하지 못한다면? → 실제는 유익해도, 사용자는 문서를 방문하지 않을 수 있음. → 검색 서비스 품질 저하 → 검색결과 제공자 입장에서 관련도 높은 문서를 찾는 것도 중요하고, 검색 결과를 잘 구성하는 것 또한 매우 중요.
    • 리치니스 – 문서 이해 기술 : 일반적인 검색은 제목과 설명문으로 끝나지만, 풍부한 검색 결과는 이미지, 리스트, 평점, FAQ 등 알려줌. 일반적인 DB 검색과 달리 웹문서는 HTML로 된 비정형 데이터 → 문서이해기술 개발로 다양하게 보여주는 방식 차용.
    • 웹 문서는 유의미한 정보를 담고 있는 Content 영역과 사이트내 공통 레이아웃으로 존재하는 Header, Footer, Sidebar 같은 영역으로 구분할 수 있습니다. 문서의 Content 영역을 인식하는 것은 문서의 특징을 분석하기 위한 기반 기술로써 검색 결과를 잘 구성하고 검색 Ranking 성능을 높이는데 중요한 역할을 합니다.
    • Content Type Recognition
      • 다음 단계로 Content 영역에서 “문장, 문단, 테이블, 리스트, 개체 속성” 과 같은 구조를 인식합니다.
      • 이 작업은 Content 영역에 존재하는 Sub-Tree 들의 Type 을 구분하는 모델을 통해 이루어지고 있으며 다음과 같은 피쳐 들을 활용하고 있습니다. 또한, 사이트 내에서 반복적으로 출현하는 정형화된 구조들을 추출하기 위해 Sibling 관계에 있는 웹 문서들을 클러스터링 하여 정확도를 높이는 과정도 추가로 수행하게 됩니다.
    • 하나의 Content 영역에서 “개체 속성”, “문단”, “리스트”를 동시에 구분
    • Information Extraction
      • 문서 영역 내에 존재하는 구조 정보를 인식한 뒤에는, 각 Type 에 해당하는 정보 영역에서 검색 결과 노출에 사용될 핵심 정보들을 추출하는 과정이 수행됩니다
      • 예를 들면 웹 문서에 리스트 구조를 인식하였다면, 각 아이템에 해당하는 이미지, 텍스트, 링크 정보를 추출하여 이미지 캐로셀 (Image Carousel) 형태의 검색 결과를 노출하게 되고, 문단형으로 기술된 텍스트 구조를 인식하였다면 각 문단의 소제목과 내용을 구분하여 문단별 검색 결과로 노출하게 됩니다.
    • 질의 최적화된 결과 제공
      • 위 그림은 하나의 웹 문서에 대해서 질의에 따라 검색결과가 달라지는 모습을 보여주고 있습니다. 질의가 ‘삼성케어’인 경우 문단 구조를 활용한 검색 결과를 보여주고, 질의가 ‘삼성케어 플러스 연장비용’ 인 경우 해당 정보를 직관적으로 인지할 수 있도록 표 형태의 검색 결과를 노출하고 있습니다.
      • 웹 문서 안에서 여러가지 Content Type들이 동시에 추출되기도 하며, 이 경우 각 Type 마다 그에 대응되는 리치 검색결과 후보가 존재한다고 볼 수 있습니다. 검색엔진은 이들 후보들 중 ‘질의에 맞는' 가장 적절한 후보를 선택해야 합니다. 이를 위해 질의와 여러 후보들을 입력 받아 최종적으로 하나의 리치 결과를 선정하는 모델을 사용하고 있습니다.
      • 이렇게 질의마다 검색 결과의 구성을 다르게 하는 방안의 하나로써 질의의 의도에 해당하는 정답 영역을 추출 (Question Answering)해서 검색 결과 상에서 바로 보여주는 시도도 꾸준히 해오고 있습니다. ‘지식스니펫’이라고 하는 이 영역에 대해서는 다음주에 이어 자세히 소개해 드리겠습니다.
  • 최적의 웹 검색 결과 제공을 위한 Richness 기술 소개 #2
    • 지식스니펫은 검색 이용자들의 검색 편의성을 제공하기 위해 명확한 의도를 가진 질의에 대한 정답을 검색 결과에 바로 보여줌.
      • 사용자가 검색 결과에서 원하는 정보를 쉽게 확인 가능하도록 리스트형, 테이블형, 카드형, 답변 강조형을 포함한 가독성이 높은 다양한 형태의 검색 결과를 제공하고 있습니다.
    1. Query Classification: 검색 이용자의 질의 의도를 파악하고 질문 분류 체계(Question Taxonomy)에 따라 분류하는 단계
    2. Document Retrieval & Document Understanding: 질의에 부합하는 검색 결과를 가져온 후 문서를 심층적으로 이해하여 문서의 영역을 구분하는 단계
    3. Answer Extraction: 질의 의도에 부합하는 정보 영역을 문서에서 탐지하는 단계
    • 지식스니펫 추출을 위한 핵심 기술인 Query Classification과 Answer Extraction에 대하여 설명하겠습니다. 지식스니펫에서 사용하는 질문 분류체계 (Question Taxonomy) 지식스니펫에서 사용하는 질문 분류체계 (Question Taxonomy) [Aurora 프로젝트] 최적의 웹 검색 결과 제공을 위한 Richness 기술 소개 #2 굉장히 중요한 문서임.. 앞으로 우리 콘텐츠에서 내용 담을 때 꼭 필요함.
      • Query Classification
        • 지식스니펫은 사용자가 얻고자 하는 정보가 무엇인지 사용자 검색 의도를 분석하고 의도에 부합하는 정보를 제공하는 것을 목표로 하기 때문에 질의 의도 분석이 선행되어야 합니다. 이를 위해서 사실 관계를 나타내는 육하원칙(5w1h)을 기반으로 사용자 질의를 분류하고, 100여 개의 의도 범주체계를 만들어 사용자의 질의 의도를 분석하는데 주력하고 있습니다.
        • 질의에 나타난 어휘적 요소가 명확한 경우, Explicit Query로 정의하고 앞서 설명한 Question Taxonomy에 따라 의도를 파악합니다. 크게 Suffix 질의와 Pattern 질의로 나눠집니다.
        Untitled
        • Suffix 질의는 Question Taxonomy에 정의된 Property가 질의에 포함된 경우, Subject와 Property로 분리하여 Property에 따른 의도를 부여하고 Pattern 질의는 다양한 어휘 패턴을 활용하여 질의 의도를 파악합니다.
        • 질의에 나타난 어휘적 요소 뿐 아니라 “강아지 바나나”처럼 질의 내 어휘적으로 드러나지 않는 “강아지가 바나나를 먹어도 되는지”와 같은 의도를 내포한 경우 Implicit Query로 정의하고 Question Taxonomy를 활용하여 질의 의도를 탐지합니다.
        • 이를 위해 검색된 문서의 제목, 월간 유입 질의 분포 등을 활용하여 내포된 질의 의도를 추정한 후, 사용자가 입력한 질의와 의도가 부착된 질의가 동일 문서에서 은 정보 영역을 답변으로 추출한다면 해당 질의는 탐지된 의도를 내재하고 있다고 간주합니다.
        • 추가로 특정 질의에 노출되는 지식스니펫을 동일한 의도를 가진 유사 질의에도 노출되도록 하여 사용자가 동일한 의도를 가진 다양한 형태의 질의를 입력하더라도 적합한 정보를 제공하도록 노력하고 있습니다.
        • 나의 의견 ; 질의를 탐색해서 내재된 답이 무엇인지 확정하는 과정
      • Answer Extraction
        • 문서 검색(Document Retrieval) 단계에서 질의에 부합하는 검색 문서를 가져온 후, 문서 이해 기술(Document Understanding)을 통해 문서에서 문단, 문장, 테이블, 리스트와 같은 구조를 인식 후 문장형, 리스트형, 테이블형 스니펫 추출을 위해 필요한 다양한 자질(Feature)을 추출합니다. 과정은 아래와 같습니다.
        • 문장형 스니펫 추출 :문장형 스니펫 추출은 Query Classification을 통과한 지식스니펫 대상 질의와 Document Understanding에서 분석된 문서를 통해 적합한 질의, 스니펫 쌍을 추출합니다. 하나의 문서는 다양한 내용으로 구성되어 있을 수 있기에 질의에 부합하는 정답을 찾기 위한 노력이 필요합니다.
          • 예를 들어 “아르기닌”에 대하여 설명된 문서에는 “아르기닌의 부작용, 효과, 복용방법” 등 아르기닌에 대한 다양한 정보를 포함할 수 있습니다. 사용자 질의가 “아르기닌 부작용”이라면 아르기닌과 관련된 다양한 정보 중 “아르기닌 부작용”에 대한 내용이 담겨있는 연속된 문장을 스니펫으로 추출해야 합니다. 문장형 스니펫 추출 과정은 아래와 같습니다.
          • Passage Selection은 구조 분석된 문서에서 스니펫으로 추출 가능한 후보 passage를 선택하는 과정입니다. 문서 내에서 모든 문장을 후보로 사용하게 되면 질의와 관련 없는 문장이 모델의 입력으로 들어가게 되며 불필요한 연산을 수행합니다. 그렇기 때문에 스니펫 후보가 될 수 있는 passage를 선별적으로 선택합니다.
        • 리스트형 스니펫 추출 : 문서에서 리스트는 표현의 자유도가 높아 다양한 형태로 존재할 수 있습니다. <ul>, <ol>, <li> 등 HTML 태그 정보를 통해 탐지 가능한 리스트, 일정한 패턴을 보이는 문장들로 구성 가능한 리스트, 문서의 소제목들이 하나의 목록으로 구성되는 리스트도 있습니다.

[Aurora 프로젝트] 효율적인 피처 연동을 위한 데이터 파이프라인

  • 검색 색인을 이루는 요소에는 타이틀, 본문 등의 문서의 내용을 기반으로 한 기본적인 매칭 정보와 검색 결과 노출에 필요한 텍스트 정보, 사이트/문서의 품질과 관련된 score, 소비 지표, 인용 지표 등 여러가지 피처 정보들이 있습니다. 웹검색을 담당하는 조직의 구성원이라면 누구나 만들수 있고, 품질을 평가해서 색인에 반영하는 것을 지향하고 있습니다.
  • 피처들이 어떤 과정을 거쳐 검색 색인에 반영되는지 설명 드립니다.
  • 웹정제 데이터 파이프라인에서는 피처 별 중요도에 따른 우선순위를 부여하고, 이를 분산 priority queue를 통해 제어하고 있습니다.
  • 적합성 마이닝 : 질의와 웹문서 사이에 숨겨져 있는 적합성을 발굴하는 작업, 질의의도에 적합한 사이트를 미리 발굴해서 거기서 답을 제공하는 형식
    • 높은 적합도의 문서가 존재할 가능성이 높은 공공 사이트나 기업 사이트를 대상으로 진행하여 사용자 질의를 받았을 때 검색 결과 상단에 권위 있고 정확한 정보를 제공하는 웹문서를 노출시키는 것이 목적
    • 어떤 종류의 질의에는 공식적이고 정확한 정보를 제공 → 정보를 제공하는 사이트를 분석하여 각 문서를 표현하는 키워드들을 발굴, 해당 키워드로 검색했을 때 믿을 수 있는 정보를 제공하는 문서가 노출
    • 일반적인 검색이 사용자가 입력한 질의로부터 적합한 문서를 찾아 나가는 방향이라면, 문서 기반 키워드 마이닝은 먼저 정보성이 풍부하고 공신력이 있는 문서를 선정하고 여기에 적합한 키워드를 생성하는 방향
    • 문서 기반 키워드 마이닝 :
      1. 신뢰도가 높고 정보성이 풍부한 문서의 선정
      2. 선정된 문서에 적합한 키워드의 생성
      3. 키워드의 확장
    • 문서 기반 키워드 마이닝의 대상이 되는 문서는 정보성이 풍부하면서도 정보의 신뢰성이 높고, 사용자 친화적인 문서입니다. 금융기관 사이트라면 예금, 대출, 카드, 보험 등의 상품에 대한 공식 설명 문서, 공공기관 사이트라면 해당 기관에서 관장하는 정책에 대한 문서, 대학교 사이트라면 대학/학과/연구소에 대한 정보와 학사 운영에 대한 문서가 대표적인 예입니다. 반대로 개인이 작성한 문서, 오래되어 유효하지 않은 문서, 정보성이 부족한 문서나 반대로 너무 지엽적인 정보가 장황하게 포함된 문서는 마이닝의 대상이 되지 않습니다. 금융기관, 공공기관, 학교에서 운영하는 사이트의 문서라도 사용자 게시판의 글처럼 개인이 작성한 문서들은 대상에서 제외됩니다.
    • 중요문서 판별기는 이 피처들을 이용해서 중요 문서와 비중요문서를 식별할 수 있도록 학습됩니다. 중요문서 판별기가 수 많은 피처들 중에서 문서의 신뢰성과 정보성과 가장 긴밀하게 관련 있다고 판단한 피처들은 다음과 같습니다.
      • 다른 신뢰도 높은 문서로부터 링크를 받고 있는가
      • 사이트의 메인 페이지로부터 몇 번의 링크를 통해 도달할 수 있는가
      • 문서의 유형은 무엇인가
      • 동일 사이트 내에서 얼마나 많은 링크를 받고 있는가
      • 얼마나 많은 검색어에 노출되었고 얼마나 클릭되었는가
    • 키워드 마이닝 대상이 되는 잘 구조화된 문서에서는 일반적으로 몇몇 중요 영역들이 문서의 중요 내용을 함축하고 있습니다. 문서의 제목, 메인 메뉴에서 해당 문서까지 이르는 경로를 나타내는 브레드크럼(bread crumb), 문서 본문의 대제목, 중제목, 소제목에 해당하는 <h1>, <h2> <h3> 등의 영역이 대표적입니다.
    • 하지만 이러한 영역들의 내용은 검색 사용자들이 입력하는 질의와 형태가 다르기 때문에, 좀 더 질의스럽게 바꾸어 줄 필요가 있습니다. 이 작업을 ‘질의 생성기’라는 모듈이 담당합니다.
      • 질의 2023년 A대학교 수시 경쟁률 검색하면, 뜨는 문서의 제목 [공지] 2023학년도 A대학교 수시 경쟁률 안내(입학처)
      • 질의 생성기는 BERT가 토대입니다. Pre-train된 BERT 모형을 축약된 질의 생성에 적합하도록 fine-tuning하였는데, 이 과정에서 저희는 질의 생성 문제를 긴 문장에서 중요 단어를 식별하는 문제로 재정의
      • 문서의 <title> 영역에 기술된 제목은 사용자 질의에 비해 길고 장황한 경우가 많아 질의를 생성하기 위해서는 축약할 필요
      • 이를 위해 대상 문서를 클릭한 질의와 문서의 <title> 영역의 제목을 비교하여, 해당 문서를 클릭한 질의에 자주 나오는 단어를 중요 단어, 그렇지 않은 단어를 비중요 단어로 구분한 학습 데이터를 구성했습니다. 이 데이터로 fine-tuning한 모형으로 긴 제목을 짧은 질의로 변환
      • 생성된 질의는 마지막으로 확장 과정을 거칩니다. 질의 확장은 대상 문서가 좀 더 많은 질의를 커버할 수 있도록 동일하거나 유사한 의미의 질의를 추가하는 과정입니다. 대표적으로 축약과 음차변환이 있습니다. 축약은 ‘A대학교 수시 경쟁률’ → ‘A대 수시 경쟁률’처럼 약어로 변환하는 것이고, 음차변환은 ‘the prime 카드 연회비’ → ‘더 프라임 카드 연회비’ 처럼 외국어를 한국어 표기로 변환하는 것입니다. 이 처리에는 질의를 동일 의미의 다른 질의로 변환하는 딥러닝 모형과 두 질의의 의미적 유사도를 판정해주는 또다른 딥러닝 모형이 이용
    • 링크기반키워드마이닝
      • 이미 알고 있는 공식적인 정보를 제공하는 질의-문서 쌍을 저희는 시드 (Seed) 데이터라고 부릅니다. 이 시드 데이터와 웹문서를 분석하여 얻은 앵커 그룹 정보를 위와 같이 조합하여 더 많은 질의-문서 쌍을 생성하는 것이 링크 기반 키워드 마이닝의 첫 단계이고, 이후 문서 기반 키워드 마이닝에서 설명 드린 질의 확장 방법과 같은 방식으로 더 많은 키워드로 확장됩니다.
    • 중복문구 기반 링크 마이닝
      • 권위 있는 웹문서는 여러 웹문서에서 많이 소개되고 인용되기 때문에 일반적으로 많은 링크를 받게 됩니다. 하지만 다른 글을 옮겼거나 참고했지만 인용, 즉 링크가 생략되는 경우도 흔합니다.
      • 이렇게 되면 원문이 어떤 글인지 알기가 어렵고, 더 나아가서 권위 있는 문서가 어떤 것인지 알기가 어려워집니다. 그래서 실제 존재하지 않는 웹문서 사이의 링크를 복원하는 마이닝 기술 개발도 진행하고 있습니다.
      • 예를 들어 법률 분야에 적용한다면 찾기 쉬운 생활 법령 정보 사이트(https://www.easylaw.go.kr/) 같이 정부 사이트에서 제공하는 믿을 수 있는 법률 문서들과 법률을 다루는 UGC (User Generated Content) 문서를 클러스터링하여 존재하지 않는 인용 관계를 추론할 수 있습니다. 이렇게 되면 좀 더 믿을 수 있는 생활 법령 정보 사이트의 문서를 UGC 문서에 우선하여 검색결과로 제공할 수 있습니다.