C# 在Oracle中按单词拆分字符串,在查找表中查找缩写

C# 在Oracle中按单词拆分字符串,在查找表中查找缩写,c#,sql,oracle,C#,Sql,Oracle,我有一个大约10万对文本字符串(句子)的列表,它们的意思可能相同,即使值不同。许多问题仅仅是由于在一对中的一半使用缩写和不同的标点符号造成的: Source 1 Source 2 TEMP.IND. TEMPERATURE INDICATOR 我对如何解决这个问题的最初想法是将字符串按单词分割,然后在包含缩写和完整单词的表格中查找每个单词,如下所示: Abbreviation: Meaning: TEMP.

我有一个大约10万对文本字符串(句子)的列表,它们的意思可能相同,即使值不同。许多问题仅仅是由于在一对中的一半使用缩写和不同的标点符号造成的:

Source 1                Source 2
TEMP.IND.               TEMPERATURE INDICATOR
我对如何解决这个问题的最初想法是将字符串按单词分割,然后在包含缩写和完整单词的表格中查找每个单词,如下所示:

Abbreviation:          Meaning:
TEMP.                  TEMPERATURE
IND.                   INDICATOR
如果找到匹配项,我将使用新词生成替换字符串,然后再将其与其他源进行比较。如果它们不匹配,我会对查找表中找到的每个缩写词重复这个过程

在甲骨文中,与例如C#(我很流利)相比,这会很复杂吗?最好将其保留在数据库中,但如果需要花费太多的时间来实现,则不能这样做。还有更好的选择吗?另一种方法是手动检查所有内容


道歉,如果这是错误的网站

在DB(Oracle)中执行此操作应该与在C#中执行此操作一样容易,而且可能要快得多。一旦创建了等价表(包含缩写和含义列),编写代码就不是什么大问题了

难点在于规格说明。为什么要临时工。Ind.是指“温度指示器”,而不是“临时指数”或“印度寺庙”?只有当每个缩写对应一个唯一的含义时,这才有效(在Oracle或C#或其他任何语言中,这是不相关的)


祝你好运

我正在比较的文本来自一个非常特定的商业领域,因此不存在混淆的可能性。谢谢你的回答!即便如此,在开始考虑代码之前,您仍需要一套强大的规则。例如,应该是临时的。膨胀到一定的温度和温度。到温度(匹配的情况)?当温度升高时,你需要“感知”吗。是句子中的最后一个词,因此句号(句号,。结束句子)不会被删除,而句子中没有句号?你想要临时工吗。;和温度;二者均膨胀至一定温度;(后面跟分号;)?在您已经开发代码之后出现这些问题可能会非常令人沮丧。