A viewer asks for a toilet recommendation, then sends just two words: “smart toilet.” In isolation, that looks like a request for a product presentation. In context, it is still a shopping question.

Fragments like this are common in livestreams. The system needs the viewer’s history, the product currently on screen, and the live product list—not just the latest message.

Text and spoken replies

Replies appear as chat text or pass through TTS and lip synchronization for the avatar to speak. The questions are similar, but cost, waiting time, and wording differ. Speech runs mainly in the flagship version, which has more resources; other versions rely more on text. Both modes first need to identify the viewer’s question and retrieve supporting product information before generating a reply.

Comment processing

Figure 1
The interaction workflow: intent and entities determine retrieval before response generation.
The interaction workflow: intent and entities determine retrieval before response generation.

The interaction pipeline includes the following components:

  • Preset FAQ matching: retrieve merchant-configured FAQ pairs using the viewer comment. A match bypasses intent recognition; the configured intent and answer are used directly. Embeddings provide initial retrieval and a reranker filters candidates.

  • Intent recognition: if there is no FAQ match, identify the actual intent using the comment, conversation history, and livestream state. Different intents lead to different downstream logic.

  • Entity parsing: extract product names, attributes, and item-link numbers from the history and recognized intent.

  • Retrieval:

  • For item-link product questions or presentation requests, retrieve product information by link number.

  • For questions without an explicit product subject, use the product currently being presented.

  • For general product questions or presentation requests, use the current comment as a query to retrieve the best-matching product from the vector store.

  • Generation: place retrieved information, the comment, and dialogue history into task-specific prompts for the LLM. Templates cover casual chat, product questions, and promotion questions.

  • Presentation reordering: a product-presentation request changes the presentation order and receives a fixed response rather than an LLM-generated answer.

Multi-turn intent recognition

Conversation context

We began working on multi-turn interaction in December 2024. Viewers often omit the subject or continue a question with a few words, so each reply needs earlier context. The redesign also had to use the single-turn data we had already collected.

  • Design a suitable multi-turn dialogue architecture and accumulate data to support the desired interaction quality.
  • Improve the existing intent model while reusing the substantial single-turn classification dataset and supporting new capabilities.

Intent recognition now receives live-room products, history, and the current comment. An LLM replaces BERT and outputs the label directly. Accuracy on this dataset reached 80%, compared with 71% for DeepSeek-R1 and 69% for BERT trained on the same mixed data. These results reflect the contribution of business labels and context to the boundaries in this task.

Multi-turn interaction architecture

Figure 2
Context flow across turns.
Context flow across turns.
  • Before each turn, the information in the green boxes is passed to the intent model.
  • The recognized intent determines retrieval behavior and system instructions.
  • After retrieving intent-specific information, the content in the dashed box becomes the generation LLM’s input for the next host response.

Intent categories

Figure 3
Business intents and their downstream routes.
Business intents and their downstream routes.

The intent taxonomy changed twice:

  • July 2024: added product recommendations and livestream promotion questions.
  • January 2025: merged product recommendations and product searches into product questions.

Conversation examples

Viewer commentDialogue historyRecognized intentAvatar response
Smart toiletUser: Can you recommend a toilet? Assistant: Look at link 17. This smart toilet supports power-outage flushing, automatic seat and water temperature control, and foot-sensor flushing. It suits small homes and offers good value.Product questionThe Jomoo smart toilet at link 17 supports power-outage flushing, automatic water-temperature adjustment, and foot-sensor flushing. The post-coupon price is 2199.
Which one connects through Bluetooth?User: Does the lapel microphone need Bluetooth? Assistant: This lapel microphone connects through Bluetooth and is convenient to use.Product questionLook at the Jinyun wireless Bluetooth headphones at link 6 or the in-ear model at link 11. Both use Bluetooth.
OkayUser: How do I enter the draw? Assistant: Please ask customer service about the detailed draw rules.Casual chatOkay, good luck with the draw!

LLM-based intent recognition

Figure 4
Moving from single-turn classification to an LLM with live-room context.
Moving from single-turn classification to an LLM with live-room context.
  • The single-turn model uses the current comment for BERT sequence classification and outputs an intent label_id.
  • The multi-turn model uses the current product, dialogue history, and comment as input to an LLM and directly generates the intent label.

