如果我有一個向量化的文本字符串,我應該如何處理它裏面的數字?或者,如果我使用數字和詞彙來提供神經網絡,我怎樣才能將數字保存爲數字?向量化單詞時如何處理文本字符串中的數字?
我打算製作一本我所有單詞的字典(as suggested here)。在這種情況下,所有字符串都將變成數組數組。我應該如何處理數字字符?如何輸出一個不會將單詞索引與數字字符混合的向量?
將數字轉換爲字符串會削弱我饋入網絡的信息嗎?
如果我有一個向量化的文本字符串,我應該如何處理它裏面的數字?或者,如果我使用數字和詞彙來提供神經網絡,我怎樣才能將數字保存爲數字?向量化單詞時如何處理文本字符串中的數字?
我打算製作一本我所有單詞的字典(as suggested here)。在這種情況下,所有字符串都將變成數組數組。我應該如何處理數字字符?如何輸出一個不會將單詞索引與數字字符混合的向量?
將數字轉換爲字符串會削弱我饋入網絡的信息嗎?
您提供的鏈接表明,由.split(' ')
產生的所有內容都被索引 - 詞彙,但也包括數字,可能是表情符號。 (我仍照顧標點符號)。除非您對數據或問題有更多先驗知識,否則您可以從此開始。
編輯
例字面上使用您的字符串並且其代碼:
corpus = {'my car number 3'}
dictionary = {}
i = 1
for tweet in corpus:
for word in tweet.split(" "):
if word not in dictionary: dictionary[word] = i
i += 1
print(dictionary)
# {'my': 1, '3': 4, 'car': 2, 'number': 3}
但是想象一下,我的詞典中有一個詞「car」,它在我的詞典中獲得索引「3」。如果我在文本中還有數字「3」(像「3號車」這樣的短語),向網絡輸入一個帶有錯誤重複數字的矢量是沒有意義的,例如[12,** 3 **,11, ** 3 **],可以解釋爲「車號車」。 – Rikard
你沒有數字'3',你有* string *'「3」',它可以被任何數字索引。 – user1735003
但是,從輸入中刪除_Type_,作爲一個數字就是信息本身。 – Rikard
擴大與@ user1735003你的討論 - 讓我們考慮表示數字的兩種方式:治療它
第二個改變上下文嗎?爲了驗證它,我們可以使用word2vec
找到兩個表示的相似性。如果他們有相似的背景,分數將會很高。
例如, 1
和one
具有0.17,2
和two
相似性得分具有0.23
相似性得分。他們似乎表明,他們如何使用的背景完全不同。
通過處理數字作爲另一個詞,你是不是改變了 上下文,但是通過做這些數字的任何其他轉換,您 無法保證其更好。所以,最好不要把它當作另一個詞來處理。
注:兩個word-2-vec
glove
和通過處理該數字作爲字符串(情況1)訓練。
以下紙張可以是有幫助的:http://people.csail.mit.edu/mcollins/6864/slides/bikel.pdf
具體而言,第7頁。
之前,他們使用<unknown>
標籤,他們嘗試用普通模式的名稱標記,如更換字母數字符號組合:
FourDigits (good for years)
我試圖實現它,它給了很大的成績。
在詞典中不存在的許多應用詞中,轉換爲''。同樣,根據您的應用程序,將所有數字轉換爲特殊標記可能會很方便,如「」。 –