웹에서 데이터 중심의 사용자 경험을 활성화하기위한 라이브러리 및 도구.
웹 팩 사용자의 경우 :
PropessPlugin -The Propess.js Webpack 플러그인을 설치하고 구성하여 가능한 한 많은 설정 프로세스를 자동화합니다.
우리가 개별적으로 제공하는 모듈을 시험해 보려면 packages 디렉토리에는 세 가지 패키지가 포함되어 있습니다.
ga 사용자 탐색 패턴에 대해 알아보기 위해 Google Analytics API의 구조화 된 데이터를 가져 오는 모듈.parser JavaScript 프레임 워크 구문 분석을 제공하는 모듈. 이것은 추측 웹 팩 플러그인에서 구현 된 경로 준비 기능을 전원으로 제공합니다.webpack 응용 프로그램에서 예측 페치를 설정하기위한 웹 팩 플러그인. ga 및 parser 모듈을 소비하고 응용 프로그램에서 예측 페치가 작동하는 방법을 구성하기위한 많은 옵션을 제공합니다.Webpack이 아닌 사용자의 경우 :
사이트 워크 플로에 대한 예측 예측은 Google Analytics API를 사용하여 예측 페치를 통합하여 사이트에 따라 할 수있는 일련의 단계를 제공합니다.
이 repo는 Google Analytics 데이터를 사용하여 사용자가 주어진 페이지에서 다음을 방문 할 가능성이 높습니다. 클라이언트 측 스크립트 (응용 프로그램에 추가 할)는 서버에 요청을 보내어 가져와야하는 페이지의 URL을 가져온 다음이 리소스를 프리 페치합니다.
Juess.js는 웹에서 사용자 경험을 향상시키기위한 예측 데이터 분석 중심 접근 방식을 단순화하기위한 라이브러리 및 도구를 제공합니다. 이 데이터는 분석 또는 기계 학습 모델을 포함한 여러 소스에서 구입할 수 있습니다. Juess.js는이 사고를 소비하고 적용하는 마찰을 줄이고이 사고를 모든 현대 사이트 및 앱에 인기있는 워크 플로우를위한 도구 및 도구를 포함하여 모든 현대 사이트 및 앱에 적용하는 것을 목표로합니다.
예측 데이터 분석을 사이트에 적용하는 것은 여러 가지 맥락에서 적용될 수 있습니다.
데이터 중심 접근 방식을 쉽게 적용 할 수있는 생태계에서 다른 터치 포인트를 통과함으로써, 다양한 기술 스택에서의 적용 가능성을 극대화하기 위해 일반적인 인프라를 일반화하기를 희망합니다.
<link rel=prefetch> 사용하는 개발자는 수동으로 설명 분석을 읽는 데 크게 의존하여 사전 프리치해야 할 것에 대한 결정을 알립니다.<link rel=prefetch> 는 현재 총 크롬 pageloads의 5%에 사용되지만 더 높을 수 있습니다.guess.js의 첫 번째 큰 우선 순위는 컨텐츠의 예측 프리 페치를 통해 웹 성능을 향상시키는 것입니다.
임의의 입력 페이지가 주어지면 사용자가 방문 할 페이지 모델을 구축함으로써 사용자가 현재 페이지를 보는 동안 사용자가 다음 페이지 나 페이지 세트를 방문하고 리소스를 프리 페치 할 가능성을 계산할 수 있습니다. 이는 페이지가 이미 사용자 캐시에있을 가능성이 높기 때문에 후속 페이지 방문의 페이지로드 성능을 향상시킬 수 있습니다.
다음 페이지를 예측하기 위해 사용자가 방문 할 가능성이 높으면 Solutions는 Google Analytics API를 사용할 수 있습니다. Google Analytics 세션 데이터를 사용하여 사용자가 사이트에서 다음을 방문 할 가능성이 가장 높은 페이지를 예측하는 모델을 만들 수 있습니다. 이 세션 데이터의 이점은 시간이 지남에 따라 진화 할 수 있으므로 특정 탐색 경로가 변경되면 예측이 최신 상태로 유지 될 수 있다는 것입니다.
이 데이터의 가용성을 사용하면 엔진이 <link rel="[prerender/prefetch/preload]"> 태그를 삽입하여 다음 페이지 요청의로드 시간을 속도를 높일 수 있습니다. Mark Edmondson의 SuperQuarging Page-Loads와 같은 일부 테스트에서는 페이지로드 시간이 30% 향상되었습니다. 그의 연구에 사용 된 접근 마크는 GTM 태그와 기계 학습을 사용하여 페이지 예측 모델을 훈련시키는 것과 관련이있었습니다. 이것은 기계 학습에서 계속 된 아이디어 마크입니다.
이 접근법은 건전하지만 사용 된 방법론은 조금 복잡한 것으로 간주 될 수 있습니다. 더 간단하게 취할 수있는 또 다른 접근법은 Google Analytics API에서 정확한 예측 데이터를 얻으려고 시도하는 것입니다. 페이지 및 이전 페이지 경로 치수에 대한 보고서를 페이지 뷰 및 종료 메트릭과 결합한 경우 가장 인기있는 페이지의 프리 페치를 연결하기에 충분한 데이터를 제공해야합니다.
ML은 솔루션 예측의 전반적인 정확도를 향상시키는 데 도움이 될 수 있지만 초기 구현에는 필요하지 않습니다. 예측 페치는 사용자가 시간이 지남에 따라이 모델을 방문하고 개선 할 가능성이있는 페이지의 모델을 훈련시켜 달성 할 수 있습니다.
딥 신경망은 특히 사용자가 방문 할 수있는 페이지에 맞는 솔루션의 버전을 시도 할 수있는 솔루션의 버전을 시도 할 수있는 복잡성을 괴롭히는 데 특히 능숙합니다. 고정 페이지 시퀀스 (이전, 현재, 다음)가 처음에 처리하기가 가장 쉬울 수 있습니다. 이것은 문서 세트에 고유 한 모델을 구축하는 것을 의미합니다.
모델 업데이트는 정기적으로 수행되는 경향이 있으므로 새로운 사용자 동작에 따라 새로 고침하기 위해 야간/주간 작업을 설정할 수 있습니다. 이것은 실시간으로 수행 될 수 있지만 복잡 할 수 있으므로 주기적으로 수행하는 것만으로 충분할 수 있습니다. 훈련 된 상태 세트, Google 웹 로그 분석 또는 라우터에 새로운 계층을 사용하여 플러그인을 사용하여 현장에 플러그인을 사용하여 미래 페이지를 예측할 수있는 기능을 제공하여 페이지로드 성능을 향상시킬 수있는 사이트의 사용자가 행동 패턴을 나타내는 일반적인 모델을 상상할 수 있습니다.
Preculative Prefetch는 페이지로드에서 페이지를 탐색 할 수 있습니다. 이는 페이지가 특정 다음 페이지 또는 페이지 세트가 필요한 확률에 대한 지식의 존재 또는 그러한 확률을 결정하기위한 데이터 중심 접근 방식을 제공 할 수있는 교육 모델을 가정합니다.
페이지로드의 프리 페치는 UA를 연기하는 것부터 UA에 이르기까지 여러 가지 방법으로 달성 될 수 있습니다. 페이지 유휴 시간 (requestIdleCallback () ())을 통해 또는 다른 간격으로 페이지를 사전 리소스 (예 : <link rel=prefetch> 로 낮출 때) 결정하십시오. 사용자는 더 이상 상호 작용이 필요하지 않습니다.
페이지의 링크가 뷰포트에 표시되면 컨텐츠를 프리 페치하기 시작할 수 있으며, 이는 사용자가 클릭을 클릭하고 싶을 가능성이 더 높을 수 있음을 나타냅니다.
이것은 Gatsby (React 및 React 라우터를 사용하는)가 사용하는 접근법입니다. 특정 구현은 다음과 같습니다.
<Link> 구성 요소가 보이지 않게 될 때마다 프리 페치 투표에 연결된 페이지의 "투표"링크는 매번 약간 적은 포인트의 가치가 있으므로 페이지 상단의 링크는 하단 하단으로 우선 순위를 지정합니다.페이지는 사용자가 일부 콘텐츠에 관심이 있음을 나타낼 때 리소스를 사전 프리 페치하기 시작할 수 있습니다. 이는 사용자가 링크 또는 UI의 일부를 개별 페이지로 탐색 할 때를 포함하여 여러 형태를 취할 수 있습니다. 브라우저는 분명한 관심을 나타내는 즉시 링크 컨텐츠를 가져올 수 있습니다. 이것은 InstantClick과 같은 JavaScript 라이브러리가 취한 접근법입니다.
컨텐츠를 미리 프리 페치하기위한 메커니즘과 마찬가지로, 이는 매우 신중하게 접근해야합니다. 제한된 데이터 플랜의 사용자는 특히 데이터를 먹기 시작하면 미리 가져 오는 페이지에서 많은 것을 인식하거나 혜택을받지 못할 수 있습니다. Save-Data 헤더를 존중하는 것과 같이이 문제를 염두에두기 위해 사이트/솔루션이 취할 수있는 메커니즘이 있습니다.
"로그 아웃"페이지에 대한 링크를 프리 페치하는 것은 바람직하지 않을 수 있습니다. Page-Load (예 : 원 클릭 구매)에서 조치를 유발하는 페이지에 대해서도 마찬가지입니다. 솔루션은 프리 페치 된 페이지가 유용 할 가능성을 높이기 위해 프리 페치되지 않은 URL의 블랙리스트를 포함 할 수 있습니다.
과거에 유사한 제안을 달성하려는 시도 중 일부는 <link rel=prerender> 에 의존했습니다. Chrome 팀은 현재 NostatePrefetch를 선호하는 감가 상각 Rel = Prerender를 탐색하고 있습니다.이 메커니즘의 가벼운 버전은 HTTP 캐시에만 선호하지만 웹 플랫폼의 다른 상태를 사용하지 않습니다. 솔루션은 Rel = Prerender 대체 또는 Prefetch/Preload/기타 접근법을 사용하는지 의존하는지 여부를 고려해야합니다.
NostatePrefetch와 Prefetch 사이에는 두 가지 주요 차이점이 있습니다.
Nostate-Prefetch는 메커니즘이며 <link rel=prefetch> 는 API입니다. Nostate-Prefetch는 Omnibox Prediction, Custom Tabs, <link rel=prerender> 다른 진입 지점에서 요청할 수 있습니다.
구현은 다릅니다. <link rel=prefetch> 는 하나의 리소스를 프리칭하지만 그 위에있는 Nostate-Prefetch는 리소스에서 예비 스캐너를 실행하여 (신선한 새로운 렌더러에서) 하위 자원을 발견하고 (미리로드 스캐너로 재발하지 않음) 그것들을 선견합니다.
이 문제 공간에서 인식 할 가치가있는 세 가지 주요 데이터 분석 유형이 있습니다 : 설명, 예측 및 규정. 각 유형은 관련이 있으며 팀이 다양한 종류의 통찰력을 활용하는 데 도움이됩니다.
설명 분석은 원시 데이터를 요약하고 인간이 해석 할 수있는 것으로 바꿉니다. 사건이 언제 발생했는지에 관계없이 과거 사건을 볼 수 있습니다. 설명 분석을 통해 팀은 과거의 행동으로부터 배울 수 있으며이를 통해 미래의 결과에 영향을 줄 수 있습니다. 설명 분석은 이전에 사용자가 이전에 본 페이지와 주어진 입력 페이지를 제공 한 내비게이션 경로를 결정할 수 있습니다.
예측 분석은 다음에 일어날 수있는 일을 "예측"합니다. 예측 분석은 미래를 이해하고 팀에 데이터를 사용하여 실행 가능한 통찰력을 제공하는 데 도움이됩니다. 그것은 미래의 결과가 유용 할 가능성에 대한 추정을 제공합니다. 명심하는 것이 중요합니다. 완벽한 정확도로 미래의 이벤트를 예측할 수있는 알고리즘은 거의 없지만 기준선 정확도를 높이기 위해 가능한 한 많이 사용할 수있는 많은 신호를 사용할 수 있습니다. 예측 분석의 기초는 데이터에서 결정한 확률을 기반으로합니다. 예측 분석은 임의의 입력 페이지가 주어지면 사용자가 방문 할 다음 페이지 또는 페이지 세트를 예측할 수 있습니다.
규범 분석을 사용하면 솔루션으로 안내 할 수있는 다양한 가능한 조치를 처방 할 수 있습니다. 규범 분석은 조언을 제공하며, 미래의 결정이 이러한 결정을 내리기 전에 가능한 결과에 대해 조언해야 할 영향을 정량화하려고 시도합니다. 규범 분석은 무슨 일이 일어날 지 예측할뿐만 아니라 더 나아가는 것을 목표로합니다. 그것이 일어날 이유를 알리고 그러한 예측을 활용할 수있는 행동에 대한 권장 사항을 제공합니다. 규범 분석은 사용자가 방문 할 다음 페이지를 예측할 수 있지만,이 지식을 활용하기 위해 자신의 경험을 사용자 정의 할 수있는 방법을 알려주는 것과 같은 조치를 제안합니다.
프리 페치 문제 공간에서 예측 모델의 주요 목표는 특정 페이지 요청이 주어지면 사용자가 필요한 후속 요청을 식별하는 것입니다. 이를 통해 서버 또는 클라이언트는 다음 페이지 세트를 사전 가져 와서 페이지로 직접 이동하기 전에 사용자 캐시에 있는지 확인할 수 있습니다. 아이디어는 전체 로딩 시간을 줄이는 것입니다. 이것이 조심스럽게 구현되면이 기술은 페이지 액세스 시간과 대기 시간을 줄여 전반적인 사용자 경험을 향상시킬 수 있습니다.
Markov 모델은 확률 론적 (랜덤 확률 분포) 프로세스를 연구하고 이해하는 데 널리 사용되었습니다 [Ref, Ref]. 그들은 사용자의 탐색 행동을 모델링하고 예측하는 데 적합한 것으로 입증되었습니다. 이러한 문제에 대한 입력은 사용자가 다음에 액세스 할 가능성이 가장 높은 페이지를 모델링하고 예측하는 데 사용할 수있는 Markov 모델을 구축 할 수있는 목표를 가진 사용자 또는 사용자 세트 (사이트 전체)가 액세스하는 일련의 웹 페이지 인 경향이 있습니다. Markov 프로세스에는 액세스 페이지 및 분석 로그에서 주어진 시퀀스에서 계산되는 상태 간의 전환 확률을 나타내는 가장자리를 나타내는 상태가 있습니다. 훈련 된 Markov 모델은 이전 상태의 k 세트가 주어진 다음 상태를 예측하는 데 사용될 수 있습니다.
일부 응용 분야에서 1 차 마르코프 모델은 사용자 브라우징 동작을 예측하는 데 정확하지 않습니다. 이것이 고차 모델이 종종 사용되는 이유 중 하나입니다. 이러한 고차 모델은 상태 공간 복잡성, 덜 광범위한 적용 범위 및 때로는 예측 정확도를 감소시키는 한계가 있습니다.
이 문제를 극복하는 한 가지 방법은 다양한 순서 Markov 모델을 훈련시키는 것인데, 이는 예측 단계에서 사용하는 것입니다. 이것은이 참고 문헌에서 제안 된 모든 16 차 마르코프 모델에서 시도되었습니다. 그러나 이것은 상태 공간 복잡성을 악화시킬 수 있습니다. 또 다른 접근법은 빈번한 액세스 패턴 (가장 긴 반복 후속)을 식별 하고이 시퀀스 세트를 예측에 사용하는 것입니다. 이 접근법은 상태 공간 복잡성에 대해 크기의 순서가 감소 할 수 있지만 예측 정확도를 줄일 수 있습니다.
모델 내에 일부 주만 저장하는 선택적 Markov 모델 (SMM)도 상태 공간 복잡성 트레이드 오프에 대한 솔루션으로 제안되었습니다. 그것들은 모든 순서의 Markov 모델로 시작합니다. 그런 다음 사후 추적 접근법은 정확한 예측 변수가 될 것으로 예상되는 상태를 자르기 위해 사용됩니다. 이것의 결과는 공간 복잡성이 적고 예측 정확도가 높을 수있는 All-Kther 모델의 동일한 예측 능력을 갖는 모델입니다. Deshpane 및 Karpis에서는 예측 (빈도, 신뢰, 오류)을보기 전에 모델의 자두 상태에 대한 다른 기준이 있습니다.
Mabroukeh와 Ezeife에서, 시맨틱이 풍부한 1 차 및 2 차 순서 Markov 모델의 성능을 연구하고 고차 SMM 및 시맨틱으로 제공 된 SMM의 성능과 비교했습니다. 그들은 시맨틱으로 획득 된 SMM이 주파수로 제공되는 SMM보다 크기가 16% 더 작고 거의 동일한 정확도를 제공한다는 것을 발견했습니다.
탐색 패턴을 관찰하면 사용자 동작을 분석 할 수 있습니다. 이 접근법은 사용자 세션 식별, 유사한 클러스터로의 클러스터링 세션 및 현재 및 이전 액세스 패턴을 사용하여 예측 모델을 개발해야합니다. 이 분야의 이전 작업의 대부분은 예측에 대한 신뢰를 향상시키기 위해 유클리드 거리가있는 K-Means 클러스터링 기술과 같은 클러스터링 체계에 의존했습니다. K- 평균 사용에 대한 단점 중 하나는 클러스터 수를 결정하는 데 어려움이 있으며 초기 랜덤 센터를 선택하고 페이지 방문 순서가 항상 고려되는 것은 아닙니다. Kumar 등은이를 조사하여 수정 된 Levenshtein 거리, 액세스 시간 길이, 주파수 및 고차 마르코프 모델을 사용하여 수정 된 Levenshtein 거리, PageRank를 사용하여 계층 적 클러스터링 기술을 제안했습니다.
다음 섹션에서 언급 된 많은 논문은 Markov 모델, 협회 규칙 및 클러스터링을 중심으로합니다. 진화하는 페이지 예측 정확도를위한 패턴 발견과 관련된 관련 작업을 강조하는 논문이 우리의 초점입니다.
1 차 Markov 모델을 사용하여 액세스 할 수있는 다음 페이지를 예측하기 위해 사용자가 요청한 일련의 웹 페이지를 모델링합니다. Markov 체인을 사용하면 시스템이 이전 상태를 기반으로 내비게이션 로그에서 관찰 된 URL 액세스 패턴을 동적으로 모델링 할 수 있습니다. "개인화 된"Markov 모델은 각 사용자를 위해 교육을 받고 사용자의 향후 세션을 예측하는 데 사용됩니다. 실제로, 각 사용자마다 고유 한 모델을 구성하는 데 너무 비싸고 스케일링 비용은 사이트에 사용자 기반이 큰 경우 더 어려워집니다.
숨겨진 Markov 모델 (HMM)을 조사하는 첫 번째 논문. 저자는 웹 서버 로그를 수집하고 데이터를 잘라 내고 사용자가 통과 한 경로를 패치했습니다. HMM을 기반으로 저자는 사용자가 실시간으로 구매할 의도가 있는지 예측하는 웹 브라우징을위한 특정 모델을 구성했습니다. 구매 모드에서 운영 속도를 높이고 영향을 미치는 것과 같은 관련 조치가 조사됩니다.
이전 순위를 기반으로 페이지의 순위 위치를 예측하기위한 프레임 워크를 제안합니다. 연속적인 Top-K 순위 세트를 가정하면 저자는 다른 방법론을 기반으로 예측 변수를 식별합니다. 예측 품질은 예측 된 순위와 실제 순위 사이의 유사성으로 정량화됩니다. 전 세계 및 쿼리 기반 Top-K 순위 모두에 대한 실제 대규모 데이터 세트에서 철저한 실험이 수행되었습니다. 논문에 캡처 한 소설을 포함하여 Top-K 순위 목록을 비교하기위한 다양한 기존 유사성 측정.
다음 웹 페이지 사용자가 액세스 할 가능성이있는 N-Hop Markov 모델을 사용하여 제안합니다. 패턴은 사용자의 현재 액세스 시퀀스와 사용자의 히스토리 웹 액세스 시퀀스와 일치하여 프리 페치의 예측 정확도를 향상시킵니다.
웹 내비게이션 세션 모음을 나타낼 때 Markov 모델 정확도를 높이기 위해 동적 클러스터링 기반 방법을 제안합니다. 상태 클로닝 개념을 사용하여 해당 2 차 확률이 발산되는 링크를 분리하는 방식으로 상태를 복제합니다. 제안 된 방법에는 동일한 클론에 유사한 2 차 확률을 갖는 링크 내를 할당하는 방법을 결정하는 클러스터링 기술이 포함됩니다.
페이지의 크기, 페이지의 지속 시간, 전환 기간 (순차적으로 2 페이지 방문), 페이지 빈도 및 전환과 같은 수많은 탐색 속성과 함께 페이지 순위 알고리즘 사용을 확장합니다. 기간 기반 순위 (DPR) 및 인기 기반 페이지 순위 (PPR)를 정의합니다. 저자는 시간 정보를 사용하여 전환 및 페이지의 인기를보고 페이지 크기 및 방문 빈도와 함께 사용했습니다. 페이지의 인기 값을 사용 하여이 논문은 기존 페이지 순위 알고리즘을 개선하고 주어진 Top-N 값 하에서 다음 페이지 예측을 모델링하려고 시도합니다.
![]() Minko Gechev | ![]() 애디 오스 마니 | ![]() Katie Hempenius | ![]() 카일 매튜스 |