Building the training data

  1. Run the single-turn model and DeepSeek-V3 on approximately 20k cleaned examples. Keep only disagreements; the existing single-turn data can cover examples where they agree.
  2. Manually remove unsuitable comments, including traffic from conversations with real hosts mistakenly collected during avatar streams and repetitive spam.
  3. Send the remaining examples to annotators.
  4. Algorithm engineers review annotations individually and remove examples humans cannot reliably interpret. The final dataset contains over 3000 multi-turn intent examples.

Evaluation and edge cases

MethodDescriptionAccuracy
DeepSeek-V3Prompt engineering0.66
DeepSeek-R1Prompt engineering0.71
Qwen2.5 7B, multi-turn SFT3000 multi-turn examples, direct answers without CoT0.77
Qwen2.5 7B, multi-turn + single-turn SFT3000 multi-turn + 16000 single-turn examples, direct answers without CoT0.80
BERT, multi-turn + single-turn fine-tuningSame 3000 + 16000 examples as Qwen0.69
  • Multi-turn labeling is much harder: determining the true intent may take 30–60 seconds per example.
  • The current product, viewer-specific dialogue history, and current comment provide sufficient information to identify intent.
  • Multi-turn labels can be ambiguous. A question may identify a product through a link ID or keywords, and an item from the history may now be the current presentation. Several routes can retrieve sufficient evidence, so a routing error need not produce an answer error. We evaluate intent and final replies separately.

Context-dependent cases

CommentCurrent productDialogue historySingle-turn intentMulti-turn intentExplanation
Smart toilet—User: Can you recommend a toilet? Assistant: Consider link 17, a smart toilet with power-outage flushing, automatic temperature control, and foot-sensor flushing, suitable for a small home.Product presentationProduct questionIn isolation the product name looks like a presentation request; context shows that the user wants a recommendation.
Drying hair—User: Which one is suitable for drying hair? Assistant: Consider link 2, a cotton hair towel with good absorbency and several designs.RefusalProduct questionThe fragment is unclear alone; history identifies a requested product for drying hair.
Host, does this tracker need charging?In-car GPS anti-loss/anti-theft tracker with recordingUser: Does it need charging? Assistant: I am not sure; please ask customer service.Product questionQuestion without an explicit product subjectThe comment alone could trigger product search, while the current presentation makes the intended product clear.

Comparison with DeepSeek-R1

  • DeepSeek-R1 makes intent errors on broadly distributed, long-tail boundary cases that prompt tuning alone cannot resolve.
  • Data-driven SFT handles these cases and can improve further with more annotated production examples.

Effect of CoT on classification

R1 generated reasoning traces conditioned on known intent labels, which we then used for fine-tuning. This tested whether the extra supervision improved classification reliability.

MethodDescriptionAccuracy
Qwen2.5 7B, multi-turn SFT3000 examples, direct label without CoT0.77
Qwen2.5 7B, multi-turn CoT SFT3000 examples with CoT, reasoning before the label0.68
  • Generated CoT diluted supervision on the true labels, performing worse than directly predicting the labels.
  • R1 annotation can work well in an open label space, but generating reasoning for examples with existing ground-truth labels did not meet expectations here.

Entity resolution

The multi-turn product-entity parser extracts product names, attributes, and link numbers from dialogue history and recognized intent.

The core challenges include history dependence, numerical interference, and generalization from specific products to broader categories.

  • Input: current comment, dialogue history, and multi-turn intent.

  • Output: three types of structured entities:

  • Product entities, such as Telunsu pure milk.

  • Product attributes, such as 2 HP, size 39, or iPhone15.

  • Item-link numbers, such as 107 or 39.

Figure 5
Entity-parser inputs and structured outputs.
Entity-parser inputs and structured outputs.

Training data

Entity parsing uses the product questions, presentation requests, and link-ID variants from the intent data. DeepSeek-R1 performed best in this comparison, so we used its parses and manually filtered them, leaving 2100 examples. The review checks whether products mentioned earlier are still relevant to the current question.

Data componentDescription
Base examplesRetain product questions (840), presentation requests (210), and link-number examples (770).
AugmentationAdd 1000 adversarial examples covering pronunciation, spelling, dialect, and other interference.
Quality assuranceMulti-stage DeepSeek-R1 generation followed by human verification.

Data augmentation

Numerical ambiguity

