簡體   English   中英

向量化字符串,包括標點符號和特殊字符

[英]Vectorize string including punctuation and special characters

我需要向量化不同的標記化字符串集,包括標點符號和特殊字符,如 ?,!,#,/,➧,❤,➽ 或 ✓ - 我正在使用 pandas 和 scikit-learn 來完成該任務,但 CountVectorize 函數僅向量化單詞和忽略附加字符。 我找到了這個,但我沒有附加字符的列表,需要所有這些字符。 這是我執行該任務的代碼:

def vectorize (dataframe,column_supplement):
     v = CountVectorizer(analyzer = "word", encoding='utf-8', max_features = 5000)
     x = v.fit_transform(dataframe['string_tokenized'])
     df_result = pd.DataFrame(x.todense(), columns=v.get_feature_names())
     instances = df_result.values.tolist()
     header = list(df_result)
     for i in range(len(header)):
     header[i] = column_supplement+header[i]
     df = pd.DataFrame.from_records(instances, columns=header)
     return df

感謝您的幫助和想法!

PS token_pattern (默認 u'(?u)\\b\\w\\w+\\b') 正則表達式識別標記——默認情況下,由單個字符(例如,'a'、'2')組成的單詞被忽略,設置 token_pattern to '(?u)\\b\\w+\\b' 將包含這些標記

您可能會發現 @Venkatachalam 在此 stackoverflow 問題中提供的已接受答案很有幫助。 Sk Learn CountVectorizer:將表情符號保持為單詞

通過使用token_pattern=r'[^\\s+]'我們將token_pattern設置為除一個或多個空格之外的任何字符。

因此,以下項目將被視為令牌:

  • 標點符號序列,如!#$甚至單個標點符號,如*.

  • 特殊字符,如表情符號😅。

  • 單字符字母,例如a , C

暫無
暫無

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

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