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
    0                                    Android Java
    1                  Software Development Developer
    2                            Full-stack Developer
    3                      JavaScript Frontend Design
    4                          Android iOS JavaScript
    5                             Ruby JavaScript PHP

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

    Code
    left_side                       right_side                  similarity
    7   JavaScript Frontend Design  Design JavaScript Frontend  0.849943
    8   JavaScript Frontend Design  Frontend Design JavaScript  0.814599
    9   JavaScript Frontend Design  JavaScript Frontend         0.808010
    10  JavaScript Frontend Design  Frontend JavaScript Design  0.802881
    12  Android iOS JavaScript      Android iOS Java            0.925126
    15  Machine Learning Engineer   Machine Learning Developer  0.839165
    21  Android Developer Developer Android Developer           0.872646
    25  Design Marketing Testing    Design Marketing            0.817195
    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
    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
    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.