您好,我正在嘗試使用以下文本示例創建具有某些功能的令牌并以某種 JSON 格式排列它們:
words = ['The study of aviation safety report in the aviation industry usually relies',
'The experimental results show that compared with traditional',
'Heterogeneous Aviation Safety Cases: Integrating the Formal and the Non-formal']
{"sentence": [
{
indexSentence:0,
tokens: [{
"indexWord": 1,
"word": "The",
"len": 3
},
{ "indexWord": 2,
"word": "study",
"len": 5},
{"indexWord": 3,
"word": "of",
"len": 2
},
{"indexWord": 4,
"word": "aviation",
"len": 8},
...
]
},
{
"indexSentence" : 1,
"tokens" : [{
...
}]
},
....
]}
我嘗試使用以下代碼但沒有成功...
t_d = {len(i):i for i in words}
[{'Lon' : len(t_d[i]),
'tex' : t_d[i],
'Sub' : [{'index' : j,
'token': [{
'word':['word: ' j for i,j in enumerate(str(t_d[i]).split(' '))]
}],
'lenTo' : len(str(t_d[i]).split(' '))
}
],
'Sub1':[{'index' : j}]
} for j,i in enumerate(t_d)]
uj5u.com熱心網友回復:
下面的解決方案假設標記化使用該str.split函式按空格拆分句子。該解決方案應該仍然能夠與任何其他標記化功能一起使用。
from collections import defaultdict
words = ['The study of aviation safety report in the aviation industry usually relies',
'The experimental results show that compared with traditional',
'Heterogeneous Aviation Safety Cases: Integrating the Formal and the Non-formal']
sentence = defaultdict(list)
for idx,i in enumerate(words):
struct = {"indexSentence":idx,"tokens":[{"indexWord":idx_w,
"word":w,
"len":len(w)} for idx_w, w in enumerate(i.split())]}
sentence['sentence'].append(struct)
dict(sentence)
>>
{'sentence': [{'indexSentence': 0,
'tokens': [{'indexWord': 0, 'word': 'The', 'len': 3},
{'indexWord': 1, 'word': 'study', 'len': 5},
{'indexWord': 2, 'word': 'of', 'len': 2},
{'indexWord': 3, 'word': 'aviation', 'len': 8},
{'indexWord': 4, 'word': 'safety', 'len': 6},
{'indexWord': 5, 'word': 'report', 'len': 6},
{'indexWord': 6, 'word': 'in', 'len': 2},
{'indexWord': 7, 'word': 'the', 'len': 3},
{'indexWord': 8, 'word': 'aviation', 'len': 8},
{'indexWord': 9, 'word': 'industry', 'len': 8},
{'indexWord': 10, 'word': 'usually', 'len': 7},
{'indexWord': 11, 'word': 'relies', 'len': 6}]},
{'indexSentence': 1,
'tokens': [{'indexWord': 0, 'word': 'The', 'len': 3},
...
}
您可以利用defaultdict首先創建串列或陣列,然后在頂部附加所需的結構。要模仿json結構,您可以轉回dict.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/346597.html
