Cách tối ưu quy trình nghiên cứu từ khoá

Cách tối ưu quy trình nghiên cứu từ khoá

Trong bài viết “Quy trình keyword research theo hướng Persona” của nhà sáng lập Michael King, chúng ta đã thảo luận về tầm quan trọng của việc phân loại các nhóm từ khóa trong các giai đoạn phù hợp với nhu cầu của người dùng.

Tuy nhiên, hầu hết các Marketer mất rất nhiều thời gian để phân loại các nhóm từ khóa, đặc biệt là đối với các trang web lớn có hơn 30 nghìn từ khóa. Việc quét qua tất cả các từ khóa này và phân loại chúng bằng các bộ lọc và công thức trong Excel là một quá trình khá tốn thời gian.

Chúng ta cần có biện pháp để đẩy nhanh quá trình đó. Bài viết này sẽ nói về cách tăng tốc độ keyword research trong quá trình phân cụmphân loại từ khóa. Cùng MangoAds chúng tôi tìm hiểu để có cách nghiên cứu từ khóa tối ưu nhất!

Supervised learning và Unsupervised learning

Phân cụm là quá trình nhóm một tập hợp các mục trong cùng một nhóm có ý nghĩa tương đồng với nhau. Trong keyword research, chúng ta có thể phân cụm từ khóa theo chủ đề, tính cách hoặc trạng thái nhu cầu trong hành trình của người dùng.

Mặt khác, phân loại được suy ra từ một chức năng của dữ liệu được gắn tag. Các tag trong ngữ cảnh nghiên cứu từ khóa có thể là chủ đề, tính cách và trạng thái cần cho từ khóa. Ví dụ: để phân loại các từ khóa thành các trạng thái nhu cầu khác nhau, trước tiên chúng ta cần một bộ từ khóa đã phân loại trạng thái, nhu cầu. Dựa vào bộ từ khóa đã được phân loại trước đó, chúng ta sẽ có thể dự đoán trạng thái, nhu cầu cho các từ khóa mới.

Bạn cảm thấy bối rối với quá nhiều thuật ngữ? Để giải thích vấn đề này chúng ta hãy cùng xem qua ví dụ:

Ví dụ về cách phân loại từ khóa theo từng nhu cầu

Hình 1: Ví dụ về cách phân loại từ khóa theo từng nhu cầu

Trường hợp này, bạn không biết có những quy tắc nhóm nào trước khi bắt đầu phân nhóm, có nghĩa là không có data và tag trong ngữ cảnh machine learning. Loại hình được gọi là unspervised learning. Quy tắc phân cụm thuộc loại này.

Bây giờ chúng ta hãy sắp xếp lại cùng một loại trái cây. Lần này bạn đã biết từ lần làm trước rằng, hình dạng của từng loại quả nên rất dễ dàng để sắp xếp các loại quả theo loại (ví dụ: sắp xếp quả táo vào nhóm màu đỏ và kích thước lớn). Đây trở thành dữ liệu đào tạo của bạn và nhóm trái cây là nhãn của bạn. Loại hình này được gọi là supervised learning. Quy tác phân loại thuộc loại này. 

Phân cụm K-Means

K-means là một phương pháp phân vùng dữ liệu thành tập con k, trong đó mỗi phần tử dữ liệu được gán cho cụm với giá trị trung bình gần nhất. Thuật toán tiêu chuẩn có thể được chứng minh thông qua bốn biểu đồ dưới đây:

  1. k nghĩa ban đầu (trong trường hợp này là k = 3) được tạo ngẫu nhiên:
Khi k = 3 được tạo ngẫu nhiên

Hình 2: Khi k = 3 được tạo ngẫu nhiên

2. k cụm được tạo bằng cách kết hợp mọi quan sát với giá trị trung bình gần nhất:

k = kết hợp quan sát + giá trị trung bình gần nhất

Hình 3: k = kết hợp quan sát + giá trị trung bình gần nhất

3. Trọng tâm của mỗi cụm k trở thành giá trị trung bình mới:

Giá trị trung bình mới = trọng tâm của cụm

Hình 4: Giá trị trung bình mới = trọng tâm của cụm

 

Lặp lại các bước 2 và 3 cho đến khi đạt kết quả phân cụm chính xác.

Hình 5: Lặp lại các bước 2 và 3 cho đến khi đạt kết quả phân cụm chính xác.

