簡體   English   中英

預測短語而不僅僅是下一個單詞

[英]Predicting phrases instead of just next word

對於我們構建的應用程序,我們使用簡單的單詞預測統計模型(如Google自動填充 )來指導搜索。

它使用從大量相關文本文檔中收集的一系列ngrams。 通過考慮先前的N-1個單詞,它使用Katz退避建議按概率降序排列的5個最可能的“下一個單詞”。

我們希望將其擴展為預測短語(多個單詞)而不是單個單詞。 但是,當我們預測短語時,我們寧願不顯示其前綴。

例如,考慮the cat的輸入。

在這種情況下,我們想做出像the cat in the hat一樣the cat in the hat預測,但不是the cat in而不是the cat in the cat in the

在此輸入圖像描述

假設:

  • 我們無法訪問過去的搜索統計信息

  • 我們沒有標記的文本數據(例如,我們不知道詞性)

制作這類多字預測的典型方法是什么? 我們嘗試過較長短語的乘法和加法加權,但我們的權重是任意的,適合我們的測試。

對於這個問題,您需要定義您認為有效完成的內容 - 然后應該可以提出解決方案。

在你給出的例子中,“帽子里的貓”比“貓中的貓”要好得多。 我可以將其解釋為“它應該以名詞結尾”或“它不應該以過於常見的詞結尾”。

  1. 您已經限制了“標記文本數據”的使用,但您可以使用預訓練模型(例如NLTK,spacy,StanfordNLP)來猜測詞性,並嘗試將預測限制為僅完成名詞短語(或序列)以名詞結尾)。 請注意,您不一定需要標記所有輸入模型的文檔,而只需標記您在自動完成數據庫中保留的那些短語。

  2. 或者,您可以避免以停用詞(或非常高頻率的詞)結尾的完成。 “in”和“the”都是幾乎所有英文文檔中出現的單詞,因此您可以通過實驗找到有助於過濾的頻率截止(不能以超過50%的文檔中出現的單詞結尾)。 你也可以看一下短語 - 如果短語的結尾作為一個較短的短語顯然更常見,那么標記它就沒有意義,因為用戶可以自己提出它。

  3. 最終,你可以創建一組標簽好的和壞的實例,並嘗試創建一個基於單詞特征的監督重新排名 - 上述兩個想法都可能是監督模型中的強大功能(文檔頻率= 2,pos標簽= 1) 。 這通常是帶有數據的搜索引擎可以做到的。 請注意,您不需要搜索統計信息或用戶,只需要為幾百個查詢標記前5個完成項。 建立正式評估(可以以自動方式運行)可能有助於在將來嘗試改進系統時。 任何時候你觀察到一個糟糕的完成,你可以將它添加到數據庫並做一些標簽 - 隨着時間的推移,監督的方法會變得更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM