Hướng dẫn how do you compare two sentences in python? - làm thế nào để bạn so sánh hai câu trong python?

Trước tiên tôi muốn nói rằng tôi đang sử dụng Tweepy. Tôi đã tìm thấy một cách để lọc ra cùng một chuỗi nhưng tôi gặp khó khăn trong việc lọc ra các chuỗi tương tự.

Tôi có hai chuỗi câu mà tôi cần phải so sánh (từ khóa Tweepy = "Donald Trump")

Chuỗi 1: "Trump Administration Dismisses Surgeon General Vivek Murthy (http)PUGheO7BuT5LUEtHDcgm"

Chuỗi 2: "Trump Administration Dismisses Surgeon General Vivek Murthy (http)avGqdhRVOO"

Như bạn có thể thấy chúng giống nhau nhưng không giống nhau. Tôi cần phải tìm cách so sánh cả hai và nhận được giá trị số để quyết định xem tweet thứ hai có nên được thêm vào đầu tiên hay không. Tôi nghĩ rằng tôi đã có giải pháp khi tôi sử dụng SequenceMatcher() nhưng nó luôn được in ra 0.0. Tôi đã hy vọng nó sẽ lớn hơn 0.5. Tuy nhiên, trình matcher trình tự dường như chỉ hoạt động cho một chuỗi một từ (sửa cho tôi nếu tôi sai).

Bây giờ bạn có thể đang suy nghĩ, "chỉ cần tách các phần HTTP". Điều đó cũng không hoạt động vì nó không tính đến những người tweet như @Cars: xyz zyx và @Trucks: xyz zyx

Có một số cách để so sánh hai văn bản? Nó nên đơn giản nhưng vì một số lý do, giải pháp giúp tôi vượt qua. Tôi vừa học Python một tuần trước. Vẫn cảm thấy kỳ lạ khi sử dụng các vết thương để phân biệt giữa những gì trong một chức năng hay không.

Hướng dẫn how do you compare two sentences in python? - làm thế nào để bạn so sánh hai câu trong python?

Bạn có thể sử dụng == với chuỗi Python không?

Các toán tử so sánh Python có thể được sử dụng để so sánh các chuỗi trong Python. Các toán tử này là: bằng (==), không bằng (! =), Lớn hơn (>), nhỏ hơn (<), nhỏ hơn hoặc bằng (=).

== So sánh trong Python là gì?

từ Difflib nhập sequencematcher

String1 = ‘Tôi là một chuỗi kiểm tra

String2 = ‘Tôi là một chuỗi thử nghiệm

seq = sequencematcher (none, string1, string2)

seq.ratio()

Output:

0.9230769230769231

TextDistance

Nếu bạn cần kết hợp mẫu phức tạp hơn thì những gì DiFflibTHER SequenCematcher có thể cung cấp, bạn có thể muốn kiểm tra thư viện Python TextDistance. Dưới đây là một số ví dụ về các thuật toán có trong thư viện văn bản. Để xem thêm, hãy truy cập tài liệu của họ được liên kết tại đây (https://pypi.org/project/textdistance/). Trước khi thử bất kỳ mã nào bên dưới, vui lòng đảm bảo PIP cài đặt TextDistance.https://pypi.org/project/textdistance/). Before trying out any of the code below, please make sure to pip install textdistance.

& nbsp; Levenshtein khoảng cách:Levenshtein Distance:

Thuật toán này đếm số lượng sửa đổi tối thiểu mà bạn phải thực hiện thành một chuỗi để biến nó thành chuỗi mà bạn đang so sánh nó với. Điều này rất hữu ích cho các tình huống mà bạn mong đợi để xem lỗi chính tả hoặc các biến thể nhỏ trên các từ, nhưng không phải nếu bạn muốn khớp các chuỗi nơi các từ đã được sắp xếp lại. Dưới đây là một ví dụ về mã của thuật toán này.

Nhập văn bản

TextDistance.levenshtein (Tôi là một chuỗi thử nghiệm, tôi là một chuỗi thử nghiệm)

Output:

3

Sự tương đồng của Jaccard:

Thuật toán tương tự Jaccard đưa ra tỷ lệ có bao nhiêu ký tự được chia sẻ được tìm thấy trong hai chuỗi bất kể thứ tự. Điều này có thể đặc biệt hữu ích trong các tình huống mà bạn nghĩ rằng các từ có thể được sắp xếp lại trong chuỗi của bạn. Dưới đây là một ví dụ mã sử dụng thuật toán này.

Nhập văn bản

TextDistance.jaccard (Tôi là một chuỗi kiểm tra, thì tôi là một chuỗi thử nghiệm))

Output:

0.8571428571428571

MRA (Phương pháp đánh giá phù hợp):

Thuật toán MRA hoạt động hơi khác so với các thuật toán khác được thảo luận dưới đây. Thay vì chỉ nhìn vào các ký tự trong các chuỗi để tìm các trận đấu, nó cố gắng biết liệu hai chuỗi có giống nhau hay không dựa trên âm thanh ngữ âm của các từ trong chuỗi. Điều này có thể rất hữu ích để xử lý văn bản từ những người nói ngôn ngữ không bản địa hoặc lỗi chính tả thông thường. Dưới đây là một ví dụ mã sử dụng thuật toán này.

Nhập văn bản

TextDistance.mra (

Output:

1

Bạn có thể sử dụng == với chuỗi Python không?

Các toán tử so sánh Python có thể được sử dụng để so sánh các chuỗi trong Python.Các toán tử này là: bằng (==), không bằng (! =), Lớn hơn (>), nhỏ hơn (<), nhỏ hơn hoặc bằng (=).

== So sánh trong Python là gì?

Toán tử == so sánh giá trị hoặc bình đẳng của hai đối tượng, trong khi đó, toán tử là toán tử kiểm tra xem hai biến có hướng đến cùng một đối tượng trong bộ nhớ hay không.Trong phần lớn các trường hợp, điều này có nghĩa là bạn nên sử dụng các toán tử bình đẳng == và! =compares the value or equality of two objects, whereas the Python is operator checks whether two variables point to the same object in memory. In the vast majority of cases, this means you should use the equality operators == and !=

Chúng ta có thể sử dụng == để so sánh 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.