簡體   English   中英

Facebook fasttext bin model 預處理

[英]Facebook fasttext bin model preprocessing

我已經下載了一個.bin FastText model,加載如下:

ft = fasttext.load_model('/content/drive/MyDrive/dataset/cc.en.300.bin')

如何在 cc.en.300.bin model 上進行預處理和規范化。 我想進行詞形還原,刪除停用詞和其他操作

考慮到通常如何使用FastText模型,您的問題在幾個層面上並沒有真正意義:

  • 預訓練的 FastText model ,如cc.en.300.bin ,其中不再有任何原始文本,通常是預處理/規范化的輸入。 這是其他人對他們已經為FastText model 准備的語料庫進行培訓的最終結果。 從本質上講,您被他們選擇的標記化、規范化和其他預處理所困擾。

  • 因為FastText模型從通過詞干/詞形還原刪除的同一種詞形態學(包括詞根/詞干/替代形式)學習,所以通常用於FastText訓練的訓練文本不會以這種方式進行預處理。 而且,您不會對要在這樣的預訓練 model 中查找的詞標記執行任何此類轉換。

我可以想象你的問題代表真正需求的唯一方法是,如果你已經有一些其他文本已經過破壞性預處理——例如用詞干/詞條替換單詞——現在你想在這個 model 中查找這些詞。

如果這是您的真正需要:

  1. 您應該嘗試將 go 返回到未進行破壞性更改的文本,並在FastText model 中查找原始(非詞形化)單詞。 這是使用FastText的常用方式,也是我期望的最佳方式。 (例如,查找每個'walking''walked' 、 ' walks ' 等可能會比將它們全部歸結為引理'walk'並僅查找它提供更好的向量。)如果您無法恢復原話……

  2. 您可以嘗試直接查找您擁有的引理/等。 FastText model 將為您提供該詞根的向量,必要時從它知道的詞片段中合成一個猜測向量。 那可能工作得很好。 或者...

  3. 您可以想象迭代所有模型的已知單詞,並將 map 迭代為您的預處理方案的備用/規范化單詞。 這可能會將已知單詞的 map N 轉換為 1 個新的“簡化”單詞。 然后,創建一個新的 model,其中在您的新方案中,單個簡化詞只有一個向量 - 可能是在簡化規范化之前可能是所有其他詞的某種(加權)平均值。 但是,我很難想象這種額外的復雜性會比上述任何一個(1)提供任何優勢的任何情況,通過查找 model 或上面的(2)中已經存在的單詞來按預期使用FastText ,只是滿足於你的新詞已經有了什么。 所以真的,除非你有充分的理由,否則不要做這樣的事情。

暫無
暫無

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

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