Java 如何根据字符串的值对其进行分类

Java 如何根据字符串的值对其进行分类,java,string,categorization,Java,String,Categorization,我尝试使用Java编程将字符串划分为类别(书籍、食品和医疗用品)。这对我来说真的很困惑,因为字符串上有一个小的自动装置。字符串只有一个单词,但英语中有很多单词。我可以采取什么策略来实现这一点吗?要做到这一点,你必须保持一个包含书籍、食品和医疗用品的数据库(存储)。然后,当您可以用这三个参数检查字符串并做出决定时 例如,您可以模拟简单的情况。假设您将保留三张地图 Map<String,String> store=new HashMap<String,String>(); s

我尝试使用Java编程将字符串划分为类别(书籍、食品和医疗用品)。这对我来说真的很困惑,因为字符串上有一个小的自动装置。字符串只有一个单词,但英语中有很多单词。我可以采取什么策略来实现这一点吗?

要做到这一点,你必须保持一个包含
书籍
食品
医疗用品
的数据库(存储)。然后,当您可以用这三个参数检查字符串并做出决定时

例如,您可以模拟简单的情况。假设您将保留三张
地图

Map<String,String> store=new HashMap<String,String>();
store.put("GameOfThrowns","Book");
store.put("Rice","Food");
Map store=newhashmap();
商店。放(“花鸟游戏”,“书”);
储存。放入(“大米”、“食品”);
您只需使用此
映射的键
获取您的
字符串
的值即可

供参考:


你无法达到你的目标,因为它与人工智能更相关。你必须使用神经网络,这仍然属于实验室水平,但这只是一次尝试。

当然,简短的回答是,你不能。如果你想一想,直觉就会明白为什么。拿“我的猫”这个值来说,那是一本书吗?那是食物吗?我猜这甚至可能是医疗用品(对于医疗用品的定义非常宽松)。简言之,除非你知道单词的上下文,否则就无法对单词本身进行分类。如果是模糊的类别,那么就更不用说了,因为某些东西可能属于多个类别。

彻底解决这个问题并获得诺贝尔奖。@MarkoTopolnik这不是图灵奖吗?@Mureinik可能两者都有。:)您想要解决的问题是来自自然语言处理的问题。关于NLP的文献很多。在Java中,您可以尝试使用Standford NLP库。在这种情况下,神经网络甚至不是特别有用,因为当它猜错的时候,没有内在的反馈机制来教它。