CambridgeMolecularEngineering / chemdataextractor2

ChemDataExtractor Version 2.0
Other
121 stars 28 forks source link

Extracting Chemical details from Paragraph -- Error #26

Open ieea opened 1 year ago

ieea commented 1 year ago

Hi , I am trying to use the package chemdataextracto2 to extract chemical names from a paragraph or an article. I installed the same and while trying to use for a basic step say i.e. document loading, I am getting error. Please help me .. Regards, Gaurav

Code Snippet:

from chemdataextractor2.chemdataextractor.doc import Document, Heading, Paragraph
from chemdataextractor2.chemdataextractor.model import TemperatureModel, StringType, Compound, ModelType, DimensionlessModel
doc = Document('UV-vis spectrum of 5,10,15,20-Tetra(4-carboxyphenyl)porphyrin in Tetrahydrofuran (THF).')

Error details:

################################################################################################# File "/home/GauravG/datadrive/ChemicalAnalysis/chemdataextractor2/chemdataextractor/model/units/angle.py", line 13, in from .quantity_model import QuantityModel File "/home/GauravG/datadrive/ChemicalAnalysis/chemdataextractor2/chemdataextractor/model/units/quantity_model.py", line 21, in from ...parse.template import QuantityModelTemplateParser, MultiQuantityModelTemplateParser File "/home/GauravG/datadrive/ChemicalAnalysis/chemdataextractor2/chemdataextractor/parse/template.py", line 14, in from ..nlp.tokenize import ChemWordTokenizer, ChemSentenceTokenizer File "/home/GauravG/datadrive/ChemicalAnalysis/chemdataextractor2/chemdataextractor/nlp/init.py", line 16, in from .new_cem import CemTagger File "/home/GauravG/datadrive/ChemicalAnalysis/chemdataextractor2/chemdataextractor/nlp/new_cem.py", line 16, in from .finetuned_bert_crf_wrapper import _BertCrfTagger File "/home/GauravG/datadrive/ChemicalAnalysis/chemdataextractor2/chemdataextractor/nlp/finetuned_bert_crf_wrapper.py", line 21, in class _BertCrfTagger(Model): File "/home/GauravG/datadrive/ChemicalAnalysis/chemdataextractor2/chemdataextractor/nlp/finetuned_bert_crf_wrapper.py", line 132, in _BertCrfTagger def forward(self, # type: ignore File "/home/GauravG/datadrive/ChemicalAnalysis/chem_env/lib/python3.8/site-packages/overrides/overrides.py", line 83, in overrides return _overrides(method, check_signature, check_at_runtime) File "/home/GauravG/datadrive/ChemicalAnalysis/chem_env/lib/python3.8/site-packages/overrides/overrides.py", line 170, in _overrides

_validate_method(method, super_class, check_signature)

File "/home/GauravG/datadrive/ChemicalAnalysis/chem_env/lib/python3.8/site-packages/overrides/overrides.py", line 189, in _validate_method ensure_signature_is_compatible(super_method, method, is_static) File "/home/GauravG/datadrive/ChemicalAnalysis/chem_env/lib/python3.8/site-packages/overrides/signature.py", line 106, in ensure_signature_is_compatible ensure_all_positional_args_defined_in_sub( File "/home/GauravG/datadrive/ChemicalAnalysis/chem_env/lib/python3.8/site-packages/overrides/signature.py", line 220, in ensure_all_positional_args_defined_in_sub raise TypeError(f"{method_name}: {super_param.name} must be present") TypeError: _BertCrfTagger.forward: inputs must be present ###################################################################################################

OBrink commented 1 year ago

Hey @ieea,

I have tried reproducing your problem, and after adapting the import statements, everything runs fine.

from chemdataextractor.doc import Document, Heading, Paragraph
from chemdataextractor.model import TemperatureModel, StringType, Compound, ModelType, DimensionlessModel
doc = Document('UV-vis spectrum of 5,10,15,20-Tetra(4-carboxyphenyl)porphyrin in Tetrahydrofuran (THF).')

This seems to be related to a non-compatible version of the dependency overrides (see related issue here). You could try fixing the dependencies in your environment or use this Docker image with the current version of ChemDataExtractor.

Kind regards, Otto