1
说我有存储在一个文件类似结构的字符串列表:如何从字符串列表中提取结构?
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
是不是预定义的而应该是从计算出来的字符串列表。
您是否试图从结构化字符串中提取信息?如果这是比任何编程语言都足够的情况。如果你正在寻找从自然语言中提取信息,那么你需要使用像[link](https://opennlp.apache.org/)这样的自然语言处理器,或者使用IBM watson的ALchemyApi,例如 – ketrox
@ketrox感谢答案,但我的问题并不一定要用自然语言。它可以是任何字符串。我意识到语言并不重要,我提到过,因为我不在乎哪种语言的答案是写在只要我能理解它是如何完成的。 – trVoldemort