5

Tôi là "lập trình viên" của một nhóm học sinh nhằm mục đích điều tra sự hài lòng và các vấn đề chung trong trường ngữ pháp của tôi. Chúng tôi có một câu hỏi được xây dựng dựa trên thang điểm từ 1-6 và chúng tôi giải thích các câu trả lời này bằng một phần mềm biểu đồ mà tôi đã viết bằng python.Làm cách nào để sử dụng phân tích văn bản để điều tra câu trả lời câu hỏi?

Bây giờ, có <textarea> ở cuối câu hỏi của chúng tôi mà người dùng có thể sử dụng tùy thích. Tôi hiện đang nghĩ cách để làm cho dữ liệu này có thể sử dụng được (chúng tôi không muốn đọc hơn 800 câu trả lời).

Tôi có thể sử dụng phân tích văn bản bằng Python để điều tra những gì học sinh viết? Tôi đã nghĩ đến việc một cách để "tag" bất kỳ câu nói đó được viết xuống, như:

I don't like being in school. [wellbeing][negative] 
I have way too much homework. [homework][much] 
I think there should be more interesting projects. [projects][more] 

Có bất kỳ phương pháp có thể sử dụng để có được điều đó? Sử dụng trình mã thông báo hiện tại có ý nghĩa không?

Cảm ơn sự giúp đỡ của bạn!

+0

800 câu trả lời sẽ không cung cấp cho bạn đủ để làm NLP. Bạn nên đọc các câu trả lời theo cách thủ công. Bạn có thể huấn luyện một trình phân loại Bayes ngây thơ với 600, và kiểm tra nó trên 200, nhưng điều đó sẽ giúp bạn có 2 chiều-- và trong khi có thể thực hiện điều này cho nhiều thẻ hơn, bạn sẽ cần nhiều mục hơn. – kreativitea

+0

Nó sẽ giúp nếu bạn nói với chúng tôi là hộp bình luận hoàn toàn freeform, hoặc là có một tập hợp các chủ đề được biết họ sẽ được trên? (hoặc sử dụng clustering để trả lời rằng, hoặc thậm chí chỉ grep cũ đồng bằng, hoặc chỉ là nhãn cầu nó cho mình) – smci

Trả lời

2

tốt, tôi chỉ ném trong ý tưởng here..but một cách tiếp cận tôi có thể nghĩ đến là,

  1. sử dụng một thuật toán phân nhóm cụm các câu trả lời đầu tiên. một cái gì đó như K-means hoặc bạn có thể làm mô hình chủ đề bằng cách sử dụng một cái gì đó như LDA.

  2. Sau đó, bạn có thể sử dụng phương pháp gắn thẻ của bạn bằng cách thực hiện phân tích văn bản để tạo ra thường xuyên từ khóa/liên quan trong từng cụm/chủ đề bạn nhận được từ bước 1.

Tại sao Bước 1 sẽ là một ý tưởng tốt ? Vâng, theo ý kiến ​​của tôi- trong khi phân tích văn bản, nếu bạn phân xử một cách tùy ý các câu gắn thẻ, bạn có thể tạo ra nhiều thẻ - rất nhiều thẻ trong số đó sẽ giống nhau trong ngữ cảnh. Do đó, khả năng sử dụng của bạn có thể đi xuống mà bạn vẫn sẽ phải phân tích tải trọng của các thẻ cho mỗi câu.

Sử dụng tạo mô hình nhóm/chủ đề có thể giúp giảm vấn đề ngữ cảnh ở một mức độ nào đó. Do đó, có thể sử dụng nhiều hơn trong quan điểm của tôi.

0

Điều này nghe rất giống với lập trình AI chỉ vì cách họ đặt câu hỏi và câu trả lời. Có thể hãy xem http://pyaiml.sourceforge.net/ và ngôn ngữ đánh dấu thông minh nhân tạo. Tôi không có nhiều kinh nghiệm với nó, nhưng bạn có thể tinh chỉnh nó theo nhu cầu của bạn thay vì làm nó từ đầu.

1

"Phân tích ý kiến ​​NLTK" là một nơi tốt để bắt đầu tìm kiếm. Natural Language Toolkitgói để thực hiện phân tích văn bản bằng Python nhưng nó không phải là chính xác đơn giản bởi vì nhiệm vụ khá phức tạp. Một vài kết quả đầu tiên có một số bản trình diễn hấp dẫn nhưng tôi không xem chi tiết chúng.

+0

Tôi nghĩ rằng điều này có thể là điều đúng đắn cho tôi! Cảm ơn bạn! –

1

Tôi sẽ không trả lời câu hỏi của bạn. Nhưng nếu tôi hiểu bạn có một cuộc khảo sát cổ điển (với hộp kiểm, ...) với một câu hỏi văn bản nhỏ ở cuối ...

Vì vậy, bạn sẽ có khoảng 800 câu trả lời. Nhưng tôi đoán câu trả lời sẽ không quá dài. Thông thường nó sẽ một vài dòng hoặc thậm chí một vài từ ... Tôi nghĩ rằng một phần mềm QDA thủ công sẽ tốt hơn so với một thuật toán sẽ không hoàn hảo. Ví dụ, bạn có thể sử dụng phần mềm RQDA (gói dự án R) hoặc phần mềm quảng cáo nguồn mở như Nvivio ...

Cảm ơn

Các vấn đề liên quan