2017-08-28 112 views
0

給定一個長度相同的文檔字符串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模擬我的多語言文檔?

回答

0

2對此的想法:

  1. code switch:這是1種多語言組合成(主要是但不限於)口頭文本。這不完全是你的榜樣。
  2. 像你這樣的句子,有點可分。

如果你的大部分文字更像你的例子,我會嘗試嘗試和語言分離文本(例如,我會產生2個句子,並獨立處理每個文本)。

如果是另一種情況,我不確定spacy是否已經內置了對代碼切換的支持,如果不是,那麼您需要構建自己的模型(或者只是嘗試組合那些spacy)對你的實際任務

+0

謝謝你的回答。我將再次關注語言的空間分佈。我知道我的數據大約有三分之二的德語和三分之一的法語,其他語言的出現次數很少,但我不知道的主要是這兩種語言中的大部分是句子間還是整個段落。現在,我不會將此標記爲可接受的答案,因爲我的問題更多地是關於如何使用spaCy數據結構解決此問題 –