4. Lặp lại các bước 2 và 3 cho đến khi đạt kết quả phân cụm chính xác.

Nhóm keyword bằng Google Search Console

Bây giờ chúng ta sẽ thử nghiệm với dữ liệu Phân tích tìm kiếm của iPullRank từ Google Search Console và nhóm các keyword theo từng chủ đề. Các bước thực hiện như sau:

BƯỚC 1: Xử lý trước từ khóa và chuyển đổi văn bản thành dữ liệu số

Khi xử lý trước dữ liệu, chúng ta chỉ giữ lại gốc của từ khóa, loại bỏ các khoảng trống và dấu chấm câu, đồng thời đặt số ký tự tối thiểu thành 1. Để có ý tưởng về các cụm từ tìm kiếm tổng thể, chúng ta truy xuất các cụm từ có tần suất xuất hiện tối thiểu là 10.

Các cụm từ có tần suất xuất hiện tối thiểu là 10

Hình 6: Các cụm từ có tần suất xuất hiện tối thiểu là 10

Sau khi xử lý dữ liệu, chúng ta cần thực hiện một số chuyển đổi từ văn bản sang số đối với dữ liệu văn bản của mình. May mắn thay, R cung cấp một số gói để đơn giản hóa quy trình. Ví dụ, với gói tm, chúng ta có thể tạo ma trận thuật ngữ tài liệu, trong đó mỗi hàng là một cụm từ tìm kiếm và mỗi cột là số lần một từ đơn được chứa trong cụm từ tìm kiếm đó.

Bạn có thể tìm thấy mã và phương pháp chi tiết trên blog của Randy Zwitch: “Phân cụm các từ khóa tìm kiếm bằng cách sử dụng phân cụm K-Means ”.

BƯỚC 2: Xác định số lượng cụm

Khi đã có ma trận tài liệu, chúng ta có thể nhanh chóng chạy gói hiện có trong R. Trước khi bắt đầu, ta phải chọn k: số cụm mong đợi từ tập dữ liệu. Chúng ta có thể quét qua tất cả các từ khóa và đoán có bao nhiêu chủ đề trong số các từ khóa hoặc sử dụng phương pháp Elbow để dễ dàng chọn k.

Chúng ta có thể tính toán tổng bình phương trong cụm cho mọi lựa chọn của k, đây là một hàm chi phí đo lường tính đồng nhất trong cùng một cụm. Theo trực giác, chúng ta càng có nhiều cụm, chúng ta sẽ nhận được càng ít tổng số ô vuông trong cụm. Trong một tình huống cực đoan mà mỗi từ khóa tạo thành một cụm, tổng các ô vuông trong cụm sẽ bằng không. Chúng ta cần tìm kiếm các điểm ngắt mà việc thêm một cụm khác không mang lại nhiều mô hình dữ liệu tốt hơn.

Để minh họa điều này, ta đã vẽ biểu đồ tổng các ô vuông trong cụm cho k lên đến 30. Chúng ta có thể thấy rằng tổng các ô vuông trong cụm tiếp tục giảm xuống đối với k là nhỏ hơn 4 và tăng nhẹ ở 5 và 6. Độ dốc của hàm chi phí trở nên phẳng hơn ở 10 cụm. Điều này có nghĩa là khi chúng ta thêm các cụm trên 10 (hoặc 20), mỗi cụm bổ sung sẽ trở nên kém hiệu quả hơn trong việc giảm phương sai. Xem xét số lượng từ khóa mà chúng ta có (tổng cộng là 409), 4 là số lượng cụm tối ưu, vì 10 sẽ quá chi tiết đối với một nhóm từ khóa nhỏ.

Hình 7: Giảm chi phí cho các giá trị của k

 

Hình 8: các cụm từ khi k = 4

 

Hình 9: các cụm từ khi k = 4

Chạy mô hình khi k = 4 và nhận các từ thường gặp nhất trong mỗi cụm:

