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

标签 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 为我的多语言文档建模?

最佳答案

关于此的 2 个想法:

  1. code switch : 将一种以上的语言组合成(主要但不限于)口语文本。这不完全是您的示例。
  2. 像你这样的句子,有点可分离。

如果您的大部分文本更像您的示例,我会尝试尝试按语言分隔文本(对于您的示例,我会生成 2 个句子并单独处理每个句子)。

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

关于python - 具有多种语言的 spaCy 流程文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45915356/

相关文章:

python - 不使用提交按钮提交,Mechanize

java - 设计牛津英语词典

python - 使用 TSNE 的词嵌入可视化不清楚

arrays - 以下方法的运行时间如何为 O(N) 且空间复杂度为 O(1)?

algorithm - 序列的部分乘积的节省空间的数据结构?

python - 用于 Python 的轻量级 NLP 框架

python - 计算字符串中尾随换行符的数量

python - Pycharm 的终端不会更改 Project Interpreter 处的 Python 版本对应的 Python 版本

Python Exchangelib读取子文件夹中的邮件

python - select.select() 如何工作?