Tài liệu được nghiên cứu bởi:
- Zhicheng Zheng – Tsinghua University
- Xiance Si – Google Inc.
- Edward Y. Chang – Google Inc.
- Xiaoyan Zhu – Tsinghua University
Tóm tắt:
“Rác vào thì rác ra.” Một hệ thống hỏi-đáp (Q&A) chỉ có thể đưa ra câu trả lời thỏa đáng khi nhận được câu hỏi được diễn đạt đúng và phản ánh chính xác ý định của người dùng. Trong bài báo này, chúng tôi đề xuất hệ thống K2Q (Keywords to Questions) nhằm hỗ trợ người dùng diễn đạt và tinh chỉnh câu hỏi của mình.
K2Q tạo ra các câu hỏi ứng viên và từ khóa gợi ý tinh chỉnh dựa trên tập hợp từ khóa đầu vào. Sau khi người dùng nhập một số từ khóa ban đầu, hệ thống sẽ cung cấp danh sách các câu hỏi ứng viên cùng danh sách từ khóa tinh chỉnh. Người dùng có thể chọn một câu hỏi phù hợp, hoặc chọn một từ khóa tinh chỉnh để tạo ra danh sách câu hỏi ứng viên và từ khóa tinh chỉnh mới.
Chúng tôi đề xuất mô hình Ý định Truy vấn Người dùng (User Inquiry Intent – UII) để mô tả quá trình tạo đồng thời các từ khóa và câu hỏi. Mô hình này được sử dụng cho việc xếp hạng câu hỏi, đề xuất từ khóa tinh chỉnh, và tạo ra những câu hỏi mới có thể chưa từng xuất hiện trước đó. Các nghiên cứu thực nghiệm cho thấy UII hữu ích và hiệu quả cho tác vụ K2Q.
1. Giới thiệu
Việc tìm kiếm bằng từ khóa từ lâu đã được xem là một nhiệm vụ không tự nhiên, nhưng lại hoạt động rất hiệu quả với các công cụ tìm kiếm. Tuy nhiên, khi người dùng nhập câu hỏi vào các hệ thống hỏi-đáp (Q&A) như Yahoo! Answers hay Quora, mô hình tìm kiếm bằng từ khóa lại không còn phù hợp.
Một câu hỏi phải được diễn đạt rõ ràng bằng ngôn ngữ tự nhiên. Chẳng hạn, cụm từ khóa “New York restaurant” mang nhiều khả năng diễn giải khác nhau. Người dùng có thể muốn tìm các nhà hàng ở New York, hoặc muốn biết về quy tắc tiền tip tại các nhà hàng ở New York, hoặc có thể là một ý định khác trong vô số khả năng khác.
Để một câu hỏi có thể được trả lời, người hỏi cần diễn đạt rõ ý định của mình một cách đủ cụ thể. Một phần nguyên nhân là do chúng ta đã “mất thói quen” viết câu hỏi hoàn chỉnh vì ảnh hưởng từ công cụ tìm kiếm; phần khác là vì việc diễn đạt một câu hỏi đầy đủ trở nên khó khăn khi người hỏi đang trong quá trình tìm hiểu vấn đề.
Do đó, một hệ thống hỏi-đáp nên cung cấp các công cụ hỗ trợ người dùng diễn đạt và làm rõ câu hỏi của họ, giúp họ nhận được câu trả lời tốt hơn.
Trong bài báo này, chúng tôi đề xuất K2Q, một hệ thống chuyển đổi từ khóa thành câu hỏi bằng cách xem xét lịch sử truy vấn và phản hồi của người dùng. Cụ thể hơn, khi được cung cấp một tập hợp từ khóa, K2Q sẽ tạo ra danh sách các câu hỏi được xếp hạng cùng với danh sách các từ tinh chỉnh. Người dùng có thể chọn một câu hỏi phù hợp hoặc chọn một từ tinh chỉnh để hệ thống tạo ra danh sách mới gồm các câu hỏi ứng viên và từ tinh chỉnh. Quá trình này lặp lại cho đến khi người dùng tìm được một câu hỏi phù hợp với ý định truy vấn của mình hoặc dừng lại.
Để xây dựng một hệ thống K2Q hiệu quả, cần nghiên cứu ba khía cạnh chính:
Tạo ra các câu hỏi chưa từng xuất hiện (unseen questions): Người dùng thường đặt câu hỏi vì không thể tìm thấy thông tin mong muốn. Do đó, nhiệm vụ đầu tiên là tạo ra các câu hỏi mới — tức là những câu hỏi mà hệ thống K2Q chưa biết trước. Các câu hỏi phổ biến vốn đã được hỏi nhiều lần có thể dễ dàng tìm thấy bằng công cụ tìm kiếm, nên giá trị của K2Q nằm ở khả năng sinh ra những câu hỏi mới.
Xếp hạng các câu hỏi ứng viên: Việc xếp hạng là một thách thức vì câu hỏi hiếm khi trùng lặp, khác với từ khóa. (Cùng một câu hỏi có thể được diễn đạt theo nhiều cách khác nhau.) Trong 12.880.882 câu hỏi mà chúng tôi thu thập, chỉ có 1,87% xuất hiện nhiều hơn một lần. Do đó, phương pháp xếp hạng đơn giản dựa trên tần suất xuất hiện là không khả thi.
Đề xuất từ tinh chỉnh (refinement words): Cơ chế gợi ý từ tinh chỉnh cần được thiết kế sao cho tối đa hóa lượng thông tin thu được, đồng thời tạo ra các từ tinh chỉnh đa dạng. Một cách trực quan là sử dụng những từ phổ biến nhất trong các câu hỏi ứng viên (sau khi loại bỏ từ chức năng). Tuy nhiên, cách này chỉ xem xét mức độ liên quan giữa từ và câu hỏi, nên có thể sinh ra nhiều từ tinh chỉnh trùng nghĩa hoặc cùng chủ đề phụ.
Ví dụ: khi người dùng nhập từ khóa “cat feed”, nếu chỉ chọn các từ phổ biến nhất, hệ thống có thể gợi ý cả “food” và “eat” — hai từ này đều liên quan đến cùng một chủ đề là “cho mèo ăn”.
Các từ tinh chỉnh đa dạng giúp phản hồi của người dùng hiệu quả hơn, nhờ đó giảm số lần lặp lại trước khi đạt được câu hỏi mong muốn.
Để vượt qua ba thách thức đã nêu ở trên, chúng tôi đề xuất mô hình Ý định Truy vấn Người dùng (User Inquiry Intent – UII), mô tả quá trình sinh đồng thời từ khóa và câu hỏi. Chúng tôi sử dụng mô hình ngôn ngữ thích ứng (adaptive language model) để mô tả cách hình thành câu hỏi, đồng thời áp dụng các mẫu câu hỏi (question templates) được tạo tự động để sinh ra các câu hỏi chưa từng xuất hiện (unseen questions).
Các câu hỏi ứng viên được xếp hạng theo độ trôi chảy ngôn ngữ (fluency) — tức là xác suất mà câu hỏi đó có thể xuất hiện trong hệ thống hỏi-đáp thực tế. Chúng tôi tính entropy dựa trên phân bố ý định của người dùng, và từ đó tạo ra các từ tinh chỉnh. Sau đó, hệ thống đề xuất các từ tinh chỉnh tối đa hóa mức tăng entropy, nhờ vậy người dùng có thể tìm được câu hỏi phù hợp chỉ sau ít vòng lặp hơn.
Kết quả thực nghiệm cho thấy:
- Phương pháp dựa trên mẫu (template-based) giúp mở rộng phạm vi gợi ý.
- So với phương pháp cơ sở (baseline), mô hình UII cải thiện đáng kể việc xếp hạng các câu hỏi được gợi ý.
- Mô hình UII cũng tạo ra các từ tinh chỉnh tốt hơn so với phương pháp cơ sở vốn chỉ dựa trên tần suất xuất hiện của từ.
Các kết quả này cho thấy rằng mô hình UII do chúng tôi đề xuất là hiệu quả.
Những đóng góp chính của bài báo này có thể được tóm tắt như sau:
- Chúng tôi đề xuất hệ thống K2Q, giúp người dùng diễn đạt và tinh chỉnh câu hỏi của mình trở nên cụ thể hơn và thể hiện rõ ý định hơn.
- Để giải quyết các thách thức kỹ thuật trong việc phát triển K2Q, chúng tôi giới thiệu mô hình UII (User Inquiry Intent), mô hình hóa quá trình sinh đồng thời từ khóa và câu hỏi.
- Chúng tôi chứng minh rằng mô hình UII hoạt động hiệu quả trong cả việc tạo mới và tinh chỉnh câu hỏi, thông qua các thí nghiệm dựa trên dữ liệu truy vấn thực tế.
Cấu trúc bài báo như sau:
- Phần 2 trình bày tổng quan ngắn gọn về các nghiên cứu liên quan.
- Phần 3 mô tả chi tiết mô hình UII, bao gồm cách mô hình hóa quá trình sinh đồng thời từ khóa tìm kiếm và câu hỏi ngôn ngữ tự nhiên.
- Phần 4 trình bày các thí nghiệm.
- Phần 5 đưa ra kết luận.
2. Nghiên cứu liên quan
Theo hiểu biết của chúng tôi, hiện chưa có nghiên cứu nào trực tiếp về vấn đề K2Q. Tuy nhiên, gợi ý truy vấn (query suggestion) và đề xuất câu hỏi (question recommendation) là những tác vụ có liên quan gần nhất đã được nghiên cứu trước đây.
Gợi ý truy vấn (Query suggestion) nhằm mục đích đề xuất các từ truy vấn liên quan và tinh chỉnh cho người dùng, và hiện được sử dụng trong hầu hết các công cụ tìm kiếm hiện đại. Nhiều nghiên cứu đã tập trung vào chủ đề này (Ma et al., 2010; Chirita et al., 2007a) cũng như các tác vụ tương tự như mở rộng truy vấn (query expansion) (Chirita et al., 2007b; Cui et al., 2003; Theobald et al., 2005; Xu và Croft, 1996) và tinh chỉnh truy vấn (query refinement) (Kraft và Zien, 2004).
Tuy nhiên, việc áp dụng kỹ thuật gợi ý truy vấn vào bài toán K2Q lại gặp hai vấn đề lớn:
- Gợi ý truy vấn phụ thuộc mạnh vào nhật ký truy vấn (query logs) như phiên nhấp chuột (click sessions). Tuy nhiên, chưa đến 1% truy vấn là câu hỏi, và số truy vấn lặp lại nhiều hơn hai lần còn ít hơn nữa. Sự thưa thớt dữ liệu câu hỏi khiến các thuật toán gợi ý truy vấn truyền thống trở nên kém hiệu quả khi áp dụng vào K2Q.
- Khi đề xuất truy vấn mới, các hệ thống thường dựa vào các thao tác chỉnh sửa ở mức từ khóa như thêm, xóa hoặc thay đổi (Jones et al., 2006). Tuy nhiên, các thao tác này không xét đến ngữ pháp và quá đơn giản để áp dụng cho các câu hoàn chỉnh trong ngôn ngữ tự nhiên.
Đề xuất câu hỏi (Question recommendation) là kỹ thuật gợi ý các câu hỏi có liên quan đến câu hỏi ban đầu (Cao et al., 2008; Wu et al., 2008).
Nếu xem tập từ khóa ban đầu như một câu hỏi, thì thuật toán đề xuất câu hỏi cũng có thể được sử dụng để gợi ý các câu hỏi trong bài toán K2Q. Tuy nhiên, đề xuất câu hỏi chủ yếu tập trung vào việc gợi ý các câu hỏi đã tồn tại, nên không thể giải quyết được thách thức đầu tiên của bài toán K2Q — đó là tạo ra các câu hỏi mới (unseen questions).
Các nhà nghiên cứu đã từng cố gắng giải quyết từng thách thức riêng lẻ mà bài toán K2Q đặt ra.
Về tạo câu hỏi (question generation), Lin (2008) đã đề xuất nhiệm vụ “tự động tạo câu hỏi từ truy vấn” vào năm 2008, nhưng không đưa ra phương pháp kỹ thuật cụ thể. Kotov và Zhai (2010) đề xuất tổ chức kết quả tìm kiếm theo các câu hỏi tương ứng, sử dụng một số mẫu câu hỏi (templates) được tạo thủ công để chuyển đổi các câu thông thường thành câu hỏi. Tuy nhiên, công trình của họ chỉ tạo câu hỏi dựa trên đoạn văn hoặc câu hoàn chỉnh, không dựa trên từ khóa.
Ngoài ra, vì việc xây dựng mẫu câu hỏi đòi hỏi nhiều công sức của con người, nên khó đạt được phạm vi bao phủ cao.
Trong lĩnh vực truy xuất thông tin (Information Retrieval – IR), một số nghiên cứu đã tìm cách tự động sinh các mẫu truy vấn (query templates) (Agarwal et al., 2010; Szpektor et al., 2011). Lấy cảm hứng từ những công trình đó, chúng tôi cũng hướng tới việc tự động tạo các mẫu câu hỏi.
Về xếp hạng câu hỏi (question ranking), Wu et al. (2008) đã tính toán độ tương đồng giữa người dùng và câu hỏi, cũng như độ tương đồng giữa các câu hỏi với nhau bằng cách sử dụng mô hình PLSA (Probabilistic Latent Semantic Analysis). Sau đó, họ xếp hạng các câu hỏi ứng viên bằng cách kết hợp hai điểm tương đồng này. Tuy nhiên, trong bài toán K2Q, việc mô hình hóa người dùng là rất khó, nên thuật toán này không phù hợp với mục tiêu của chúng tôi.
Cao et al. (2008) đề xuất mô hình “MDL-based Tree Cut Model” để xếp hạng các câu hỏi ứng viên. Họ tổ chức các câu hỏi ứng viên trong một cấu trúc cây, và xác định độ tương đồng giữa các câu hỏi dựa trên cả mức độ cụ thể (specificity) và tổng quát (generality). Sau đó, họ xếp hạng câu hỏi bằng cách kết hợp hai yếu tố này. Tuy nhiên, công trình của họ hướng đến gợi ý những câu hỏi thú vị cho người dùng, trong khi K2Q tập trung vào việc đề xuất những câu hỏi phổ biến, giúp dự đoán chính xác hơn.
Sun et al. (2009) xếp hạng câu hỏi dựa trên nhiều đặc trưng riêng của hệ thống hỏi-đáp cộng đồng (CQA – Community Question Answering). Tuy nhiên, vì các câu hỏi ứng viên trong K2Q đến từ nhiều trang CQA khác nhau, và một số câu hỏi còn chưa từng xuất hiện (unseen), nên rất khó áp dụng các đặc trưng này cho K2Q.
Trong bài báo này, chúng tôi xếp hạng câu hỏi dựa trên mức độ phổ biến (popularity), được đo lường bằng cách tích hợp mô hình ngôn ngữ thích ứng (adaptive language model) trong mô hình UII.
Về việc tạo ra các từ tinh chỉnh (refinement words), tác vụ có liên quan nhất là gợi ý truy vấn (query suggestion). Tính đa dạng (diversity) là yếu tố quan trọng trong gợi ý truy vấn, và hầu hết các nghiên cứu liên quan đều khai thác thông tin từ nhật ký truy vấn (query logs) để đa dạng hóa kết quả gợi ý.
Wang et al. (2009) đã trích xuất các chủ đề phụ (subtopics) của một truy vấn bằng cách phân tích các truy vấn được người dùng chỉnh sửa trong phiên tìm kiếm. Ma et al. (2010) đề xuất một phương pháp dựa trên mô hình Markov ngẫu nhiên (Markov random walks) và phân tích thời gian truy cập (hitting time analysis) trên đồ thị hai phía giữa truy vấn và URL (query-URL bipartite graph). Sadikov et al. (2010) phân cụm các truy vấn tinh chỉnh bằng cách thực hiện nhiều bước đi ngẫu nhiên trên đồ thị Markov, mô phỏng hành vi tìm kiếm của người dùng.
Tuy nhiên, trong K2Q, chúng ta không thể thu thập đủ thông tin nhấp chuột (click information) giữa từ khóa và câu hỏi, do tính thưa thớt của dữ liệu trong nhật ký truy vấn. Trong bài báo này, chúng tôi chỉ sử dụng thông tin nhấp chuột để đánh giá (evaluation) phương pháp, chứ không dùng cho huấn luyện (training), vì lượng dữ liệu quá nhỏ.
3. Mô hình Ý định Truy vấn Người dùng (User Inquiry Intent Model)
Khi người dùng nhập một truy vấn (query) hoặc đặt một câu hỏi, họ đang muốn tìm kiếm một thông tin cụ thể. Chúng tôi gọi nhu cầu đó là ý định của người dùng (user intent). Cả truy vấn và câu hỏi đều được sinh ra từ ý định này.
Ví dụ, một người dùng muốn biết các chủ đề nghiên cứu nổi bật trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP).
- Nếu cô ấy dùng công cụ tìm kiếm, cô ấy có thể nhập truy vấn: “hot research topics NLP” dựa trên ý định đó.
- Nếu cô ấy muốn đăng câu hỏi lên cộng đồng hỏi-đáp, cô ấy có thể chọn cách diễn đạt khác nhau để thể hiện ý định, chẳng hạn:
- “What are hot research topics in [subject areas]?”
- “Which research topics are hot in [subject areas]?”
Các cách diễn đạt khác nhau này tạo ra các câu hỏi khác nhau. Trong ví dụ này, ta có hai câu hỏi cuối cùng tương ứng là:
- “What are hot research topics in NLP?”
- “Which research topics are hot in NLP?”
Phần có thể thay thế (như [subject areas]) được xem như ô trống (slot) dành cho từ cụ thể. Nói chung, một slot có thể được hiểu là một từ hoặc một cụm từ có ý nghĩa tương tự (word cluster).
Ví dụ: Beijing và Paris thuộc cùng một cụm từ (cluster) vì cả hai đều có thể dùng trong ngữ cảnh “in [cities]”.
Các cụm từ này được tạo ra bằng thuật toán k-means, như được trình bày trong nghiên cứu của Lin và Wu (2009).
Từ đó, chúng tôi đề xuất mô hình Ý định Truy vấn Người dùng (User Inquiry Intent – UII) để mô tả quá trình sinh ra các truy vấn và câu hỏi từ ý định của người dùng.
Hình 1: Biểu diễn theo dạng plate representation của mô hình UII (theo phong cách Mô hình đồ thị xác suất – Probabilistic Graphical Models).

