xem xét các Strings sau:Sorting Chuỗi dựa trên sự tương
- ông llo
- tạm biệt
- chào
- = (tạm biệt)
- (anh) (llo)
- tạm biệt
- helium
Tôi đang cố gắng để sắp xếp chúng trong một cách mà các từ tương tự đến với nhau, tôi biết
alphanumerical sorting
không phải là một lựa chọn- loại bỏ ký tự đặc biệt
",-_ and etc
sau đó so sánh chắc chắn là hữu ích nhưng kết quả sẽ không tốt như tôi mong đợi.
LƯU Ý:
có thể có được vài ouput mong muốn khác nhau cho điều này, một trong số đó là:
MONG MUỐN OUTPUT:
- chào
- ông llo
- (ông) (llo)
- heli
- tạm biệt
- tạm biệt
- = (tạm biệt)
vì vậy câu hỏi của tôi là nếu có một gói java so sánh chuỗi và cuối cùng là sắp xếp chúng dựa trên đó.
Tôi đã nghe nói về các điều khoản như n-gram
và skip-gram
nhưng không hoàn toàn hiểu chúng. Tôi thậm chí không chắc chắn nếu họ có thể hữu ích cho tôi cả.
CẬP NHẬT: tìm điểm tương đồng chắc chắn là một phần của câu hỏi của tôi nhưng vấn đề chính là phần sắp xếp.
có thể trùng lặp của [So sánh chuỗi tương tự trong Java] (http://stackoverflow.com/questions/955110/similarity-string-comparison -in-java) – dognose
Có thể khu vực bạn đang tìm kiếm là NLP, Natural Language Processing, khi bạn đề cập đến 'hello' (' helium') và 'goodbye'. Thuật toán soundex được thiết lập nhưng sẽ không giúp đỡ về không gian. –
@dognose thx cho liên kết, tôi có thể thấy nó rất hữu ích để so sánh. nhưng cách tiếp cận này hạn chế việc phân loại. làm thế nào nó có thể được sử dụng để phân loại? – nafas