Wprowadzenie do kodowania tekstu

Inżynieria cech w uczeniu maszynowym w Pythonie

Robert O'Callaghan

Director of Data Science, Ordergroove

Standaryzacja tekstu

Przykład tekstu swobodnego:

Fellow-Citizens of the Senate and of the House of Representatives: AMONG the vicissitudes incident to life no event could have filled me with greater anxieties than that of which the notification was transmitted by your order, and received on the th day of the present month.

Inżynieria cech w uczeniu maszynowym w Pythonie

Zbiór danych

print(speech_df.head())
                  Name           Inaugural Address    \ 
0    George Washington     First Inaugural Address
1    George Washington    Second Inaugural Address
2    John Adams                  Inaugural Address    
3    Thomas Jefferson      First Inaugural Address    
4    Thomas Jefferson     Second Inaugural Address

                        Date                               text
0    Thursday, April 30, 1789    Fellow-Citizens of the Sena...
1       Monday, March 4, 1793    Fellow Citizens: I AM again...
2     Saturday, March 4, 1797    WHEN it was first perceived...
3    Wednesday, March 4, 1801    Friends and Fellow-Citizens...
4       Monday, March 4, 1805    PROCEEDING, fellow-citizens...
Inżynieria cech w uczeniu maszynowym w Pythonie

Usuwanie niepożądanych znaków

  • [a-zA-Z]: Wszystkie litery
  • [^a-zA-Z]: Wszystkie znaki nieliterowe
speech_df['text'] = speech_df['text']\
                   .str.replace('[^a-zA-Z]', ' ')
Inżynieria cech w uczeniu maszynowym w Pythonie

Usuwanie niepożądanych znaków

Przed:

"Fellow-Citizens of the Senate and of the House of  
Representatives: AMONG the vicissitudes incident to   
life no event could have filled me with greater" ...

Po:

"Fellow Citizens of the Senate and of the House of  
Representatives AMONG the vicissitudes incident to   
life no event could have filled me with greater" ...
Inżynieria cech w uczeniu maszynowym w Pythonie

Ujednolicenie wielkości liter

speech_df['text'] = speech_df['text'].str.lower()
print(speech_df['text'][0])
"fellow citizens of the senate and of the house of  
representatives among the vicissitudes incident to   
life no event could have filled me with greater"...
Inżynieria cech w uczeniu maszynowym w Pythonie

Długość tekstu

speech_df['char_cnt'] = speech_df['text'].str.len()
print(speech_df['char_cnt'].head())
0    1889  
1     806  
2    2408  
3    1495  
4    2465
Name: char_cnt, dtype: int64
Inżynieria cech w uczeniu maszynowym w Pythonie

Liczba słów

speech_df['word_cnt'] = 
    speech_df['text'].str.split()
speech_df['word_cnt'].head(1)
['fellow', 'citizens', 'of', 'the', 'senate', 'and',...
Inżynieria cech w uczeniu maszynowym w Pythonie

Liczba słów

speech_df['word_counts'] = 
    speech_df['text'].str.split().str.len()
print(speech_df['word_splits'].head())
0    1432
1     135
2    2323
3    1736
4    2169
Name: word_cnt, dtype: int64
Inżynieria cech w uczeniu maszynowym w Pythonie

Średnia długość słowa

speech_df['avg_word_len'] = 
         speech_df['char_cnt'] / speech_df['word_cnt']
Inżynieria cech w uczeniu maszynowym w Pythonie

Czas na ćwiczenia!

Inżynieria cech w uczeniu maszynowym w Pythonie

Preparing Video For Download...