Trong mô hình này:
- 𝑡 là chỉ số (index) của … (phần tiếp theo trong bài mô tả chi tiết các biến và tham số trong mô hình UII).
Biểu diễn dạng “plate representation” của mô hình UII được minh họa trong Hình 1. Trong mô hình này:
- 𝑡 là chỉ số của các ý định người dùng (user intents), có giá trị từ 1 đến 𝐾 (với 𝐾 là số lượng các ý định khác nhau của người dùng).
Mỗi ý định người dùng không chỉ tương ứng với một phân phối xác suất trên toàn bộ các từ (word distribution), mà còn tương ứng với một phân phối trên các vị trí thay thế (slots) – ký hiệu là 𝑠. - 𝑤 và 𝑞 đều là chỉ số của các từ (word indices), với giá trị từ 1 đến 𝑊 (trong đó 𝑊 là tổng số từ khác nhau).
Trong Hình 1, nhóm 𝑤 bên trái đại diện cho câu hỏi (question) có khả năng diễn đạt ý định người dùng 𝑡,
còn nhóm 𝑞 bên phải biểu thị truy vấn (query) cũng thể hiện cùng ý định 𝑡 đó. - 𝑠 là chỉ số của các vị trí thay thế (slot indices), với giá trị từ 1 đến 𝑊 + 𝐿.
Ngoài 𝑊 slot được dành cho các từ cụ thể (exact words), còn có thêm 𝐿 slot bổ sung dành cho 𝐿 cụm từ (word clusters). - ⃗𝛼 (alpha vector) là tham số tiên nghiệm (prior parameter) của phân phối ý định người dùng (distribution of user intents).
⃗𝛼 là một vector có độ dài 𝐾, thỏa mãn điều kiện:

