Gruppieren von Profilzeichenfolgen mit denselben Wörtern, die jedoch nicht in der richtigen Reihenfolge wie Python vorkommen

  • Ich habe einen Datenrahmen mit einer Spalte mit Profiltypen, die folgendermaßen aussieht:

    Code
    1. 0 Android Java
    2. 1 Software Development Developer
    3. 2 Full-stack Developer
    4. 3 JavaScript Frontend Design
    5. 4 Android iOS JavaScript
    6. 5 Ruby JavaScript PHP

    Ich habe NLP verwendet, um ähnliche Profile unscharf abzugleichen, wodurch der folgende ähnliche Datenrahmen zurückgegeben wurde:

    Code
    1. left_side right_side similarity
    2. 7 JavaScript Frontend Design Design JavaScript Frontend 0.849943
    3. 8 JavaScript Frontend Design Frontend Design JavaScript 0.814599
    4. 9 JavaScript Frontend Design JavaScript Frontend 0.808010
    5. 10 JavaScript Frontend Design Frontend JavaScript Design 0.802881
    6. 12 Android iOS JavaScript Android iOS Java 0.925126
    7. 15 Machine Learning Engineer Machine Learning Developer 0.839165
    8. 21 Android Developer Developer Android Developer 0.872646
    9. 25 Design Marketing Testing Design Marketing 0.817195
    10. 28 Quality Assurance Quality Assurance Developer 0.948010

    Dies hat zwar geholfen und mich von 478 auf 461 gebracht. Ich möchte mich jedoch auf folgende Profile konzentrieren:

    Code
    1. Frontend Design JavaScript Design Frontend JavaScript

    Das einzige Tool, das ich gesehen habe, um dieses Problem anzugehen, ist difflib? Meine Frage ist, welche anderen Techniken verfügbar wären, um diese Profile, die aus denselben Wörtern bestehen, aber nicht in der richtigen Reihenfolge sind, zu einer Standardzeichenfolge zu standardisieren. Die gewünschte Ausgabe wäre also, eine Zeichenfolge mit "Design", "Frontend" und "JavaScript" durch "Design Frontend JavaScript" zu ersetzen.


    Im Moment füge ich meinen ursprünglichen Datenrahmen mit dem Ähnlichkeitsdatenrahmen zusammen, um alle Vorkommen von Profilzeichenfolgen auf der rechten Seite durch die linke Seite zu ersetzen. Dies bedeutet jedoch, dass ich die rechte Seite unten ("Java Python Data Science") durch die ersetze left_side unten ("JavaScript Python Data Science").

    Code
    1. 53 JavaScript Python Data Science Java Python Data Science

    Ich habe Folgendes geschrieben, um alle Wörter zu ersetzen, die sowohl in der Spalte words_to_keep als auch in der Spalte clean_talentpool ['profile'] vorkommen, aber dies scheint nicht zu funktionieren? Würde jemand freundlich darauf hinweisen, was ich nicht sehe? Ich würde es wirklich schätzen!


    _______________________

    Pursuing data science online course.