Vì chúng ta chỉ giữ phần gốc của các từ, nên mỗi từ được rút gọn thành dạng gốc, ví dụ: ‘Science’ được rút gọn thành ‘scienc’, ‘blogs’ thành ‘blog’, ‘google’ thành ‘googl’, v.v. Không khó để nhận thấy rằng có một số từ trùng lặp giữa các cụm khác nhau. Ví dụ: ‘googl’ nằm trong cụm 2 và 4, ‘market’ nằm trong cụm 1 và 3. Để hiểu tại sao điều này xảy ra, chúng ta đã truy xuất tất cả các cụm từ tìm kiếm trong các cụm khác nhau. Trong cụm 2, hầu hết các cụm từ tìm kiếm có chứa ‘googl’ là về Trình quản lý thẻ của Google, trong khi các cụm từ tìm kiếm trong cụm 4 có liên quan đến Googlebot. Tương tự, các cụm từ tìm kiếm có chứa “market” trong cụm 1 chủ yếu là về nội dung tiếp thị kỹ thuật số / nhà phân tích tiếp thị kỹ thuật số, chẳng hạn như “digital marketing analyst”. Đối với cụm 3, một số lượng nhỏ các cụm từ tìm kiếm có chứa “market” thường được kết hợp với iPullRank, chẳng hạn như “mike king marketing”. Thông thường, các cụm từ tìm kiếm có chứa một hoặc nhiều từ giống nhau thuộc các nhóm chủ đề khác nhau do ngôn ngữ tự nhiên phức tạp. Quét nhanh qua tất cả các từ khóa trong các cụm khác nhau, ta kết luận rằng các chủ đề chính tương ứng cho cụm 1, 2, 3, 4 là tiếp thị kỹ thuật số và các nội dung liên quan, iPullRank và Mike King, Googlebot. Quá trình quyết định các chủ đề chính với phân cụm đòi hỏi một số phán đoán của con người. Đây là một trong những hạn chế của phân cụm.

Trong trường hợp này, phân cụm chủ yếu phục vụ mục đích khám phá các chủ đề cơ bản và phân chia các cụm từ tìm kiếm thành các nhóm khác nhau. Quá trình này hoạt động tốt hơn đối với kịch bản khám phá mà các chủ đề chưa được biết đến. Tuy nhiên, với các chủ đề hoặc nhãn đã biết mà bạn muốn phân loại từ khóa vào, phân loại là lựa chọn tốt hơn. Phân loại có một lợi thế đáng kể so với phân cụmphân loại cho phép chúng ta tận dụng kiến thức của riêng mình về vấn đề chúng ta đang cố gắng giải quyết. Thay vì chỉ để thuật toán tự tìm ra các lớp nên là gì, chúng ta có thể cho nó biết những gì chúng ta biết về các lớp như có bao nhiêu lớp và ví dụ của từng lớp trông như thế nào. Sau đó, công việc của thuật toán phân loại là tìm các tính năng trong các ví dụ hữu ích nhất trong việc dự đoán các lớp.

Mapping Keywords to Need States

Một quy trình quan trọng khác trong nghiên cứu từ khóa là mapping keywords với trạng thái nhu cầu của người dùng. Đối với nhiệm vụ này, phân loại là công cụ phù hợp trong hộp công cụ machine learning. Chúng ta sẽ thảo luận về hai mô hình học máy thường được sử dụng trong phân loại văn bản: bộ phân loại Naive Bayes đa thức và Máy vectơ hỗ trợ (SVM).

Bộ phân loại Naive Bayes đa thức là một bộ phân loại theo xác suất áp dụng định lý Bayes cho dữ liệu phân tán đa thức, giả định rằng giá trị của một đối tượng cụ thể là độc lập với giá trị của bất kỳ đối tượng nào khác, với biến lớp. Ví dụ, một quả có thể được coi là táo nếu nó có màu đỏ, tròn và đường kính khoảng 10 cm. Một nhà phân loại Bayes ngây thơ coi mỗi đặc điểm này đóng góp một cách độc lập vào xác suất quả này là táo, bất kể mọi mối tương quan có thể có giữa các đặc điểm màu sắc, độ tròn và đường kính.

Dữ liệu thường được biểu diễn dưới dạng số lượng vectơ từ, tuy nhiên điều này sẽ dẫn đến một vấn đề: nếu một lớp nhất định và giá trị đặc trưng không bao giờ xuất hiện cùng nhau trong dữ liệu huấn luyện, thì ước tính xác suất dựa trên tần số sẽ bằng 0 (theo định lý Bayes) . Điều này có vấn đề vì nó sẽ xóa sạch tất cả thông tin trong các xác suất khác khi chúng được nhân lên.

