我想將某些文本向量化爲相應的整數,然後將這些文本轉換爲其映射的整數,並使用新的輸入整數[2,9,39,46,56,12,89,9]
創建新句子。如何使用sklearn的CountVectorizer進行矢量化和devectorize?
我見過一些可以用於此目的的自定義函數,但我想知道sklearn本身是否具有這樣的功能。
from sklearn.feature_extraction.text import CountVectorizer
a=["""Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Morbi imperdiet mauris posuere, condimentum odio et, volutpat orci.
Curabitur sodales vulputate eros eu gravida. Sed pharetra imperdiet nunc et tempor.
Nullam lectus est, rhoncus vitae lacus at, fermentum aliquam metus.
Phasellus a sollicitudin tortor, non tempor nulla.
Etiam mattis felis enim, a malesuada ligula dignissim at.
Integer congue dolor ut magna blandit, lobortis consequat ante aliquam.
Nulla imperdiet libero eget lorem sagittis, eget iaculis orci dignissim.
Phasellus sit amet sodales odio. Pellentesque commodo tempor risus, et tincidunt neque.
Praesent et sem velit. Maecenas id risus sit amet ex convallis ultrices vel sed purus.
Sed fringilla, leo quis congue sollicitudin, mauris nunc vehicula mi, et laoreet ligula
urna et nulla. Nam sollicitudin urna sed dolor vehicula euismod. Mauris bibendum pulvinar
ornare. In suscipit sed mi ut posuere.
Proin egestas, nibh ut egestas mattis, ipsum nulla bibendum enim, ac suscipit nisl justo
id metus. Nam est dui, elementum eget suscipit nec, aliquam in mi. Integer tortor erat,
aliquet at sapien et, fringilla posuere leo. Praesent non congue est. Vivamus tincidunt
tellus eu placerat tincidunt. Phasellus convallis lacus vitae ex congue efficitur.
Sed ut bibendum massa, vitae molestie ligula. Phasellus purus felis, fermentum vitae
hendrerit vel, vulputate quis metus."""]
vec = CountVectorizer()
dtm=vec.fit_transform(a)
print vec.vocabulary_
#convert text to corresponding vectors
mapped_a=
#new sentence using below mapped values
#input [2,9,39,46,56,12,89,9]
#creating sentence using specific sequence
new_sentence=
感謝您的代碼,但我有代碼輕微的問題。在'mapped_a'我不想要稀疏矩陣,而是我想用它的映射整數替換每個單詞。讓我們把'dolor'這個單詞映射到'17',同樣我想用這些整數來替換文本'a'中的每個單詞。其次,它的語句創建考慮了這些輸入input1 = [2,54,9]''input1 = [9,54,2]'我期望代碼保持打印句子的順序,但是兩個輸入序列產生相同的結果數組[u'aliquam',u'commodo',u'magna'],dtype ='
Eka
我更新了問題的第一部分以輸出所有單詞的ID。第二部分,從id到words,應該工作和維護順序(該部分用for循環評論爲自定義解決方案)。 –