Ich habe Daten, die einen Satz und eine Gruppe (Label) enthält -> Schlüssel, Wert-Paar ist (Gruppe, Satz) zu starten und ich möchte die teilen Satz in Wörter, so dass ich mit (Gruppe, Wort) Paare für alle Wörter in allen Sätzen enden. Wie kann ich das in einer Pipeline machen? Betrachten Sie dieses TestbeispielApache Beam Python Split-Satz in Schlüssel, Wert-Paar für jedes Wort
test_input = [{'group': '1', 'sentence': 'This is a sentence'},
{'group': '1', 'sentence': 'This is another sentence'},
{'group': '2', 'sentence': 'Here is a third sentence'},
{'group': '3', 'sentence': 'The last example'}]
test_transformation = (test_input
| 'split' >> beam.FlatMap(lambda x: (x["group"], x["sentence"].split()))
)
test_transformation
Das obige Beispiel aufgeteilt ist, den Satz in eine Liste von Wörtern, sondern auch die gesamte Liste wird mit dem Wort gepaart. Wie kann ich diese Liste weiter aufschlüsseln? Der Ausgang für die erste Zeile unter:
['1',['This', 'is', 'a', 'sentence']]
Während, was ich will, ist etwas mehr wie
[('1', 'This'), ('1', 'is'), ('1', 'a'), ('1', 'sentence')]
Das fühlt sich an, als ob es sein sollte tun können, aber ich kann nicht herausfinden, wie man zu Dies.