- 𝛽 (beta matrix) là tham số tiên nghiệm của phân phối từ (word distribution) tương ứng với mỗi ý định người dùng 𝑡.
𝛽 là ma trận kích thước 𝐾 × 𝑊, thỏa mãn điều kiện:

Các tham số trong mô hình UII (User Inquiry Intent Model) được định nghĩa chi tiết như sau:
- 𝜑 (phi) là tham số tiên nghiệm (prior parameter) của chuyển tiếp giữa các vị trí (slot transition).
𝜑 là một ma trận, trong đó ℎ biểu thị các vị trí (slots) đứng trước vị trí hiện tại 𝑠.
Do số lượng khả năng của ℎ là rất lớn, trên thực tế, ta chỉ giữ lại các N-gram xuất hiện thường xuyên nhất làm giá trị khả dĩ của ℎ. Kích thước của ma trận 𝜑 là 𝐻 × (𝑊 + 𝐿), trong đó 𝐻 là số lượng các N-gram phổ biến.
Mỗi hàng của 𝜑 là một phân phối xác suất và thỏa điều kiện:

- 𝛾 (gamma) là tham số tiên nghiệm của phân phối từ (word distribution) trên mỗi vị trí (slot).
𝛾 là ma trận kích thước (𝑊 + 𝐿) × 𝑊, thỏa điều kiện:

