Có thư viện nào để tính toán điểm tương đồng ngữ nghĩa cho một cặp câu không?Python: Điểm tương đồng ngữ nghĩa cho chuỗi
Tôi biết cơ sở dữ liệu ngữ nghĩa của WordNet và cách tôi có thể tạo điểm số cho 2 từ, nhưng tôi đang tìm các thư viện làm tất cả các tác vụ tiền xử lý như bắt nguồn từ cổng, dừng xóa từ, v.v. toàn bộ câu và kết quả đầu ra cho điểm liên quan của hai câu.
Tôi đã tìm thấy work đang tiến hành được viết bằng khuôn khổ .NET tính điểm số bằng cách sử dụng một loạt các bước xử lý trước. Có dự án nào thực hiện điều này trong python không?
Tôi không tìm kiếm chuỗi hoạt động có thể giúp tôi tìm điểm (như được yêu cầu here)
Tôi muốn thực hiện từng giai đoạn theo cách riêng của mình hoặc các chức năng dán từ các thư viện khác nhau sao cho nó hoạt động cho các cặp câu, nhưng tôi cần điều này chủ yếu như một công cụ để kiểm tra các suy luận về dữ liệu.
EDIT: Tôi đã xem xét sử dụng NLTK và tính toán số điểm cho mỗi cặp từ lặp trong hai câu, sau đó rút ra kết luận từ độ lệch chuẩn của các kết quả, nhưng tôi không biết nếu đó là một ước tính hợp lý về sự giống nhau. Thêm vào đó, sẽ mất rất nhiều thời gian cho các chuỗi dài.
Một lần nữa, tôi đang tìm kiếm các dự án/thư viện đã triển khai thực hiện điều này một cách thông minh. Một cái gì đó cho phép tôi làm điều này:
import amazing_semsim_package
str1='Birthday party ruined as cake explodes'
str2='Grandma mistakenly bakes cake using gunpowder'
>>similarity(str1,str2)
>>0.889
Xem xét mô hình ngữ nghĩa cơ sở vectơ hoặc mô hình phân tích ma trận để so sánh sự giống nhau về câu. Nếu không, bạn có thể quay trở lại với cosin giống như lesk, đầu tiên vector hóa một câu tính cosin giữa 2 vectơ – alvas
nếu bạn đang muốn cân nhắc thứ gì đó như một điểm cắt hoặc cần đến điểm số, hãy xem xét sự tương đồng của NLTK. Bạn sẽ cần phải sử dụng một cái gì đó giống như mô hình CLIPS để có được loại (động từ, danh từ, adj, vv).bạn có thể sử dụng điều đó để thực sự tìm thấy số lượng danh mục hoàn hảo cho LSA/LDA như được tìm thấy trong gensim hoặc triển khai mờ/cosin của Kmeans. –