我想在我自己的語料庫上訓練 fasttext。但是,在繼續之前,我有一個小問題。我是否需要將每個句子作為語料庫中的不同專案,還是可以將多個句子作為一個專案?
例如,我有這個 DataFrame:
text | summary
------------------------------------------------------------------
this is sentence one this is sentence two continue | one two other
other similar sentences some other | word word sent
基本上,該專欄text是一篇文章,因此它有很多句子。由于預處理,我不再有句號.。所以問題是我可以直接做這樣的事情還是我需要拆分每個句子。
docs = df['text']
vectorizer = TfidfVectorizer()
vectorizer.fit_transform(docs)
從我閱讀的教程中,我需要每個句子的單詞串列,但是如果我有文章中的單詞串列怎么辦?有什么區別?這是在您自己的語料庫中訓練 fasttext 的正確方法嗎?
謝謝!
uj5u.com熱心網友回復:
FastText 需要文本作為其訓練資料 - 而不是預先矢量化的任何內容,就像由TfidfVectorizer. (如果這是您的 FastText 流程的一部分,則它放錯了位置。)
Gensim FastText 支持需要將訓練語料庫作為Python iterable,其中每個專案都是字串 word-tokens的串列。
每個標記串列通常是一些有凝聚力的文本,其中相鄰的單詞在通常的自然語言中具有使用關系。它可能是一個句子、一個段落、一個帖子、一篇文章/章節或其他任何內容。Gensim 的唯一限制是每個文本的長度不應超過 10,000 個標記。(如果你的文本比這更長,它們應該被分割成單獨的 10,000 或更少的部分。但不要太擔心分割點周圍的關聯丟失 - 在訓練集足夠大以用于像 FastText 這樣的演算法,任何此類背景關系丟失都可以忽略不計。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/323916.html
