1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Spark SQL bằng Python

Connected

Bài tập

Chuyển văn bản sang dạng vector

Bạn đã học cách tách câu và biến một mảng từ thành vector số bằng CountVectorizer.

Một dataframe df được cung cấp với các cột: sentence, in, và out. Mỗi cột là một mảng chuỗi. sentence là danh sách các từ tạo thành một câu từ sách giáo khoa. Cột out là từ cuối cùng của sentence. Cột in được tạo bằng cách loại bỏ từ cuối cùng khỏi sentence.

model CountVectorizer yêu cầu một dataframe có cột words và sẽ tạo ra cột vec.

Bạn sẽ thực hiện phép biến đổi đầu tiên để thêm cột invec, có dạng như sau:

+----------------------+-------+------------------------------------+
|in                    |out    |invec                               |
+----------------------+-------+------------------------------------+
|[then, how, many, are]|[there]|(126,[3,18,28,30],[1.0,1.0,1.0,1.0])|
|[how]                 |[many] |(126,[28],[1.0])                    |
|[i, donot]            |[know] |(126,[15,78],[1.0,1.0])             |
+----------------------+-------+------------------------------------+
only showing top 3 rows

Sau đó bạn sẽ thực hiện phép biến đổi thứ hai, có dạng như sau:

+------------------------------------+----------------+
|invec                               |outvec          |
+------------------------------------+----------------+
|(126,[3,18,28,30],[1.0,1.0,1.0,1.0])|(126,[11],[1.0])|
|(126,[28],[1.0])                    |(126,[18],[1.0])|
|(126,[15,78],[1.0,1.0])             |(126,[21],[1.0])|
+------------------------------------+----------------+
only showing top 3 rows

Hướng dẫn

100 XP
  • Tạo một dataframe tên result bằng cách dùng model để transform() df. result có các cột sentence, in, out, và invec. invec là vector chuyển đổi từ cột in.
  • Thêm một cột vào result tên outvec. Lúc này result có các cột sentence, in, out, invec, và outvec.