DataFun社区是一个专注于大数据和算法的交流学习平台,聚集了许多行业内专业人士的关注。
本文内容源自小米智能云秦斌老师在DataFunTalk人工智能技术沙龙“自然语言处理技术应用实践”中的演讲《音乐垂域的自然语言理解》,经过编辑整理而成,在保持原意的基础上做了适当删减。
秦斌老师在现场分享了关于音乐领域自然语言处理的研究背景、功能实现以及遇到的挑战等内容。
小米大脑平台旨在提供一个通用的解决方案,能够处理各种数据。平台外部提供了SDK接口,以便厂商快速接入,从而降低成本。在客户端进行语音识别,而语音识别则通过云端的ASR服务实现,包括微软、百度、科大讯飞等服务商。这些服务在云端进行统一管理和优化,可以实现文本选择等功能。将语音转换为文本后,会进入NLP模块进行处理,包括个人训练计划、公共训练计划、查询概率等,最终发布到特定领域。
平台还包含一个设备开放平台(oivs),方便硬件设备接入。此外,还有一个技能开放平台,第三方开发者可以在平台上轻松创建技能,例如成语接龙或闲聊。周边还包括机器学习平台和其他资源平台。
音乐领域的主要功能包括用户个性化推荐、搜索意图等。例如,用户可以搜索周杰伦的歌曲,系统会提取“歌手/歌名/专辑/标签”等字段信息。为了应对用户输入中的模糊性和错误,系统还需要进行纠错,包括同音、补全和乱序纠错。
音乐领域还具备一些特色功能: 1. 上下文继承:能够理解用户连续的请求,如“我想听刘德华的歌,然后播放他的笨小孩”。 2. 用户情感分析:如“我想听岁月神偷,不要听金玟岐的”。 3. 播放顺序指定:允许用户指定播放顺序。 4. 歌词识别:如“海草海草”会被识别为“海草舞”。 5. 收听历史歌曲:需要用户提供时间信息。
在音乐领域,面临的主要挑战包括: 1. 实体名称复杂:实体名称多样且无固定规则,需要建立庞大的知识库。 2. 用户说法混乱:用户输入的文本往往不符合自然语言规范。 3. 实体名称纠错:实体名称的复杂性和多义性导致多种纠错需求。
为了解决这些问题,采用了知识库加搜索的方法,通过搜索排序算法解决数百万知识库的检索问题,并通过用户反馈和语言模型改进搜索结果。
数据处理流程主要包括以下几个步骤: 1. 数据归一化:对获取的数据进行标准化处理。 2. 数据清洗:去除重复数据,确保数据质量。 3. 索引构建:通过构建索引提高搜索效率。
音乐NLU的整体架构包括意图抽取、知识库搜索排序、字段抽取、路径选择及打分、线上数据反馈等环节。
推荐意图分类器通过二分类判断是否为推荐意图,目的是简化搜索过程。具体方法包括中文分词和抽取n-gram特征,最后使用逻辑回归模型。
自定义了一套文法规则,支持变量定义、文法组合和文法替代,以对query语义进行倾向性判断。此外,还使用了影视类、标签类词典。
知识库搜索排序基于Linden进行,支持综合搜索和单字、拼音搜索方式。搜索结果会进行初排和重排,通过Learn to Rank算法进行二次排序。
字段抽取包括资源字段和标签字段的抽取和纠错。评分基于意图分类和规则,结合语言路径的用户选择。
通过用户点击信息和行为特征信息,利用全领域知识反馈模型进行评估,包括完成率、首条完成率等指标。
当前项目存在音乐召回过多、slot抽取准确性不足、知识库准确性和完整性不足等问题。未来计划通过端到端模型和click模型训练进一步提升系统性能。
以上内容是对秦斌老师在DataFunTalk中分享的《音乐垂域的自然语言理解》的改写。希望对你有所帮助。