我正在为我的学士学位编写一个智能家居软件,它只会模拟实际的房子,但我被困在项目的 NLP 部分。这个想法是让客户端收听语音输入(已经完成),将其转换为文本(完成)并将其发送到服务器,服务器完成所有繁重的工作/决策。
所以我所有的输入都会很短(比如“请打开门廊灯”)。基于此,我想决定对哪个对象采取行动,以及如何采取行动。所以我想出了一些事情要做,以便写一些有效率的东西。
- 去掉不必要的词(在前面的例子中,“please”和“the”是不会改变需要做的事情的意思的词;但是如果我说“关闭我的灯”,“my”确实有相当重要的意思)。
- 处理同义词(“打开灯”应该和“启用灯”一样——我知道这是一个愚蠢的例子)。我猜唯一的选择是拥有某种字典(可能是 XML),并且只为房子中的一个特定对象提供一个可能的单词列表。
- 检测动词和主语。“打开”是动词,“灯”是主语。我需要一种很好的方法来检测这一点。
- 一般实施。这些东西通常在算法方面是如何开发的?我只在 Smart Homes 中找到了一篇关于 NLP 的文章,非常模糊(而且英语很差)。欢迎任何链接。
我希望这个问题足够独特(我已经看过关于 SO 的 NLP 问题,没有一个真正有帮助),它不会被关闭。