Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để Tensorflow có thể được sử dụng để vectơ dữ liệu văn bản được liên kết với bộ dữ liệu câu hỏi stackoverflow bằng Python?

Tensorflow là một khuôn khổ học máy được cung cấp bởi Google. Nó là một khung công tác mã nguồn mở được sử dụng kết hợp với Python để triển khai các thuật toán, ứng dụng học sâu và hơn thế nữa. Nó được sử dụng trong nghiên cứu và cho mục đích sản xuất. Nó có các kỹ thuật tối ưu hóa giúp thực hiện các phép toán phức tạp một cách nhanh chóng.

Điều này là do nó sử dụng NumPy và các mảng đa chiều. Các mảng đa chiều này còn được gọi là 'tensors'. Khung hỗ trợ làm việc với các mạng thần kinh sâu. Nó có khả năng mở rộng cao và đi kèm với nhiều bộ dữ liệu phổ biến. Nó sử dụng tính toán GPU và tự động hóa việc quản lý tài nguyên. Nó đi kèm với vô số thư viện học máy và được hỗ trợ tốt cũng như tài liệu. Khung có khả năng chạy các mô hình mạng nơ-ron sâu, đào tạo chúng và tạo các ứng dụng dự đoán các đặc điểm liên quan của các bộ dữ liệu tương ứng.

Gói 'tensorflow' có thể được cài đặt trên Windows bằng dòng mã bên dưới -

pip install tensorflow

Tensor là một cấu trúc dữ liệu được sử dụng trong TensorFlow. Nó giúp kết nối các cạnh trong một sơ đồ luồng. Sơ đồ luồng này được gọi là 'Biểu đồ luồng dữ liệu'. Tensors không là gì khác ngoài một mảng đa chiều hoặc một danh sách.

Chúng tôi đang sử dụng Google Colaboratory để chạy đoạn mã dưới đây. Google Colab hoặc Colaboratory giúp chạy mã Python qua trình duyệt và không yêu cầu cấu hình cũng như quyền truy cập miễn phí vào GPU (Đơn vị xử lý đồ họa). Colaboratory đã được xây dựng trên Jupyter Notebook.

Ví dụ

Sau đây là đoạn mã để vectơ hóa dữ liệu văn bản -

print("The vectorize function is defined")
def int_vectorize_text(text, label):
   text = tf.expand_dims(text, -1)
   return int_vectorize_layer(text), label
print(" A batch of the dataset is retrieved")
text_batch, label_batch = next(iter(raw_train_ds))
first_question, first_label = text_batch[0], label_batch[0]
print("Question is : ", first_question)
print("Label is : ", first_label)

print("'binary' vectorized question is :",
   binary_vectorize_text(first_question, first_label)[0])
print("'int' vectorized question is :",

   int_vectorize_text(first_question, first_label)[0])

Tín dụng mã - https://www.tensorflow.org/tutorials/load_data/text

Đầu ra

The vectorize function is defined
A batch of the dataset is retrieved
Question is : tf.Tensor(b'"function expected error in blank for dynamically created check box
when it is clicked i want to grab the attribute value.it is working in ie 8,9,10 but not working in ie
11,chrome shows function expected error..<input type=checkbox checked=\'checked\'
id=\'symptomfailurecodeid\' tabindex=\'54\' style=\'cursor:pointer;\' onclick=chkclickevt(this);
failurecodeid=""1"" >...function chkclickevt(obj) { .
alert(obj.attributes(""failurecodeid""));.}"\n', shape=(), dtype=string)
Label is : tf.Tensor(2, shape=(), dtype=int32)
'binary' vectorized question is : tf.Tensor([[1. 1. 1. ... 0. 0. 0.]], shape=(1, 10000), dtype=float32)
'int' vectorized question is : tf.Tensor(
[[ 37 464 65 7  16 12 879 262 181 448 44 10 6  700
   3  46  4 2085 2 473 1   6  156  7  478 1 25 20
  156 7  478 1  499 37 464 1 1846 1666 1  1  1  1
   1  1   1  1    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0 0 0
   0  0   0  0    0 0    0 0    0    0 0  0]], shape=(1, 250), dtype=int64)

Giải thích

  • Chế độ nhị phân trả về một mảng cho biết về sự tồn tại của mã thông báo.

  • Trong chế độ int, mọi mã thông báo được thay thế bằng một số nguyên.

  • Bằng cách này, đơn đặt hàng sẽ được giữ nguyên.

  • Chức năng vectơ hóa được xác định.

  • Một mẫu dữ liệu được vector hóa và chế độ vector hóa "binary" và "int" được hiển thị trên bảng điều khiển

  • Chuỗi có thể được tra cứu bằng cách sử dụng phương thức "get_vocabulary" trên lớp cụ thể đó.