混合语言的语义相似性



我有一个包含数千个话语的数据库。每个记录(话语(都是表示问题描述的文本,用户已将其提交给服务台。有时还包括服务台代理的响应。该语言技术性很强,包含三种类型的标记:

  1. 语言1中的单词和短语(例如英语(
  2. 第二语言中的单词和短语(例如法语、挪威语或意大利语(
  3. 机器生成的输出(例如,使用unix命令ls-la列出文件(

这些语言混杂在一起。我经常看到在一次对话中,语言1中的一个句子后面跟着语言2。因此,不可能将数据划分为两个独立的集合,分别对应于两种语言的话语。

任务是找出记录之间的相似之处(问题描述(。这个练习的目的是了解用户提交的一些bug是否彼此相似。

问:在这种情况下,标准的处理方式是什么

特别是,问题在于这些单词来自两个不同的语料库(语料库(,而另外,一些技术单词(如文件名、操作系统路径或应用程序名称(在任何语料库中都找不到。

我不认为有"标准方式"-只是你可以尝试的事情。

你可以研究语言之间对齐的单词嵌入——这样,多种语言中的相似单词就有了相似的向量。然后,基于单词向量(比如所有单词向量的简单平均值(或基于单词向量的成对比较(比如"单词移动器的距离"(为文本构建摘要向量的方法仍然可以用于混合语言文本(甚至一个文本中的语言混合(。

单个文本,可能是关于一组(或密切相关的(问题,具有混合语言,这可能是一种祝福,而不是诅咒:你从这些文本中训练的一些分类器/嵌入可能能够学习单词与共享主题的跨语言相关性。但是,对于任何单语范围,你也可以考虑用额外的合成自动翻译文本来增强你的文本,以确保下游嵌入/比较更接近你的语言遗忘理想。

感谢您的建议。经过几次实验,我开发了一种简单且效果良好的方法。我没有使用现有的语料库,而是根据我的多语言数据库中的所有可用话语创建了自己的语料库。不用翻译。该数据库有130000个话语,包括350万个单词(英语、法语和挪威语三种语言(和150000个独特单词。基于这种方式构建的意义空间的短语相似性效果惊人地好。我已经在生产中测试了这种方法,结果很好。我也看到了很大的改进空间,并将继续完善它。我还写了这篇文章——一种对多语言短语进行分类的方法,更详细地描述了所有步骤。欢迎批评或改进。