spaCy具有多种语言的流程文档

时间:2017-08-28 09:02:54

标签: python data-structures nlp multilingual spacy

给定一定长度的文档字符串s和相同长度的语言掩码l我想处理文档的每个部分(span?) spacy语言模型。

比如说

s = 'As one would say in German: Wie man auf englisch zu sagen pflegt'
l = ['en'] * 27 + ['de'] * 37

我想用

构建一个文档
import spacy
nlp_de = spacy.load('de')
nlp_en = spacy.load('en')

d_de = nlp_de(u"".join([c for i,c in enumerate(s) if l[i] == "de"]))
d_en = nlp_en(u"".join([c for i,c in enumerate(s) if l[i] == "en"]))

现在我不得不将这两个部分粘在一起。但不幸的是,spacy中的文档包含有关词汇的信息。因此这将是模棱两可的。

我应该如何使用spacy对多语言文档进行建模?

1 个答案:

答案 0 :(得分:1)

关于这个的2个想法:

  1. code switch:这是超过1种语言与(主要但不限于)语音文本的组合。这不是你的榜样。
  2. 像你这样的句子,有点可分。
  3. 如果您的大多数文字更像您的示例,我会尝试按语言分隔文本(对于您的示例,我会产生2个句子并自行处理)。

    如果是另一种情况,我不确定spacy是否内置了对代码切换的支持,如果不是,你需要构建自己的模型(或者只是尝试将spacy结合起来)依赖于你的实际任务