sagen, dass ich eine Liste mit ähnlich strukturierten Zeichenfolgen in einer Datei gespeichert haben:Wie extrahiere ich die Struktur aus einer Liste von Strings?
Jenny lives in New York. She is 22 and a machinist.
Tommy lives in Los Angeles. He is 21 and a ballet dancer.
Kevin lives in Boston. He is 7 and jobless.
Nun möchte Ich mag die identische Struktur zu extrahieren sowie Teile, die verschiedenen in diesen Strings sind. Im Idealfall sollte ich erhalten:
structure == "%s lives in %s. %se is %d and %s."
data == [
[ "Jenny" , "New York" , "Sh" , 22 , "a machinist" ] ,
[ "Tommy" , "Los Angeles" , "H" , 21 , "a ballet dancer" ] ,
[ "Kevin" , "Boston" , "H" , 7 , "jobless" ]
]
Nicht, dass die structure
unbekannt und sollte aus der Liste der Zeichenketten berechnet werden. Genauer gesagt ist eine Struktur als die längste gemeinsame Untersequenz definiert, die über alle Zeichenfolgen hinweg möglich ist.
Was ist der einfachste Weg, um dies mit einem Werkzeug oder einer Sprache zu erreichen, die normalerweise in einer Linux-Umgebung zu finden ist?
Edit: zu klären, können diese Strings beliebig sein und müssen nicht in natürlicher Sprache sein. Aber das obige Beispiel ist ziemlich genau das, was ich in 99% der Zeit zu tun erwarte. Ich definiere derzeit "Struktur" als die längste gemeinsame Subsequenz, die über alle Strings möglich ist (es sei denn, die Methode könnte viel einfacher oder schneller sein, wenn ich die Definition etwas nachsichtig mache).
Edit2: Ich sehe ein Missverständnis der Frage in den Antworten. Hier ist die structure
nicht vordefiniert und sollte aus die Liste der Zeichenfolgen berechnet werden.
Möchten Sie Informationen aus Structured String extrahieren? Wenn das der Fall ist, wird jede Programmiersprache ausreichen. Wenn Sie Informationen aus Natural Language extrahieren möchten, müssen Sie einen Natural Language Processor wie [link] (https://open-lp.apache.org/) oder den ALchemyApi von IBM watson verwenden, zum Beispiel – ketrox
@ketrox Thanks for die Antwort, aber mein Problem muss wirklich nicht in natürlicher Sprache sein. Es könnte irgendwelche Saiten sein. Mir ist bewusst, dass die Sprache keine Rolle spielt, ich erwähnte das, weil es mir egal ist, in welcher Sprache die Antwort geschrieben ist, solange ich verstehen kann, wie es gemacht wird. – trVoldemort