簡體   English   中英

訓練 fasttext model 時,我應該在文本中留下句點嗎?

[英]Should I leave periods in text when training fasttext model?

我有一個數據集:

   text
Market regularisation. Researching the marketplace and recommending the most appropriate products
Advising clients on investments, taxes, estate planning. Meeting with clients to establish their needs
...

我想使用 fasttext 在每一行中嵌入文本。 在此之前,我進行了一些預處理(詞形還原、降低……),然后將每行中的句子與空格連接在一起。 但是,如果我在每行的句子之間留句點,我不確定 model 是否會訓練得更好?

像這樣的問題最好通過兩種方式來回答,看看哪一種在你的評估中得分更高。

答案可能會有所不同,具體取決於您的數據、您希望 model 有用地反映的內容,以及您沒有詳細描述的特定標點符號處理選擇的確切細節。

許多已發表的詞向量工作並沒有對標點符號做太多,只是確保它不會作為真正的詞標記附加的廢話,這是我期望產生最大積極影響的步驟。

通常,標點符號保留為偽詞,在訓練期間它們會接收自己的向量。 但其他時候,它被完全剝離,因此訓練文本只是真實的單詞。

無論哪種方式,我都沒有注意到強烈的共識實踐,這就是為什么如果這兩種方式的好處都很小,並且取決於項目,我也不會感到驚訝。

另外:如果你有大量的訓練數據,詞形還原通常是多余的,甚至是一個壞主意。 當你有大量的訓練數據時,相關詞的每個變體都可以獲得很好的,甚至是非常有用的向量,而不會增加將相關詞合並成共享標記的復雜性。

像 word2vec 和 FastText 這樣的算法本質上需要大量的訓練數據,所以如果你的數據很薄,詞形還原很有幫助,你可能已經為更大的問題做好了准備。 (與更棘手的預處理(如詞形還原)相比,獲取更多數據通常是更好的目標。)

而且,FastText 專門嘗試從單詞子字符串中學習,這使其在理解單詞的變體形式,甚至是已知單詞的不可見變體方面有優勢:僅通過幾個字符或拼寫錯誤有所不同。

但是子詞學習依賴於類似書寫詞的許多變體,這些變體提供了子詞意義模式以供觀察。 因此,詞形還原對於 FastText 來說尤其成問題,隱藏了 FastText可以從中學習的詞形變化。

我建議默認情況下不使用詞形還原,然后只有在您運行的測試表明它有助於您的最終結果時才將其添加回來。

暫無
暫無

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

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