は、私は、ファイルに保存されている同様の構造文字列のリストを持っていると言う:文字列のリストから構造を抽出するにはどうすればよいですか?
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.
今私は同じ構造だけでなく、これらの文字列で異なる ている部分を抽出したいと思います。理想的には、私が取得する必要があります。
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" ]
]
ないstructure
は不明であり、文字列のリストから計算する必要があること。正確には、構造体は、すべての文字列にわたって可能な最も長い共通サブシーケンスとして定義されています。
Linux環境でよく見られるツールや言語を使用してこれを達成する最も簡単な方法は何ですか?
編集:を明確にするために、これらの文字列は任意であり、自然言語である必要はありません。しかし、上記の例は、私が99%の時間にやると予想しているものです。私は現在、すべての文字列で可能な最も長い共通サブシーケンスとして「構造」を定義しています(定義を少し寛大にすると、メソッドがはるかに簡単または高速になることはできません)。
編集2:回答の質問の誤解があります。ここでstructure
はであり、事前定義されていないであり、から計算するとの文字列のリストです。
構造化文字列から情報を抽出しようとしていますか?もしそれがどんなプログラミング言語の場合にも当てはまるでしょう。自然言語から情報を抽出する場合は、[リンク](https://opennlp.apache.org/)のような自然言語処理プログラムを使用するか、IBMワトソンのALchemyApiを使用する必要があります。 – ketrox
@ketroxありがとう答えは私の問題は本当に自然言語である必要はありません。任意の文字列を指定できます。私は言語が重要ではないことを認識しています。私はそれがどのように行われるのか理解できる限り、答えがどの言語に書かれているか気にしないので言いました。 – trVoldemort