Я работаю над системой разрешения оснований на основе нейронных сетей для своей дипломной работы бакалавра, и у меня возникает проблема, когда я читаю корпус.
Корпус уже обработан, и мне нужно толькопрочитайте это, чтобы сделать мои вещи.Я использую Beautiful Soup 4 для чтения XML-файлов каждого документа, который содержит данные, которые мне нужны.
файлы выглядят так:
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE markables SYSTEM "markables.dtd">
<markables xmlns="www.eml.org/NameSpaces/markable">
<markable id="markable_102" span="word_390" grammatical_role="vc" coref_set="empty" visual="none" rel_type="none" np_form="indefnp" type="" entity="NO" nb="UNK" def="INDEF" sentenceid="19" lemmata="premia" pos="nn" head_pos="word_390" wikipedia="" mmax_level="markable"/>
<markable id="markable_15" span="word_48..word_49" grammatical_role="vc" coref_set="empty" visual="none" rel_type="none" np_form="defnp" type="" entity="NO" nb="SG" def="DEF" sentenceid="3" lemmata="Grozni hegoalde" pos="nnp nn" head_pos="word_48" wikipedia="Grozny" mmax_level="markable"/>
<markable id="markable_101" span="word_389" grammatical_role="sbj" coref_set="set_21" coref_type="named entities" visual="none" rel_type="coreferential" sub_type="exact repetition" np_form="ne_o" type="enamex" entity="LOC" nb="SG" def="DEF" sentenceid="19" lemmata="Mosku" pos="nnp" head_pos="word_389" wikipedia="" mmax_level="markable"/>
...
Мне нужно извлечь все пролеты здесь,поэтому попробуйте сделать это с помощью этого кода (python3):
...
from bs4 import BeautifulSoup
...
file1 = markables+filename+"_markable_level.xml"
xml1 = open(file1) #markable
soup1 = BeautifulSoup(xml1, "html5lib") #markable
...
...
for markable in soup1.findAll('markable'):
try:
span = markable.contents[1]['span']
print(span)
spanA = span.split("..")[0]
spanB = span.split("..")[-1]
...
(я проигнорировал большую часть кода, так как они состоят из 500 строк)
python3 aurreprozesaketaSTM.py
train
--- 28.329787254333496 seconds ---
&&&&&&&&&&&&&&&&&&&&&&&&& egun.06-1-p0002500.2000-06-01.europa
word_48..word_49
word_389
word_385..word_386
word_48..word_52
...
, если вы соединяете файл xmlс выводом, вы можете увидеть, что word_390 отсутствует.
Я получаю почти все данные, которые мне нужны, затем предварительно обрабатываю все, строю систему с нейронными сетями, и, наконец, я получаю оценки и все ...
Но когда я теряю первое словоточность каждого системного документа немного ниже, чем должна быть.
Кто-нибудь может мне помочь с этим?Есть идеи, в чем проблема?