[英]How to use multiple corpora files to use as parallel corpora in Watson Language Translator in Python
[英]How to load multiple XML files of corpora with NLTK and use it as a whole with Text class?
伙計們,我整理了一套NLTK的語料庫,它們基本上是簡單的XML文件。 我可以像這樣加載它:
>>> from nltk.corpus import cicero
>>> print cicero.fileids()
['cicero_academica.xml', 'cicero_arati_phaenomena.xml', ...]
現在,我知道XMLCorpusReader不會一次提供所有這些XML文件的內容,因為它希望一次只處理一個XML,對嗎? 我試圖繞過它編寫一個for循環,將其全部放入列表中,然后將其提供給XMLCorpusReader,但是沒有運氣...
簡而言之:我怎么能用NLTK加載多個XML語料庫,並一次在所有它們中運行.words()? 工作代碼示例會很好。
似乎我無法一次加載所有XML並使用它們(例如,與Text()類一起)通過所有XML文件(而不是一次僅一次)打印單詞的一致性。
是否有解決方法或真正的NLTK解決方案? 我應該編寫一個神奇的XMLCorpusReader繼承類嗎? 我應該刪除XML並使用平面文件嗎?
這與我的問題類似,但是到目前為止,我認為NLTK的答案並不是真正有用的: NLTK的XMLCorpusReader可以用於多文件語料庫嗎?
不完全是我所追求的,但現在可以解決問題。 我會再嘗試一些,所以以后可能會有所不同。 無論如何,一個小的工作測試:-)
# http://stackoverflow.com/questions/6849600/does-anyone-have-a-categorized-xml-corpus-reader-for-nltk
from CatXMLReader import CategorizedXMLCorpusReader
from nltk.corpus import cicero
from nltk import Text
fileids = cicero.abspaths()
reader = CategorizedXMLCorpusReader('/', fileids, cat_file='cats.txt')
words = Text(reader.words(fileids))
print words.concordance('et')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.