Java 用于规范化文本源并从规范化源构建原始源的工具

Java 用于规范化文本源并从规范化源构建原始源的工具,java,text,nlp,normalization,Java,Text,Nlp,Normalization,有人知道Java上的一个工具/项目可以规范化文本并存储规范化日志,然后构建原始源文本吗 任何方法都值得赞赏 问题是: 为了处理输入数据,我们需要对其进行规范化 流程引擎接收标准化文本并返回匹配的位置 在这一步之后,我们需要通过归一化位置恢复原始等效源 例如: Source: Lorem ipsum ad his scripta blandit partiendo, eum fastidii accumsan euripidis in, eum liber hendrerit an ... ütf

有人知道Java上的一个工具/项目可以规范化文本并存储规范化日志,然后构建原始源文本吗

任何方法都值得赞赏

问题是: 为了处理输入数据,我们需要对其进行规范化

流程引擎接收标准化文本并返回匹配的位置

在这一步之后,我们需要通过归一化位置恢复原始等效源

例如:

Source:
Lorem ipsum ad his scripta blandit partiendo, eum fastidii accumsan euripidis in, eum liber hendrerit an ... ütf Wórd èxämplé

Normalized text (approx):
lorem ipsum scripta blandit partiendo, fastidi accumsan euripidis, liber hendrerit utf word example

Engine output:
lorem ipsum scripta begin 0 end 19
euripidis           begin 56 end 65

Original source equivalent:
Lorem ipsum ad his scripta begin 0 end 26
euripidis                  begin 69 end 78

感谢您的帮助

解决此问题的最佳方法是使用正则表达式:


这样的问题是离题的。如果您提供详细的规范,它可能会被接受。一般来说,只跟踪原始文本本身可能比记录从规范化文本重新生成的指令更容易、更可靠。
// Given
Source:
Lorem ipsum ad his scripta blandit partiendo, eum fastidii accumsan euripidis in, eum liber hendrerit an ... ütf Wórd èxämplé

Stopwords:
ad, his, eum, in, an

ASCII text:
Lorem ipsum ad his scripta blandit partiendo, eum fastidii accumsan euripidis in, eum liber hendrerit an ... utf Word example

Normalized text (approx):
lorem ipsum scripta blandit partiendo, fastidi accumsan euripidis, liber hendrerit utf word example

// Then
Engine output:
lorem ipsum scripta begin 0 end 19
euripidis           begin 56 end 65

To take original text from normalized, used Regex
lorem( (ad|his|eum|in|an))* ipsum( (ad|his|eum|in|an))* scripta
euripidis

// Verify

Original source equivalent:
Lorem ipsum ad his scripta begin 0 end 26
euripidis                  begin 69 end 78