Để giảm bớt những vấn đề đó, chúng ta bao gồm việc sử dụng trọng số (“Tần suất tài liệu nghịch đảo-Tần suất thuật ngữ”) thay vì tần suất thuật ngữ thô và chuẩn hóa độ dài tài liệu. Tf- idf như một hệ số trọng số nhằm phản ánh tầm quan trọng của một từ đối với một tài liệu trong một bộ sưu tập hoặc kho ngữ liệu.

Một ưu điểm khác của việc sử dụng tf-idf là nó giúp điều chỉnh thực tế là một số từ xuất hiện thường xuyên hơn nói chung. Nó giảm trọng số cho các từ xuất hiện trong nhiều tài liệu trong kho ngữ liệu và do đó ít thông tin hơn những từ chỉ xuất hiện trong một phần nhỏ hơn của ngữ liệu. Ví dụ: nếu chúng ta so sánh các cụm từ “ô tô” với “sửa chữa ô tô” trong trình xem Ngram của Google, chúng ta thấy rằng “sửa chữa ô tô” hiếm hơn “ô tô”. Điều đó có nghĩa là cụm từ tìm kiếm “sửa chữa ô tô” có trọng số cao hơn so với “ô tô” sử dụng td-idf vì sự khan hiếm.

Hình 10: TF-IDF giúp điều chỉnh thực tế một số từ xuất hiện nhiều hơn

Bây giờ chúng ta hãy đi vào chủ đề và phân loại từ khóa thành các trạng thái nhu cầu khác nhau bằng cách sử dụng gói scikit-learning trong Python (có thể tìm thấy các ví dụ và mã chi tiết tại đây). Để đào tạo trình phân loại Naive Bayes đa thức, trước tiên ta cần lấy một tập dữ liệu đào tạo chứa các từ khóa và nhãn, đó là các trạng thái nhu cầu mà từ khóa được phân loại (tức là nhận thức, sở thích và hành động trong trường hợp của chúng ta). Tập dữ liệu đào tạo mẫu có định dạng sau:

Hình 11: Định dạng của các tập tài liệu đào tạo mẫu

 

Hình 12: Kiểm tra lại kết quả bằng ma trận nhầm lẫn

Sau khi huấn luyện bộ phân loại, kết quả kiểm tra cho thấy: bộ phân loại Naive Bayes đa thức đạt độ chính xác tổng thể 92,4%. Để hiểu rõ hơn về hiệu suất của trình phân loại, ta kiểm tra thêm kết quả bằng ma trận nhầm lẫn:

Trong ma trận confusion này, trong số 53 từ khóa hành động thực tế, bộ phân loại dự đoán rằng 45 từ khóa ở trạng thái hành động và trong số 259 từ khóa nhận thức thực tế, nó dự đoán rằng tất cả đều ở trạng thái nhận thức. Tương tự, trong số 17 từ khóa sở thích thực tế, không có từ khóa nào được phân loại chính xác là sở thích.

Bộ phân loại có xu hướng phân loại các từ khóa thành trạng thái hành động và nhận thức và không có từ khóa nào trong số các từ khóa kiểm tra được phân loại là sở thích. Điều này là do bộ phân loại Naive Bayes đa thức dựa trên xác suất tập dữ liệu của chúng ta chứa ít từ khóa ở trạng thái quan tâm và nghiêng về trạng thái nhận biết.

Không có khả năng các từ khóa được phân loại là quan tâm trong dữ liệu thử nghiệm dựa trên các quy tắc đã học được từ tập dữ liệu đào tạo. Để cải thiện, chúng ta có thể bao gồm nhiều từ khóa sở thích hơn trong tập dữ liệu đào tạo trong tương lai. Để hiểu rõ hơn về trình phân loại, ta truy xuất mười tính năng quan trọng hàng đầu cho mỗi danh mục.

Hình 13: Truy xuất 10 tính năng quan trọng hàng đầu của mỗi danh mục

Ở trạng thái nhận biết, khách truy cập được hướng đến trang web bởi nội dung có giá trị cao. Ở trạng thái quan tâm, các tính năng hàng đầu bao gồm kỹ thuật số, tiếp thị, seo, nyc, đại lý, cho biết rằng người dùng đang tìm kiếm đại lý tiếp thị kỹ thuật số. Trong trạng thái hành động, điểm khác biệt chính là các thuật ngữ được gắn thương hiệu bao gồm Mike King, iPullRank, v.v.

