Java 将自然语言句子转换为机器可读格式的最佳方法?

Java 将自然语言句子转换为机器可读格式的最佳方法?,java,python,nlp,Java,Python,Nlp,我有一个金融产品数据库,每天都会根据我们从数据供应商处获得的信息进行更新。这些产品包含一个“退出负载”,它类似于在规定时间段之前退出投资的费用,并作为字符串存储在列中。 我们从数据提供商处收到的此类退出负载的一个例子是:“如果赎回/打开或在分配日期后365天之前:-赎回/退出单元为零,最多为分配单元的24%(限额)赎回金额超过上述限额24%时为1%——赎回单位将以先进先出(FIFO)方式进行,此后为零。” 我需要能够将这样一个句子转换成我的应用程序可以使用的公式。例如,上面的句子可以转换为:“如

我有一个金融产品数据库,每天都会根据我们从数据供应商处获得的信息进行更新。这些产品包含一个“退出负载”,它类似于在规定时间段之前退出投资的费用,并作为字符串存储在列中。
我们从数据提供商处收到的此类退出负载的一个例子是:“如果赎回/打开或在分配日期后365天之前:-赎回/退出单元为零,最多为分配单元的24%(限额)赎回金额超过上述限额24%时为1%——赎回单位将以先进先出(FIFO)方式进行,此后为零。”

我需要能够将这样一个句子转换成我的应用程序可以使用的公式。例如,上面的句子可以转换为:“如果赎回的单位>24%&&investment\u持续时间<365天,则退出\u负载=1%,否则为0%。”
此类出口荷载类型有1000多个句子变体。

如何做到这一点?

如果1000个不同的组合总是组合相同的词块,您可以尝试匹配这些词块,并为它们指定公式版本。如果组块中的数字随着句子的变化而变化,您可以将它们视为通配符,只匹配文本,然后在识别组块后解析数字。请记住修剪空白,忽略区分大小写。如果句子写得完全不同,恐怕你很难做到这一点。试试看你是否能首先识别出可重复的模式。