- 𝜓 (psi) là tham số tiên nghiệm của phân phối slot (slot distribution) trên mỗi ý định người dùng (user intent) 𝑡.
𝜓 là ma trận kích thước 𝐾 × (𝑊 + 𝐿), thỏa điều kiện:

- 𝜃 (theta) là ma trận kích thước (𝑊 + 𝐿) × 𝑊, trong đó mỗi hàng của 𝜃 biểu diễn phân phối xác suất của các từ (word distribution) trên một slot nhất định, dưới một ý định người dùng cụ thể.
- 𝜆 (lambda) và 𝜇 (mu) là hai trọng số pha trộn (mixture weights) giữa các phân phối tiên nghiệm.
Dưới một ý định người dùng 𝑡, với mọi hàng 𝑖, vector ⃗𝜃𝑖 tuân theo phân phối Dirichlet, có tham số:

- Dưới cùng ý định người dùng 𝑡, xác suất chuyển tiếp giữa các slot ( p(s \mid h, t) ) được tính theo Phương trình (1), dựa trên mô hình ngôn ngữ thích ứng (adaptive language model) của Kneser et al. (1997):

Các công thức trên mô tả mối quan hệ xác suất giữa ý định người dùng, slot, và từ, cho phép mô hình UII tạo ra các truy vấn (queries) và câu hỏi (questions) theo cấu trúc ngôn ngữ tự nhiên, có tính thích ứng với ngữ cảnh và ý định thực tế của người dùng.
Chúng tôi gọi quy trình sinh (generative process) này là Thuật toán 1 (Algorithm 1).
Quy trình này được minh họa bằng cùng ví dụ đã nêu ở phần đầu của mục này.
Ý định người dùng (user intent) có xác suất cao đối với các từ: hot, research, topic, NLP — do đó sinh ra tập hợp từ truy vấn (query words) là:
hot research topic NLP
Giả sử rằng xác suất xuất hiện của một vị trí (slot) được xác định bởi hai slot liền trước, thì bằng cách xem xét cả phân phối slot trên ý định người dùng và xác suất chuyển tiếp giữa các slot (slot transition probability), ý định người dùng sẽ sinh ra chuỗi slot theo trình tự sau:
- What từ slot START
- are từ slot START → What
- hot từ slot What → are
- research từ slot are → hot
- topics từ slot hot → research
- in từ slot research → topics
- [subject areas] từ slot topics → in
- Cuối cùng là slot END từ slot in → [subject areas]
Dưới ý định người dùng (user intent) này, hệ thống sẽ sinh ra các từ của câu hỏi (question words) tương ứng với chuỗi slot:
What are hot research topics in [subject areas]
Sau đó, khi thay thế slot [subject areas] bằng từ cụ thể NLP, hệ thống hình thành chuỗi từ hoàn chỉnh của câu hỏi:
“What are hot research topics in NLP?”
Thuật toán 1: Thuật toán cho mô hình UII (User Inquiry Intent Model)