Numbers elsewhere in the conversation can be mistaken for item links. We improve sensitivity to their roles using three kinds of interference:

InterferenceExampleError
Power rating2-HP air conditioner → extract 2Confusing a specification with a link number
Size or dimensionsSize-39 trainers → extract 39Failing to distinguish an attribute from a link identifier
Product generationiPhone15 → extract 15Mistaking digits in a product name for a link

We use two-stage DeepSeek-R1 generation: first generate the interference type, then generate a dialogue exhibiting it. This improves diversity.

Figure 6
Numerical-ambiguity examples separate product specifications from link IDs.
Numerical-ambiguity examples separate product specifications from link IDs.

Product generalization

When history names a specific product, the model may extract it even when the current request is generic. For example:

User: Which milk has a promotion? → Incorrect extraction: Telunsu pure milk.

We generate three kinds of generalization:

GeneralizationSpecific productBroader category
ProductZespri kiwifruitFruit
BrandTelunsu pure milkMilk
SpecificationNongfu Spring 5LLarge bottled water

We manually annotate an initial product set, expand the pool with DeepSeek-R1, and generate dialogues using product categories.

Figure 7
Generalization examples cover brands, categories, and specifications.
Generalization examples cover brands, categories, and specifications.

Historical noise

A clearly named historical product can override the item in the current comment. We built adversarial product pairs around the naming noise below, then generated conversations to test whether the parser could resist that pull.

IssueGeneration strategyExample
AbbreviationInitial letters plus digitsi12 → iPhone12
MisspellingAdjacent-key substitution or omitted lettersiQO10 → iQOO10
Series confusionMix product generationsXiaomi13 → Xiaomi14
Dialect/homophoneVary the pronunciation or pinyinAiku11 → iQOO11

DeepSeek-R1 first generates product pairs exhibiting these issues, then generates corresponding dialogues.

Figure 8
Constructing examples with historical noise and perturbed product names.
Constructing examples with historical noise and perturbed product names.

Evaluation and error analysis

Training: LoRA fine-tuning of a 7B base model.

Evaluation: compute Jaccard similarity between the predicted and true product strings’ character 2-gram sets. A similarity of at least 0.7 counts as correct; report accuracy.

Figure 9
Entity parsing is evaluated using string 2-gram Jaccard similarity.
Entity parsing is evaluated using string 2-gram Jaccard similarity.
  • Jaccard 2-gram notation denotes the set of 2-grams of string S.
modelacc
gpt4-fewshot-cot0.77
deepseek-r10.87
ours0.92
Current commentDialogue historyMulti-turn intentParsed product
The warm versionViewer: Shoes. Host: You can inspect link 154’s product page; I will present it later, after finishing link 107.Product questionWarm shoes
Don’t they look similar?Viewer: Is 12 or 13 better value? Host: iQOO 12 costs 3999 before coupons and 3118.3 after; iQOO 13 costs 3999 before coupons and 3928.3 after. iQOO 12 is better value. Viewer: Which performs better? Host: iQOO 13 has Snapdragon 8 Elite, versus the third-generation Snapdragon 8 in iQOO 12. Viewer: Which takes better pictures? Host: Look at link 39, with 50MP main, 16MP front, and 50MP ultrawide cameras.Product questioniQOO 12, iQOO 13
What differs between links one and seven?Viewer: Can 7 record audio? Host: The high-end tracker at link 7 can; ask customer service for details. Viewer: Does link seven need Wi-Fi? Host: A Wi-Fi version is available; customer service can explain setup.Link-number product question1, 7
DifferenceViewer: Promotions for links 30 and 27. Host: Before ordering, open the product list at the bottom right and claim the shop coupon after entering the product page.Link-number product question30, 27

Product retrieval

Figure 10
Live catalog synchronization, semantic retrieval, and lexical ranking.
Live catalog synchronization, semantic retrieval, and lexical ranking.
  • Before searching, synchronize with the live product list. Compute BERT context embeddings, add missing vectors, and remove vectors for products no longer available. Each vector corresponds to an itemId.
  • After catalog synchronization, BERT retrieves semantic candidates and BM25 adds a lexical check against product text and the comment. We combine both signals in the final filter. This helps short queries, where a category word or specification can matter more than overall embedding similarity.
  • Lexical reranking improves retrieval for short queries.

Response generation

Response strategies

  • Casual chat: respond using the conversation history and current comment.
