edbeard / chemdataextractor-pv Goto Github PK
View Code? Open in Web Editor NEWFork of ChemDataExtractor 2.0, tailored to extract information about dye-sensitized photovoltaic devices
License: MIT License
Fork of ChemDataExtractor 2.0, tailored to extract information about dye-sensitized photovoltaic devices
License: MIT License
Example:
def test_errors_brackets_table(self):
input = [['Dye', 'FF (%)'], ['T-1', '71.43(±0.09)']]
expected = []
self.do_table_cell(input, expected, FillFactor)
Returns:
[{'FillFactor': {'raw_value': '71.43', 'specifier': 'FF', 'value': [71.43]}}]
NB: Issue likely to do with core CDE. Will submit a fix to the dev version when done.
The SentenceDye parser is too permissive. Currently idenifying sentences like:
"Although, this HOMO level is little lower than those of Spiro-OMeTAD, X51 and P3HT, based on the HOMO energy level of the CH3NH3PbI3 perovskite sensitizer (−5.46 eV (ref. 34)), the 0.17 eV over potential is large enough driving force for the complete hole transportation (Fig. S3†), and thereby a complete regeneration of the oxidized dye can be ensured."
This is picking up the word sensitizer, and then looking for any instance of an alphanumeric in the same sentence.
Could restrict the raw_value parser for this, or try a different approach (such as the dictionary of popular dyes...)
The current parse_expression for the specifier is parse_expression=Any().hide()
. This is lenient and slows down CDE, as every element is determine to be a PhotovoltaicCell, and then thrown away at later stage. Example:
{'PhotovoltaicCell': {'semiconductor': {'Semiconductor': {'specifier': 'photoanode', 'raw_value': 'TiO2', 'thickness': {'SemiconductorThickness': {'raw_value': '20', 'raw_units': 'nm', 'value': [20.0], 'units': '(10^-9.0) * Meter^(1.0)', 'specifier': 'photoanode'}}}}}}
{'PhotovoltaicCell': {}}
{'PhotovoltaicCell': {}}
{'PhotovoltaicCell': {}}
{'PhotovoltaicCell': {}}
Might be solved by adding an option for automatic parser that doesn't need a specifier
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.