3.1. Suy luận (Inference)
Với các tham số tiên nghiệm (prior parameters) — để thuận tiện, ta ký hiệu tất cả các tham số tiên nghiệm là 𝜋, và tất cả các biến còn lại là 𝑦 — phân phối kết hợp (joint distribution) được tính như sau:

Để tính xác suất biên (marginal probability) ( p(t, \vec{q}, \vec{s}, \vec{w} | \pi) ), ta tích phân loại bỏ biến ẩn θ (integrate out θ):

Vế phải của phương trình được chia thành bốn phần:

Trong đó:
- 𝑛 = {𝑛(𝑖)} = {{𝑛(𝑖,𝑗)}} là ma trận đếm (count matrix),
- 𝑛(𝑖,𝑗) là số lần slot 𝑖 sinh ra từ 𝑗 trong câu hỏi,
- Γ(x) là hàm gamma (gamma function), dùng để tổng quát hóa giai thừa trong xác suất liên tục.
Nói cách khác, phần này mô tả quy trình suy luận xác suất (probabilistic inference) trong mô hình UII, bằng cách tích phân hóa các biến ẩn θ để thu được phân phối xác suất đầy đủ giữa ý định người dùng, truy vấn, slot và các từ câu hỏi.
3.2. Ước lượng tham số (Parameter Estimation)
Do độ phức tạp của mô hình UII là đáng kể, trong nghiên cứu này chúng tôi chọn ước lượng các thành phần riêng biệt, thay vì tối ưu hóa đồng thời toàn bộ mô hình (global joint optimization).
Hai tham số 𝜆 và 𝜇 là trọng số pha trộn (weight parameters) để kết hợp các phân phối khác nhau — chúng tôi thiết lập theo kinh nghiệm (empirically set).
Các tham số tiên nghiệm còn lại được ước lượng dựa trên tập câu hỏi đã biết (known questions).
Ước lượng tham số 𝛾
𝛾 là phân phối tiên nghiệm của từ (prior word distribution) trên mỗi slot.
Có hai loại slot:
- Một loại được điền bằng một từ duy nhất,
- Loại còn lại có thể được điền bằng bất kỳ từ nào thuộc cùng cụm từ (word cluster).
Do đó, 𝛾 được ước lượng như sau:

Ở đây, p(i∣cluster(s−W))p(i \mid \text{cluster}(s – W))p(i∣cluster(s−W)) là xác suất của từ thứ i trong cụm từ thứ (s−W).
Ước lượng tham số 𝜑
Lịch sử ℎ được đặt là 𝑙 slot liền trước, cho phép chuỗi slot tạo thành chuỗi Markov bậc 𝑙 (l-order Markov chain).
Tham số 𝜑 được tính toán thống kê từ các câu hỏi đã biết (known questions).
Ước lượng các tham số ⃗𝛼, 𝛽 và 𝜓
Để ước lượng ba tham số này, các câu hỏi đã biết được phân cụm (clustered) sao cho các câu hỏi trong cùng một cụm chứa cùng một tập từ (bag of words), loại bỏ stopwords.
Giả sử ta thu được 𝐾 cụm câu hỏi (question clusters), trong đó mỗi cụm 𝑡 chứa 𝑚𝑡 câu hỏi, ta ước lượng:

Theo thống kê phân phối từ (word distributions) trong từng cụm, ta ước lượng:

3.3. Tạo câu hỏi (Question Generation)
Để giảm độ phức tạp tính toán của mô hình, chúng tôi không tạo ra toàn bộ các câu hỏi khả dĩ mà mô hình UII có thể sinh ra.
Thay vào đó, chúng tôi sử dụng phương pháp dựa trên mẫu (template-based method) để tạo các câu hỏi ứng viên (candidate questions), sau đó mô hình UII sẽ xếp hạng chúng.
Tạo mẫu câu hỏi (Question Templates Generation)
Để tạo các câu hỏi chưa từng xuất hiện (unseen questions), chúng tôi sinh ra các mẫu câu hỏi (question templates) từ các câu hỏi đã biết (known questions).
Một mẫu câu hỏi là một chuỗi các slot, trong đó mỗi slot là một từ hoặc một cụm từ (word cluster).
Nếu trong mẫu có k slot thuộc cụm từ, ta gọi đó là mẫu có k biến (k-variable template).
Quy trình tạo mẫu câu hỏi:
- Bắt đầu với tập các mẫu 0-biến (0-variable templates) — tức là các câu hỏi hoàn chỉnh từ dữ liệu đã biết.
- Thay thế một từ trong mẫu 0-biến bằng cụm từ tương ứng, ta thu được mẫu 1-biến (1-variable template).
- Gộp các mẫu 1-biến trùng nhau để tạo tập hợp mẫu 1-biến duy nhất, kèm theo số lượng hỗ trợ (support number) — tức là số mẫu 0-biến được dùng để tạo ra mẫu 1-biến đó.
- Tăng ngưỡng hỗ trợ tối thiểu (η) để loại bỏ những mẫu chất lượng thấp, chỉ giữ lại các mẫu có độ tin cậy cao.
Tạo câu hỏi từ từ khóa ban đầu (Question Generation from Initial Keywords)
Bước 1 – Tìm kiếm câu hỏi đã biết:
Chúng tôi tìm các câu hỏi trong tập dữ liệu đã biết có chứa tất cả các từ khóa ban đầu, và sử dụng chúng làm ứng viên gợi ý (tối đa 1.000 câu hỏi).
- Với từ khóa phổ biến (ví dụ: New York steakhouse), thường có đủ số lượng câu hỏi đã biết để bao quát toàn bộ ý định tìm kiếm của người dùng.
- Tuy nhiên, với từ khóa hiếm (ví dụ: Tangshan steakhouse), việc tìm trong dữ liệu đã biết có thể chỉ trả về rất ít hoặc không có kết quả.
Bước 2 – Sinh câu hỏi mới bằng mẫu (unseen questions):
- Thay thế một từ khóa ban đầu bằng cụm từ tương ứng của nó (cluster).
- Sau đó tìm các mẫu câu hỏi 1-biến (1-variable templates) có chứa cả cụm từ và các từ khóa còn lại (tối đa 20 mẫu).
- Cuối cùng, thay cụm từ trong slot bằng từ khóa ban đầu, để tạo ra câu hỏi mới hoàn chỉnh.
Cả hai loại câu hỏi — đã biết và sinh mới — đều được thêm vào tập hợp cuối cùng của các câu hỏi ứng viên (final candidate question set).
3.4. Xếp hạng câu hỏi (Question Ranking)
Sau khi đã có tập hợp các câu hỏi ứng viên (candidate question set), chúng tôi sử dụng mô hình UII để xếp hạng các ứng viên dựa trên xác suất

tức là xác suất mà câu hỏi được sinh ra dựa trên các từ khóa đầu vào.
Xác suất này được tính theo công thức:

Chúng ta có thể thực hiện phép tính chính xác (tức là dùng Dynamic Programming) để tính tổng trên tất cả các s có thể có. Tuy nhiên, vì mỗi gợi ý cần được hoàn thành trong thời gian ngắn, nên độ phức tạp của việc tính toán chính xác là không thể chấp nhận được.
Hãy nhớ lại quy trình mà chúng ta tạo ra các câu hỏi ứng viên: chúng ta chỉ xem xét tất cả mẫu câu hỏi thu được như các hoán vị slot có thể có. Do đó, chúng ta chỉ cần cộng tất cả các s này lại để tính xác suất, giúp quá trình có thể hoàn thành theo thời gian thực (real-time).