Dialogue historyCurrent commentHost response
User: Ordered. Assistant: Great, thanks for your support! User: What if I forgot to enter my phone number? Assistant: Contact customer service; they can help you check.I contacted customer service.Okay, they will help you as soon as possible. Don’t worry.
  • Product questions: answer from product information, including recommendations and searches.
Viewer commentHost responseRetrieved products, with unrelated details omitted
Do you have a 3-HP wall-mounted air conditioner?The Gree air conditioner at link 209 is a 3-HP wall-mounted model. Its post-coupon price is 6399.Link 208: Gree inverter heating/cooling, 2-HP wall unit, Qingxuanfeng. Link 209: Gree inverter heating/cooling, 3-HP wall unit, Qingxuanfeng. Link 288: Gree first-level-efficiency inverter heating/cooling, small 2-HP wall unit, Fengjiyuan.
  • Livestream promotion questions:

  • When the merchant configures promotions, answer questions, searches, and recommendations using that information.

  • If no promotion is configured or the information cannot answer the question, use general guidance about coupons, red packets, and government subsidies.

Viewer commentHost responsePromotion information
How can I get the best price?Before ordering, open the product list at the bottom right and claim the fan red packet after entering the product page.Type: pre-purchase coupon; name: fan red packet; no minimum spend; discount: 4.0 yuan; fans only; claim by entering the product page.
Are government subsidies still available?Check the product list for a government-subsidy label and open the product to claim it. Policies vary by region.—

Response-model training data

Figure 11
Context differences between single-turn and multi-turn interaction.
Context differences between single-turn and multi-turn interaction.
IntentData typeExamples
Casual chatSingle-turn1509
Casual chatMulti-turn181
PromotionsConfigured promotion278
PromotionsNo configured promotion121
Product questionsSingle product, answerable1678
Product questionsSingle product, refusal1249
Product questionsMultiple products, multi-turn400
Product questionsMultiple products, single-turn399
Product recommendationsInitial recommendation dataset400
Product recommendationsMultiple products, single-turn400
Product recommendationsMultiple products, multi-turn249
Product searchesMultiple products, single-turn400
Product searchesMultiple products, multi-turn354
Questions without an explicit subjectSingle-turn400
Questions without an explicit subjectMulti-turn398
TotalAll data8416

Text and speech phrasing

Viewer commentText responseSpoken/TTS response
Any deals on smart toilets?Link 17 was 9999 and is now 2199 after coupons. Links 45 and 31 are 2799 and 2599. These are strong offers.I see a viewer asking about smart-toilet deals. Link seventeen was nine thousand nine hundred and ninety-nine; now it is two thousand one hundred and ninety-nine after coupons. Link forty-five is two thousand seven hundred and ninety-nine, and link thirty-one is two thousand five hundred and ninety-nine. The offer may end, so take a look. Now I will continue the presentation.
  • Text: answer directly, without normalizing numbers or English, and limit the response to 60 Chinese characters to fit the comment box.

  • TTS: briefly restate the viewer’s question so they know the host is responding to them, normalize numbers and English for speech synthesis, and apply no character limit.

  • Implementation:

  • Text: use an LLM to remove the question-restatement portion from original examples.

  • TTS: normalize the original data for speech.

  • Distinguish the two data variants through system instructions.

A problem introduced by the two modes:

The same underlying example may be seen twice during training, increasing the risk of overfitting.

Our solution:

  • Split conversations before generating text and TTS variants, so rewrites of one example cannot enter both training and validation. We saw accuracy exceed 95% with this leakage, compared with roughly 70–80% at convergence for this task. An unexpectedly high score therefore calls for checking the split before attributing it to the model.
  • Adjust the learning rate from the learning curves and select the checkpoint with the lowest validation loss.

Deployment checks

Errors often occur between modules. Correct intent can lead to a wrong entity, and the right entity can retrieve an unavailable item. We combine component evaluation with full-request replay to trace each reply to its product and evidence.

Keep a conversation’s paraphrases, numerical perturbations, and noisy-history variants on the same side of the split. When validation is unexpectedly strong, review construction and splitting before tuning the model. Leakage can otherwise distort the baseline and every comparison against it.

The reported intent and entity accuracies describe these business datasets and scoring rules. They are not universal model rankings. Continually labeling real boundary cases remains a practical way to improve a deployed classifier.