Sử dụng NLP để tự động hóa việc phân loại mô tả người dùng


8

Tôi có một tệp lớn các khiếu nại của khách hàng về các sản phẩm mà công ty tôi sở hữu và tôi muốn phân tích dữ liệu về các mô tả đó và gắn thẻ danh mục cho từng sản phẩm.

Ví dụ: Tôi cần tìm ra số lượng khiếu nại về phía Phần mềmPhần cứng của sản phẩm của tôi từ các khiếu nại của khách hàng. Hiện tại, tôi đang sử dụng excel để thực hiện phân tích dữ liệu nhằm tìm kiếm một số lượng đáng kể công việc thủ công để có được tên thẻ cho các khiếu nại.

Có cách nào trong NLP để xây dựng và đào tạo một mô hình để tự động hóa quá trình này không? Tôi đã đọc những thứ về NLP trong vài ngày qua và có vẻ như NLP có rất nhiều tính năng tốt để bắt đầu giải quyết vấn đề này. Ai đó có thể vui lòng hướng dẫn tôi cách tôi nên sử dụng NLP để giải quyết vấn đề này không?


Bạn có kỹ năng lập trình nào không? Có nhiều cách để làm điều này, tôi có thể đề xuất một cái gì đó hy vọng dựa trên một cái gì đó bạn đã sử dụng trong quá khứ.
sheldonkreger

Tôi có một kiến ​​thức tốt về Java. Tôi đã sử dụng R cho một vài nhiệm vụ khai thác dữ liệu. Hiện tại tôi đang học Python để sử dụng NLP.
SRS

Câu trả lời:


6

Một cách để xử lý việc này là sử dụng 'phân loại có giám sát'. Trong mô hình này, bạn tự phân loại một tập hợp con của dữ liệu và sử dụng nó để huấn luyện thuật toán của bạn. Sau đó, bạn cung cấp dữ liệu còn lại vào phần mềm của bạn để phân loại nó.

Điều này được thực hiện với NLTK cho Python (nltk.org).

Nếu bạn chỉ đơn giản tìm kiếm các chuỗi như "phần cứng" và "phần mềm", thì đây là trường hợp sử dụng đơn giản và bạn có thể sẽ nhận được kết quả tốt khi sử dụng 'trình trích xuất tính năng', thông báo cho phân loại của bạn những cụm từ trong tài liệu có liên quan.

Mặc dù có thể thực hiện một phương pháp tự động để tìm từ khóa, nhưng có vẻ như bạn đã có sẵn một danh sách, vì vậy bạn có thể bỏ qua bước đó và chỉ sử dụng các thẻ bạn biết. (Nếu kết quả của bạn không đạt yêu cầu ngay lần đầu tiên, đây là điều bạn có thể thử sau này).

Đó là một cái nhìn tổng quan để bắt đầu. Nếu bạn không hài lòng với kết quả ban đầu, bạn có thể tinh chỉnh bộ phân loại của mình bằng cách giới thiệu các phương thức phức tạp hơn, chẳng hạn như phân đoạn câu, xác định các loại hành động đối thoại và cây quyết định. Bầu trời là giới hạn (hoặc nhiều khả năng, thời gian của bạn là giới hạn)!

Thêm thông tin tại:

http://www.nltk.org/book/ch06.html


Chiến lược cơ bản này cũng sẽ hoạt động nếu bạn tìm thấy bộ công cụ NLP bằng ngôn ngữ khác mà bạn biết, như Java. Tôi chỉ không quen thuộc với những người đó.
sheldonkreger

1

Sheldon là chính xác, điều này nghe giống như một trường hợp sử dụng khá điển hình để phân loại có giám sát. Nếu tất cả các khiếu nại của khách hàng của bạn là phần mềm hoặc phần cứng (nghĩa là không có khiếu nại riêng lẻ nào bao gồm cả hai loại và không nằm ngoài hai loại này), thì tất cả những gì bạn cần là một bộ phân loại nhị phân, giúp mọi thứ đơn giản hơn những gì chúng có thể.

Nếu bạn đang tìm kiếm một bộ công cụ NLP dựa trên Java hỗ trợ một cái gì đó như thế này, bạn nên xem Trình phân loại Stanford: http://nlp.stanford.edu/software/ classifier.shtml - nó được cấp phép dưới dạng phần mềm nguồn mở GPL.

Trang wiki của họ sẽ giúp bạn bắt đầu sử dụng trình phân loại: http://www-nlp.stanford.edu/wiki/Software/Classifier - hãy nhớ rằng bạn sẽ cần chú thích thủ công một mẫu dữ liệu lớn của mình dưới dạng tập huấn luyện, như Sheldon đã đề cập.


Phân loại phần mềm / phần cứng giống như nhiệm vụ mẫu mà tôi đã cố gắng làm việc với phân loại. Có một số loại khác mà tôi có trong đầu sẽ hiểu sâu sắc về những gì sai với sản phẩm, bằng cách đọc trường hợp của khách hàng và gắn thẻ danh mục phù hợp. Tôi bắt đầu đọc NLPTK bằng python nhưng tôi muốn biết loại chức năng mà tôi nên tìm kiếm để giải quyết trường hợp này
SRS

Đây không phải là vấn đề đơn giản để tìm kiếm các chức năng ma thuật. Những gì bạn muốn làm là xây dựng một bộ phân loại bằng cách sử dụng máy học có giám sát. Đây là các bước ... 1. chú thích thủ công một mẫu dữ liệu của bạn dưới dạng tập huấn luyện, 2. trích xuất các tính năng từ dữ liệu của bạn để đào tạo (đối với văn bản, đây có thể là một cái gì đó giống như ngrams), 3. xây dựng mô hình phân loại bằng cách sử dụng một thư viện máy học, 4. áp dụng mô hình phân loại cho dữ liệu mới. Một số thư viện như Stanford Classifier sẽ giúp bạn thực hiện các bước 2 & 3.
Charlie Greenbacker
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.