Hướng dẫn python jellyfish vs fuzzywuzzy - sứa trăn đấu với Fuzzywuzzy
So sánh sự phổ biến và hoạt động của sứa và fuzzywuzzy
Show
Chất lượng mã and insights are calculated and provided by Lumnify. Python Ngôn ngữjellyfish and fuzzywuzzyGiấy phép BSD 2 mệnh đề "đơn giản hóa" Giấy phép Chỉ có giấy phép công cộng GNU V2.0 chỉ
Xử lý văn bản, chung Tôi đang cố gắng tạo ra một từ điển nào đó để nối thêm kết quả của mình và có được kết quả phù hợp nhất bằng cách sử dụng hàm khoảng cách Jaro. Đây là một phần trong nỗ lực của tôi để phù hợp với danh sách 2 và có được tên phù hợp nhất trong cả hai. Example:
Những gì tôi đang cố gắng làm là:
Trong trường hợp này, tôi muốn nó trả lại 2 với số điểm cao nhất:
Đối với người dùng FuzzyWuzzy, tôi đang cố gắng mô phỏng chức năng 6 nơi bạn có thể chuyển danh sách vào 7 và bạn sẽ có được trận đấu tốt nhất.Lý do tại sao tôi không sử dụng FuzzyWuzzy chỉ là việc xử lý quá chậm và tôi không chắc chắn những gì đang xảy ra phía sau, một trận đấu cho 5000 chuỗi so với danh sách 5000 chuỗi khác mất tới 40 phút. Làm thế nào để tôi có được xác suất của một chuỗi tương tự như một chuỗi khác trong Python? Nội phân Chính showShow
Bạn không nên sử dụng == (toán tử bình đẳng) để so sánh các chuỗi này vì chúng so sánh tham chiếu của chuỗi, tức là chúng có cùng một đối tượng hay không. Mặt khác, phương thức bằng () so sánh liệu giá trị của các chuỗi có bằng nhau hay không là chính đối tượng. e.g.
Làm thế nào để tôi có được xác suất của một chuỗi tương tự như một chuỗi khác trong Python? Nội phân Chính show18 gold badges110 silver badges145 bronze badges Giải pháp số 1: Python tích hợpJun 30, 2013 at 7:35 5 Giải pháp #2: Thư viện sứa
Tôi muốn nhận được một giá trị thập phân như 0,9 (có nghĩa là 90%), v.v. tốt nhất là với Python và thư viện tiêu chuẩn.
SMCIJun 30, 2013 at 8:18 30.5K18 Huy hiệu vàng110 Huy hiệu bạc145 Huy hiệu đồngInbar Rose Đã hỏi ngày 30 tháng 6 năm 2013 lúc 7:3524 gold badges82 silver badges128 bronze badges 5 Giải pháp số 1: Python tích hợpGiải pháp #2: Thư viện sứa Tôi muốn nhận được một giá trị thập phân như 0,9 (có nghĩa là 90%), v.v. tốt nhất là với Python và thư viện tiêu chuẩn.: native python library, no need extra
package. SMCI
Giải pháp #2: Thư viện sứaTôi muốn nhận được một giá trị thập phân như 0,9 (có nghĩa là 90%), v.v. tốt nhất là với Python và thư viện tiêu chuẩn. SMCI:
easy to use, gamut of supported algorithms, tested. 30.5K18 Huy hiệu vàng110 Huy hiệu bạc145 Huy hiệu đồng
Đã hỏi ngày 30 tháng 6 năm 2013 lúc 7:35Sep 8, 2017 at 22:49 Có một tích hợp.Iman Mirzadeh Sử dụng nó:1 gold badge39 silver badges44 bronze badges 1 Đã trả lời ngày 30 tháng 6 năm 2013 lúc 8:18
Inbar Roseinbar RoseJan 18, 2017 at 22:26 39,8K24 Huy hiệu vàng82 Huy hiệu bạc128 Huy hiệu đồngBLT Sử dụng trình tự từ Difflib1 gold badge24 silver badges33 bronze badges 3 Ưu điểm: Thư viện Python bản địa, không cần thêm gói.Cons: Quá hạn chế, có rất nhiều thuật toán tốt khác cho sự tương tự chuỗi ngoài kia. thí dụ :Đó là một thư viện rất tốt với phạm vi bảo hiểm tốt và một vài vấn đề. Nó hỗ trợ: - Khoảng cách Levenshtein - Damerau -Levenshtein Khoảng cách - Khoảng cách Jaro - Khoảng cách Jaro -Winkler - Phương pháp đánh giá đối sánh - Khoảng cách HammingJun 30, 2013 at 7:41 3 Ưu điểm: Dễ sử dụng, gam của các thuật toán được hỗ trợ, được kiểm tra.cons: không phải thư viện gốc. Đã trả lời ngày 8 tháng 9 năm 2017 lúc 22:49Apr 10, 2017 at 22:02 Iman Mirzadehiman Mirzadeh 1Huy hiệu vàng 11,9K1 2Sử dụng Biopython hoặc một gói tin sinh học khác linh hoạt hơn bất kỳ phần nào của Thư viện tiêu chuẩn Python vì nhiều sơ đồ và thuật toán tính điểm khác nhau có sẵn. Ngoài ra, bạn thực sự có thể có được các chuỗi phù hợp để trực quan hóa những gì đang xảy ra: 3Đã trả lời ngày 4 tháng 12 năm 2019 lúc 9:36Dec 4, 2019 at 9:36 Chris_RandsChris_RandsChris_Rands 36.4K12 Huy hiệu vàng79 Huy hiệu bạc110 Huy hiệu đồng12 gold badges79 silver badges110 bronze badges 0 tích hợp rất chậm trên đầu vào lớn, đây là cách nó có thể được thực hiện với khác nhau-phù hợp-patch: 4Đã trả lời ngày 30 tháng 4 năm 2018 lúc 14:24Apr 30, 2018 at 14:24 Damiodamiodamio 5,8513 huy hiệu vàng35 huy hiệu bạc55 huy hiệu đồng3 gold badges35 silver badges55 bronze badges Bạn có thể tìm thấy hầu hết các phương thức tương tự văn bản và cách chúng được tính theo liên kết này: https://github.com/luozhouyang/python-string-similarity#python-string-similarity ở đây một số ví dụ;
Đã trả lời ngày 9 tháng 4 năm 2020 lúc 14:38Apr 9, 2020 at 14:38 MikemikeMike 1551 Huy hiệu bạc8 Huy hiệu đồng1 silver badge8 bronze badges Bleuscore
Code: 5Ví dụ: Bằng cách cập nhật C1 và C2. 6Bạn cũng có thể so sánh sự tương tự câu: 7Đã trả lời ngày 15 tháng 2 năm 2021 lúc 11:53Feb 15, 2021 at 11:53 Reema Q Khanreema Q KhanReema Q Khan 8281 Huy hiệu vàng7 Huy hiệu bạc18 Huy hiệu đồng1 gold badge7 silver badges18 bronze badges Có nhiều số liệu để xác định sự tương đồng và khoảng cách giữa các chuỗi như đã đề cập ở trên. Tôi sẽ cho 5 xu của mình bằng cách hiển thị một ví dụ về 1 với 2 và một ví dụ với 3.Các thư viện 8Sự tương đồng của Jaccard 9Và chúng tôi nhận được: 0Và cho 4 và 5 1Và chúng tôi nhận được: 2Và cho 3Và chúng tôi nhận được: 4Và cho 4 và 5 5Và chúng tôi nhận được: 6Và cho Chỉnh sửa khoảng cách 7Và chúng tôi nhận được: Và cho 4 và 5Chỉnh sửa khoảng cáchSep 10, 2020 at 22:48 Và cuối cùng,George Pipis Sự tương đồng về cosine trên q-gram (q = 2)14 silver badges7 bronze badges Textdistance: Một giải pháp khác là làm việc với thư viện 6. Tôi sẽ cung cấp một ví dụ về 7
Example1: 9Output: 1 Example2: 0Output: 0.75 Thực hiện Python thuần túy Sử dụng đơn giảnOct 19, 2020 at 19:38 Nhiều hơn hai chuỗi so sánhDRV Một số thuật toán có nhiều hơn một triển khai trong một lớp.1 gold badge6 silver badges18 bronze badges Sử dụng không có tùy chọn cho tốc độ tối đa. 1Cảm ơn và chúc mừng !!! 2Đã trả lời ngày 19 tháng 10 năm 2020 lúc 19:38 3DrvdrvApr 21 at 8:05 5261 Huy hiệu vàng6 Huy hiệu bạc18 Huy hiệu đồngAlex Punnen Thêm thư viện Spacy NLP cũng vào hỗn hợp;2 gold badges52 silver badges64 bronze badges Chạy với Robert Kern's Line_Profiler 4Tuy nhiên thời gian đang tiết lộDec 1, 2020 at 21:22
4.4382 Huy hiệu vàng52 Huy hiệu bạc64 Huy hiệu Đồng 5Đây là những gì tôi nghĩ đến:
Trong Stack Overflow, khi bạn cố gắng thêm một thẻ hoặc đăng một câu hỏi, nó đưa ra tất cả các công cụ có liên quan. Điều này rất thuận tiện và chính xác là thuật toán mà tôi đang tìm kiếm. Do đó, tôi đã mã hóa một bộ lọc tương tự bộ truy vấn.Oct 29, 2021 at 14:06 Giải trìnhWeilory
Bạn có thể chỉnh sửa biến cho phép from difflib import SequenceMatcher def similar(a, b): return SequenceMatcher(None, a, b).ratio() 9 trong from difflib import SequenceMatcher def similar(a, b): return SequenceMatcher(None, a, b).ratio() 8, nó cho biết phạm vi chúng ta cần tìm kiếm lớn đến mức nào. Nó hoạt động như thế này: hai chuỗi được lặp lại, nếu cùng một ký tự được tìm thấy ở cùng một chỉ số, thì bộ tích lũy sẽ được thêm vào một giá trị lớn nhất. Sau đó, chúng tôi tìm kiếm trong phạm vi chỉ mục của >>> similar("Apple","Appel") 0.8 >>> similar("Apple","Mango") 0.0 1, nếu được khớp, thêm vào bộ tích lũy dựa trên cách viết thư. (Càng, càng nhỏ)
Đã trả lời ngày 29 tháng 10 năm 2021 lúc 14:06Weiloryweiloryusing the equals() method. This method compares this string to the specified object. The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object. Bạn có thể sử dụng == để so sánh hai chuỗi không?Bạn không nên sử dụng == (toán tử bình đẳng) để so sánh các chuỗi này vì chúng so sánh tham chiếu của chuỗi, tức là chúng có cùng một đối tượng hay không.Mặt khác, phương thức bằng () so sánh liệu giá trị của các chuỗi có bằng nhau hay không là chính đối tượng. because they compare the reference of the string, i.e. whether they are the same object or not. On the other hand, equals() method compares whether the value of the strings is equal, and not the object itself. |