2016-12-21 52 views
0

我需要幫助一對夫婦的事情。我是新來的NLP和非結構化數據清洗的正規流程..有人可以回答以下幾個問題...感謝什麼是清潔非結構化數據

  1. 需要幫助用正則表達式來識別像_male和female_這樣的詞,或者像_word和word_或_something_something_something這樣的更通用的詞,並且擺脫開頭或結尾但不在中間的下劃線。
  2. 我想知道清理數據的正式過程,就像我們在清理非結構化數據時需要遵循的步驟一樣,我問這是因爲我正在做詞形解釋(使用POS),並將常見詞語替換爲(某事,某事)to something_something。那麼我應該遵循哪些步驟?我現在正在執行以下操作 - tokenize_clean> remove_number> remove_url> remove_slash> remove_cross> remove_garbage> replace_hypen_with_underscore> lemmatize_sentence> change_words_to_bigrams> remove_smaller_than_3(單詞len小於3)> remove_simlutaneous(多次同時發生的單詞,例如死亡致命死亡) > remove_location> remove_bullets> remove_stop> remove_simlutaneous

我應該在這些步驟中做些什麼嗎?

  • 我也有像(group'shealthplanbecauseeitheroneofthefollowingqualifyingeventshappens)即,(whenyouuseanon_networkprovider),(每\ XAD),(vlfldq \ x10vxshuylvhg) 應該怎麼處理?完全忽略它們還是試圖改進它們?
  • 我的最終目標是將文檔分爲Yes和No class。歡迎任何建議。

    如果需要,將提供更多示例和解釋。

    +1

    沒有「正式」的語料庫清理過程。你應該檢查你的語料庫,編制一個「有問題的事情」清單,然後想想你想做什麼:1)修復(如果受影響的部分數量很大),2)刪除(如果數量不是那大)。除非有明確和安全的自動方式,否則移除「不良」數據比修復更容易。你的問題的其餘部分太寬泛。開始清理工作,然後回來更具體的問題。 –

    +0

    @WiktorStribiżew謝謝...你能幫助正則表達式嗎?第一個符號 –

    +0

    也許['\ b(?:(\ w +)_ + | _ +(\ w +))\ b' - >'$ 1 $ 2'](https://regex101.com/r/LceAN6/1 )?或者['\ b _ *(\ w +?)_ * \ b' - >'$ 1'](https://regex101.com/r/LceAN6/2)。 –

    回答

    0
    1. 必須正則表達式允許一些東西__abc__?如果沒有,(\b_[a-zA-Z]+\s)|(\s[a-zA-Z]+_\b)|(\s_[a-zA-Z]+_\b)

    2. 你解決了什麼問題?你準備分類等文本?

    3. 你必須區分錯誤和符號序列。有一些科學的方法來做到這一點,例如與語料庫詞語,註釋後綴樹等進行比較。

    +0

    1.我用這個正則表達式def def_underscore(text): text = re.sub(r'(^ | \ s)_(\ S )',r'\ 1 \ 2',text) return re.sub(r'(\ S)_($ | \ s)',r'\ 1 \ 2',text)'我正在準備文本分類,並想知道我是否失去了這個功能,或者是否可以讓這些不良數據發佈。 –