我有两个字符串,我正在检查它们中的特定常用词。我已经有了语义分数;在这种情况下无关紧要,因为这些词是技术缩写并具有特殊强调。他们拥有的常用词集越多,得分越高,距离越近。
有很多方法可以解决这个问题。到目前为止,我想到了两个。
1)我用字符串的单词创建了两个 ArrayList。如果它们同时存在于 ArrayList 中,我必须搜索另一组词。如果他们这样做,我会给他们+1分。
那么我可以有多个条件,比如
if((firstString.contains(keyWord)) && (secondString.contains(keyWord)))
then +1
if((firstString.contains(anotherKeyWord)) && (secondString.contains(anotherKeyWord)))
then +1
2> 取两个字符串并使用正则表达式搜索
if firstString.("(.*)someExpression(.*)")) && secondString.("(.*)someExpression(.*)"))
then +1
if firstString.("(.*)someOtherExpression(.*)")) && secondString.("(.*)someOtherExpression(.*)"))
then +1
还有其他更好的方法吗?我现在更倾向于使用正则表达式。这样做看起来非常有效。
基本上我正在做的是我试图通过将句子与缩写如“ACLS”、“ASHD”、“CXR”(常用医学术语)进行分组来聚类相似的句子,因为我知道这些句子主要讨论这些问题。然后我得到语义分数来对包含这些单词的句子进行分组。错误的方法:/?
谢谢 :)