Máy vectơ hỗ trợ (SVM) là một bộ phân loại không theo xác suất minh họa các ví dụ về các danh mục riêng biệt được chia theo một khoảng trống rõ ràng càng rộng càng tốt. Máy vector hỗ trợ cho trường hợp phân tách tuyến tính có thể được minh họa bằng hình sau:

Hình 14: Ảnh minh hoạ về máy vector hỗ trợ cho trường hợp phân tách tuyến tính

Có rất nhiều bộ phân tách tuyến tính có thể có cho các tập huấn luyện hai lớp. Theo trực giác, một ranh giới quyết định được vẽ ở giữa hai lớp có vẻ tốt hơn một ranh giới rất gần với các ví dụ về một hoặc cả hai lớp. Đặc biệt, SVM xác định tiêu chí cho bề mặt quyết định cách xa bất kỳ điểm dữ liệu nào. Khoảng cách này từ bề mặt quyết định đến điểm dữ liệu gần nhất xác định lề của bộ phân loại. Phương pháp xây dựng này có nghĩa là hàm quyết định cho SVM được chỉ định đầy đủ bởi một tập con nhỏ dữ liệu xác định vị trí của dấu phân tách. Những điểm này được gọi là các vectơ hỗ trợ. Hình trên cho thấy các vectơ lề và hỗ trợ cho một bài toán phân tách tuyến tính.

Bây giờ chúng ta hãy quay lại vấn đề phân loại bằng cách sử dụng SVM trong Python (mã mẫu). Để làm cho SVM có thể so sánh với Multinomial Naive Bayes, ta sử dụng cùng một tập dữ liệu đào tạo cho cả hai bộ phân loại. SVM đạt độ chính xác tổng thể 93,6% (so với 92,4% đối với bộ phân loại Naive Bayes đa thức). Tương tự, ta truy xuất ma trận nhầm lẫn.

Hình 15: Truy xuất ma trận nhầm lẫn

Confusion matrix for SVM:

So với trình phân loại Naive Bayes đa thức, SVM có hiệu suất tốt hơn về độ chính xác tổng thể cho tập dữ liệu này, đặc biệt khi phân loại các từ khóa sở thích thực tế. 12 trong số 17 từ khóa sở thích thực tế được phân loại chính xác là sở thích.

SVM với sự lựa chọn nhân thích hợp có khả năng học các xu hướng phi tuyến tính, đây là một trong những lợi thế lớn nhất so với các Naive Bayes đa thức dựa trên xác suất. Naive Bayes coi các tính năng là độc lập, trong khi SVM xem xét các tương tác giữa chúng ở một mức độ nhất định, miễn là bạn đang sử dụng nhân phi tuyến tính (Gaussian, rbf, poly, v.v.). Không có câu trả lời nào về phương pháp phân loại tốt nhất cho một tập dữ liệu nhất định. Nhưng cuối cùng, tất cả đều đi đến sự cân bằng giữa thành kiến ​​và phương sai.

Một mô hình lý tưởng phải có khả năng nắm bắt chính xác các quy định trong dữ liệu đào tạo của nó và cũng tổng quát hóa tốt cho dữ liệu không nhìn thấy. Thật không may, thường là không thể thực hiện đồng thời cả hai. Các phương pháp học tập với phương sai cao thường phức tạp hơn và thể hiện tốt tập hợp đào tạo, nhưng có nguy cơ quá thích hợp với dữ liệu đào tạo ồn ào hoặc không đại diện. Ngược lại, các thuật toán thiên vị cao có xu hướng tương đối đơn giản, nhưng có thể không phù hợp với dữ liệu đào tạo của chúng, không nắm bắt được các quy định quan trọng. Do đó, cần phải cân bằng khi lựa chọn các mô hình có độ linh hoạt và phức tạp khác nhau.

Tóm lại

Blog này cung cấp hai kỹ thuật máy học thực tế để tăng tốc độ nghiên cứu từ khóa. Phân cụm là công cụ chính để phân tích khám phá, đặc biệt khi bạn không có ý tưởng về chủ đề của các cụm từ tìm kiếm. Đối với kịch bản phức tạp hơn như phân loại các truy vấn tìm kiếm theo các nhóm chủ đề đã biết hoặc các trạng thái cần, trình phân loại, có thể xác suất hoặc không xác suất, chắc chắn là lựa chọn tốt hơn.