-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.json
1 lines (1 loc) · 88.9 KB
/
index.json
1
[{"authors":["admin"],"categories":null,"content":"The Oxford Modelling Group for Global Health (OMGH) is developing model structures to estimate the impact of potential mitigation strategies. By changing the input data and parameter values, the models can be adjusted to represent a national or subnational setting. In addition, a user friendly application and interface is being developed to enable widespread utility.\nThe COVID-19 International Modelling Consortium (CoMo Consortium) was created by researchers at the University of Oxford and Cornell University. The CoMo Consortium is partnering with infectious disease modellers and public health experts from over 40 countries in Africa, Asia and America. The CoMo Consortium uses a participatory approach to provide decision-making support to policymakers, using evidence from epidemiological and economic models adapted to each country’s context.\nThe CoMo Philippines group is the Philippines country team that is supporting the use of the model specific to the Philippines as part of the CoMo Consortium.\n","date":1590451200,"expirydate":-62135596800,"kind":"taxonomy","lang":"en","lastmod":1590451200,"objectID":"2525497d367e79493fd32b198b28f040","permalink":"/author/como-philippines/","publishdate":"0001-01-01T00:00:00Z","relpermalink":"/author/como-philippines/","section":"authors","summary":"The Oxford Modelling Group for Global Health (OMGH) is developing model structures to estimate the impact of potential mitigation strategies. By changing the input data and parameter values, the models can be adjusted to represent a national or subnational setting.","tags":null,"title":"CoMo Philippines","type":"authors"},{"authors":["ernestguevarra"],"categories":null,"content":"I have more than 15 years of professional experience in community and public health in humanitarian crises and developing country-settings, including as a community health worker, medical doctor, and currently as specialised expert and head of metrics, analytics and technology for Valid International. I have expertise in spatial epidemiology, geo-statistics, and statistical programming using R. In my recent role as Head of Measures for Valid International, I led the design, development and implementation of innovative surveys and assessments on health and nutrition and bespoke analytical approaches that leverage the advantages of Bayesian statistics and resampling techniques.\n","date":1590451200,"expirydate":-62135596800,"kind":"taxonomy","lang":"en","lastmod":1592438400,"objectID":"676aadfcf5944f17fb74f55e6ed17803","permalink":"/author/ernest-guevarra/","publishdate":"0001-01-01T00:00:00Z","relpermalink":"/author/ernest-guevarra/","section":"authors","summary":"I have more than 15 years of professional experience in community and public health in humanitarian crises and developing country-settings, including as a community health worker, medical doctor, and currently as specialised expert and head of metrics, analytics and technology for Valid International.","tags":null,"title":"Ernest Guevarra","type":"authors"},{"authors":["cegmercado"],"categories":null,"content":"Chris is a public health professional from the Philippines. He works as a Technical Officer for the Asia Pacific Malaria Elimination Network (APMEN) Secretariat in Singapore. Chris was a postgraduate researcher in Epidemiology at the Mahidol Oxford Tropical Medicine Research Unit (MORU) in Thailand, where he supported the collection, collation, and analysis of datasets on malaria surveillance in multiple countries in the Asia Pacific region, for the development of disease risk maps and mathematical models to support malaria elimination efforts.\nAs a member of the Philippines team, Chris is seeking to test and compare the CoMo Consortium model against other local modelling efforts in the Philippines and engage local decision makers in its use. Chris also aims to support evidence synthesis to inform the potential development of a local model and policy brief.\n","date":1590105600,"expirydate":-62135596800,"kind":"taxonomy","lang":"en","lastmod":1592438400,"objectID":"77ad8ad2cf0c2ca20537ff47d88b0872","permalink":"/author/chris-mercado/","publishdate":"0001-01-01T00:00:00Z","relpermalink":"/author/chris-mercado/","section":"authors","summary":"Chris is a public health professional from the Philippines. He works as a Technical Officer for the Asia Pacific Malaria Elimination Network (APMEN) Secretariat in Singapore. Chris was a postgraduate researcher in Epidemiology at the Mahidol Oxford Tropical Medicine Research Unit (MORU) in Thailand, where he supported the collection, collation, and analysis of datasets on malaria surveillance in multiple countries in the Asia Pacific region, for the development of disease risk maps and mathematical models to support malaria elimination efforts.","tags":null,"title":"Chris Mercado","type":"authors"},{"authors":["jrmedina"],"categories":null,"content":"Robert is an Assistant Professor, teaching courses on biostatistics and epidemiology at the College of Public Health of UP Manila. He has obtained his primary medical qualification and a post-graduate degree in global health. His training and experience in the field of public health and global health focus on the epidemiology, prevention, and control of infectious diseases such as dengue, soil-transmitted helminthiases, schistosomiasis, and Zika virus. His research interests include the use of geographic information systems and spatial statistics in public health, application of mixed-methods design, and disease surveillance. He is currently part of a working group composed of public health professionals from UP Manila-CPH and the World Health Organization Country Office that supports the Department of Health in strengthening Covid-19 surveillance in the Philippines.\nAs a member of the Philippines team, Robert is aiming to test and compare the CoMo Consortium model with existing local models that have previously been developed. By engaging key stakeholders who are involved in decision-making, he will support evidence synthesis to inform the potential development of a local model and policy brief.\n","date":1590105600,"expirydate":-62135596800,"kind":"taxonomy","lang":"en","lastmod":1592438400,"objectID":"e530a306d9be1d0f78ebd17f470c37e3","permalink":"/author/john-robert-medina/","publishdate":"0001-01-01T00:00:00Z","relpermalink":"/author/john-robert-medina/","section":"authors","summary":"Robert is an Assistant Professor, teaching courses on biostatistics and epidemiology at the College of Public Health of UP Manila. He has obtained his primary medical qualification and a post-graduate degree in global health.","tags":null,"title":"John Robert Medina","type":"authors"},{"authors":null,"categories":null,"content":"Flexibility This feature can be used for publishing content such as:\n Online courses Project or software documentation Tutorials The courses folder may be renamed. For example, we can rename it to docs for software/project documentation or tutorials for creating an online course.\nDelete tutorials To remove these pages, delete the courses folder and see below to delete the associated menu link.\nUpdate site menu After renaming or deleting the courses folder, you may wish to update any [[main]] menu links to it by editing your menu configuration at config/_default/menus.toml.\nFor example, if you delete this folder, you can remove the following from your menu configuration:\n[[main]] name = \u0026quot;Courses\u0026quot; url = \u0026quot;courses/\u0026quot; weight = 50 Or, if you are creating a software documentation site, you can rename the courses folder to docs and update the associated Courses menu configuration to:\n[[main]] name = \u0026quot;Docs\u0026quot; url = \u0026quot;docs/\u0026quot; weight = 50 Update the docs menu If you use the docs layout, note that the name of the menu in the front matter should be in the form [menu.X] where X is the folder name. Hence, if you rename the courses/example/ folder, you should also rename the menu definitions in the front matter of files within courses/example/ from [menu.example] to [menu.\u0026lt;NewFolderName\u0026gt;].\n","date":1536451200,"expirydate":-62135596800,"kind":"section","lang":"en","lastmod":1536451200,"objectID":"59c3ce8e202293146a8a934d37a4070b","permalink":"/courses/example/","publishdate":"2018-09-09T00:00:00Z","relpermalink":"/courses/example/","section":"courses","summary":"Learn how to use Academic's docs layout for publishing online courses, software documentation, and tutorials.","tags":null,"title":"Overview","type":"docs"},{"authors":null,"categories":null,"content":"In this tutorial, I\u0026rsquo;ll share my top 10 tips for getting started with Academic:\nTip 1 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.\nNullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.\nCras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.\nSuspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.\nAliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.\nTip 2 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.\nNullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.\nCras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.\nSuspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.\nAliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.\n","date":1557010800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1557010800,"objectID":"74533bae41439377bd30f645c4677a27","permalink":"/courses/example/example1/","publishdate":"2019-05-05T00:00:00+01:00","relpermalink":"/courses/example/example1/","section":"courses","summary":"In this tutorial, I\u0026rsquo;ll share my top 10 tips for getting started with Academic:\nTip 1 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum.","tags":null,"title":"Example Page 1","type":"docs"},{"authors":null,"categories":null,"content":"Here are some more tips for getting started with Academic:\nTip 3 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.\nNullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.\nCras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.\nSuspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.\nAliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.\nTip 4 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum. Sed ac faucibus dolor, scelerisque sollicitudin nisi. Cras purus urna, suscipit quis sapien eu, pulvinar tempor diam. Quisque risus orci, mollis id ante sit amet, gravida egestas nisl. Sed ac tempus magna. Proin in dui enim. Donec condimentum, sem id dapibus fringilla, tellus enim condimentum arcu, nec volutpat est felis vel metus. Vestibulum sit amet erat at nulla eleifend gravida.\nNullam vel molestie justo. Curabitur vitae efficitur leo. In hac habitasse platea dictumst. Sed pulvinar mauris dui, eget varius purus congue ac. Nulla euismod, lorem vel elementum dapibus, nunc justo porta mi, sed tempus est est vel tellus. Nam et enim eleifend, laoreet sem sit amet, elementum sem. Morbi ut leo congue, maximus velit ut, finibus arcu. In et libero cursus, rutrum risus non, molestie leo. Nullam congue quam et volutpat malesuada. Sed risus tortor, pulvinar et dictum nec, sodales non mi. Phasellus lacinia commodo laoreet. Nam mollis, erat in feugiat consectetur, purus eros egestas tellus, in auctor urna odio at nibh. Mauris imperdiet nisi ac magna convallis, at rhoncus ligula cursus.\nCras aliquam rhoncus ipsum, in hendrerit nunc mattis vitae. Duis vitae efficitur metus, ac tempus leo. Cras nec fringilla lacus. Quisque sit amet risus at ipsum pharetra commodo. Sed aliquam mauris at consequat eleifend. Praesent porta, augue sed viverra bibendum, neque ante euismod ante, in vehicula justo lorem ac eros. Suspendisse augue libero, venenatis eget tincidunt ut, malesuada at lorem. Donec vitae bibendum arcu. Aenean maximus nulla non pretium iaculis. Quisque imperdiet, nulla in pulvinar aliquet, velit quam ultrices quam, sit amet fringilla leo sem vel nunc. Mauris in lacinia lacus.\nSuspendisse a tincidunt lacus. Curabitur at urna sagittis, dictum ante sit amet, euismod magna. Sed rutrum massa id tortor commodo, vitae elementum turpis tempus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean purus turpis, venenatis a ullamcorper nec, tincidunt et massa. Integer posuere quam rutrum arcu vehicula imperdiet. Mauris ullamcorper quam vitae purus congue, quis euismod magna eleifend. Vestibulum semper vel augue eget tincidunt. Fusce eget justo sodales, dapibus odio eu, ultrices lorem. Duis condimentum lorem id eros commodo, in facilisis mauris scelerisque. Morbi sed auctor leo. Nullam volutpat a lacus quis pharetra. Nulla congue rutrum magna a ornare.\nAliquam in turpis accumsan, malesuada nibh ut, hendrerit justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque sed erat nec justo posuere suscipit. Donec ut efficitur arcu, in malesuada neque. Nunc dignissim nisl massa, id vulputate nunc pretium nec. Quisque eget urna in risus suscipit ultricies. Pellentesque odio odio, tincidunt in eleifend sed, posuere a diam. Nam gravida nisl convallis semper elementum. Morbi vitae felis faucibus, vulputate orci placerat, aliquet nisi. Aliquam erat volutpat. Maecenas sagittis pulvinar purus, sed porta quam laoreet at.\n","date":1557010800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1557010800,"objectID":"1c2b5a11257c768c90d5050637d77d6a","permalink":"/courses/example/example2/","publishdate":"2019-05-05T00:00:00+01:00","relpermalink":"/courses/example/example2/","section":"courses","summary":"Here are some more tips for getting started with Academic:\nTip 3 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum.","tags":null,"title":"Example Page 2","type":"docs"},{"authors":[],"categories":null,"content":" Click on the Slides button above to view the built-in slides feature. Slides can be added in a few ways:\n Create slides using Academic\u0026rsquo;s Slides feature and link using slides parameter in the front matter of the talk file Upload an existing slide deck to static/ and link using url_slides parameter in the front matter of the talk file Embed your slides (e.g. Google Slides) or presentation video on this page using shortcodes. Further talk details can easily be added to this page using Markdown and $\\rm \\LaTeX$ math code.\n","date":1906549200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1906549200,"objectID":"96344c08df50a1b693cc40432115cbe3","permalink":"/talk/example/","publishdate":"2017-01-01T00:00:00Z","relpermalink":"/talk/example/","section":"talk","summary":"An example talk using Academic's Markdown slides feature.","tags":[],"title":"Example Talk","type":"talk"},{"authors":["Ernest Guevarra"],"categories":["Research","rstats"],"content":" Sentiment analysis or opinion mining as it’s sometimes called is commonly used to assess affective states and subjective information such as opinion and attitudes of subjects of interest using language 1,2. The most common use case of sentiment analysis is on analysing product or service reviews that are made available on the internet but it is increasingly being used in research that aims to quantify public sentiment or opinion. In the advent of Web 2.0 and wide use of various social media platforms alongside much affordable access to increased computing power for most people, the use of sentiment analysis has increased and expanded to various fields such as stock and financial markets, elections, extreme events and disaster, medicine, and policy analysis1.\nUsing the text data on IATF resolutions available from the covidphtext package we developed, we explore the use of sentiment analysis as one of several natural language processing (NLP), text analysis and computational linguistics techniques we plan to use for assessing Philippine government policy with regard to the response to the COVID-19 pandemic. The following workflow illustrates the process we use:\n {\"x\":{\"diagram\":\"\\n digraph sentimentAnalysis {\\n\\n # a \\\"graph\\\" statement\\n graph [overlap = false, fontsize = 14, fontname = Helvetica]\\n\\n # Terminal nodes\\n node [shape = oval, width = 1.5, penwidth = 1.5]\\n \\n a [label = \\\"Start\\\"];\\n g [label = \\\"End\\\"];\\n\\n # Input/output nodes\\n node [shape = parallelogram, height = 1, width = 1.5, penwidth = 1.5]\\n \\n b [label = \\\"1. covidphtext\\ntext data\\\"];\\n f [label = \\\"5. Visualise\\\"];\\n\\n # Process nodes\\n node [shape = rect, fixedsize = true, height = 1, width = 1.5, penwidth = 1.5]\\n \\n c [label = \\\"2. Tokenise\\ndata\\\"];\\n d [label = \\\"3. Apply\\nsentiment\\nlexicon\\\"];\\n e [label = \\\"4. Summarise\\\"];\\n\\n edge [minlen = 2, arrowsize = 1.5, penwidth = 1.5]\\n \\n a - b\\n b - c\\n c - d\\n c - e\\n d - e\\n e - f\\n f - g\\n\\n subgraph {\\n rank = same; c; d;\\n }\\n }\",\"config\":{\"engine\":\"dot\",\"options\":null}},\"evals\":[],\"jsHooks\":[]} Figure 1: Sentiment analysis workflow \nStep 1: Text data: covidphtext As described in an earlier post, the covidphtext contains IATF resolutions text data structured for the purpose of text analysis. What we need to do now is to combine all resolutions into a single dataset. There is a convenience function in covidphtext that helps with this called combine_iatf and is used as follows:\nallText \u0026lt;- covidphtext::combine_iatf(res = c(1:15, 17:46)) You will notice that we left out IATF Resolution No. 16.. This resolution is the only resolution that has been written in Filipino (see below).\n## # A tibble: 87 x 7 ## linenumber text source type id section date ## \u0026lt;int\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; ## 1 1 Inter-Agency Task Force f… IATF resolu… 16 heading 2020-03-30 ## 2 2 Additional Guidelines for… IATF resolu… 16 heading 2020-03-30 ## 3 3 March 30, 2020 IATF resolu… 16 heading 2020-03-30 ## 4 4 Resolution No. 16 IATF resolu… 16 heading 2020-03-30 ## 5 5 A. Ayon sa direktiba ng D… IATF resolu… 16 operat… 2020-03-30 ## 6 6 Autonomous Region in Musl… IATF resolu… 16 operat… 2020-03-30 ## 7 7 mga pasilidad na maaring … IATF resolu… 16 operat… 2020-03-30 ## 8 8 Inaatasan and DOT at iban… IATF resolu… 16 operat… 2020-03-30 ## 9 9 pagtukoy ng mga pasilidad… IATF resolu… 16 operat… 2020-03-30 ## 10 10 Ang mga natukoy na pasili… IATF resolu… 16 operat… 2020-03-30 ## # … with 77 more rows Whilst it is possible to perform multi-lingual sentiment analysis, there is still no reliable sentiment lexicon (see following section for definition) for Filipino. Leaving out IATF Resolution No. 16, we arrive at the following concatenated IATF resolutions\n## # A tibble: 5,774 x 7 ## linenumber text source type id section date ## \u0026lt;int\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; ## 1 1 Republic of the Philippin… IATF resolu… 1 heading 2020-01-28 ## 2 2 Department of Health IATF resolu… 1 heading 2020-01-28 ## 3 3 Office of the Secretary IATF resolu… 1 heading 2020-01-28 ## 4 4 Inter-Agency Task Force f… IATF resolu… 1 heading 2020-01-28 ## 5 5 Emerging Infectious Disea… IATF resolu… 1 heading 2020-01-28 ## 6 6 28 January 2020 IATF resolu… 1 heading 2020-01-28 ## 7 7 Resolution No. 01 IATF resolu… 1 heading 2020-01-28 ## 8 8 Series of 2020 IATF resolu… 1 heading 2020-01-28 ## 9 9 Recommendations for the M… IATF resolu… 1 heading 2020-01-28 ## 10 10 Novel Coronavirus Situati… IATF resolu… 1 \u0026lt;NA\u0026gt; 2020-01-28 ## # … with 5,764 more rows with 7 columns and 5774 rows of text. We then consider whether all the sections of a resolution is going to be useful for sentiment analysis. A typical resolution is composed of 3 sections:\n Heading - contains the body proposing the resolution, the subject of the resolution, the resolution number and the date resolution is issued;\n Preambulatory clauses - contains the preamble statements of the resolution i.e., the reasons for which the proposing body is addressing the issue and highlights past action done by the body or any other organisation regarding the issue. This is usually composed of a series of phrases that starts with the WHEREAS\n Operative clauses - contains phrases/statements that offer solutions to the issues stated in the preamble.These phrases are action-oriented starting with a verb followed by the proposed solution. This section usually starts off with LET IT BE RESOLVED\n The IATF Resolutions very much follow the aforementioned structure with the addition of a section stating the approval of the resolution and the signatories approving the resolution, and in later resolutions a section certifying that the resolution has been approved.\nFor purposes of sentiment analysis, the most meaningful sections to use will be the sections on preambulatory clauses and operative clauses. So, we further subset the concatenated text dataset of IATF Resolutions to only contain those that are preambulatory and operative clauses. You will notice that in the text data of each of the IATF Resolutions, these sections have been identified through the variable named section. We use this variable to filter the sections we need as follows:\nallText \u0026lt;- allText %\u0026gt;% filter(section %in% c(\u0026quot;preamble\u0026quot;, \u0026quot;operative\u0026quot;)) which results in\n## # A tibble: 4,048 x 7 ## linenumber text source type id section date ## \u0026lt;int\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; ## 1 11 WHEREAS, Executive Order N… IATF resol… 1 preamb… 2020-01-28 ## 2 12 for the Management of Emer… IATF resol… 1 preamb… 2020-01-28 ## 3 13 WHEREAS, the Inter-agency … IATF resol… 1 preamb… 2020-01-28 ## 4 14 identify, screen, and assi… IATF resol… 1 preamb… 2020-01-28 ## 5 15 prevent and/or minimize th… IATF resol… 1 preamb… 2020-01-28 ## 6 16 as prevent and/or minimize… IATF resol… 1 preamb… 2020-01-28 ## 7 17 WHEREAS, on January 7, 202… IATF resol… 1 preamb… 2020-01-28 ## 8 18 the viral pneumonia outbre… IATF resol… 1 preamb… 2020-01-28 ## 9 19 (2019-nCoV) that has not b… IATF resol… 1 preamb… 2020-01-28 ## 10 20 WHEREAS, as of January 27,… IATF resol… 1 preamb… 2020-01-28 ## # … with 4,038 more rows We are now left with 4048 rows of text for sentiment analysis.\nFinally, we perform some final data cleaning and processing that will be useful when performing sentiment analysis. We convert the word COVID-19 to COVID19 without the dash. Since this word will most likely be a critical word in this analysis, we wanted to ensure that we capture it in its entirety. The next step on tokenisation removes any punctuation used in the text including dashes and will treat COVID as a separate word from 19. We remove the dash prior to tokenisation so that we can keep these two as one word.\nallText$text \u0026lt;- str_replace_all(string = allText$text, pattern = \u0026quot;COVID-19\u0026quot;, replacement = \u0026quot;COVID19\u0026quot;) And then, anticipating that we will need some kind of grouping variable later in the analysis, we create a month variable within the concatenated text dataset that indicates the month when a specific resolution was issued. This was done as follows:\nallText \u0026lt;- allText %\u0026gt;% mutate(month = factor(x = months(date), levels = c(\u0026quot;January\u0026quot;, \u0026quot;February\u0026quot;, \u0026quot;March\u0026quot;, \u0026quot;April\u0026quot;, \u0026quot;May\u0026quot;, \u0026quot;June\u0026quot;))) Our final working text dataset is this:\n## # A tibble: 4,048 x 8 ## linenumber text source type id section date month ## \u0026lt;int\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; \u0026lt;fct\u0026gt; ## 1 11 WHEREAS, Executive O… IATF resol… 1 preamb… 2020-01-28 Janu… ## 2 12 for the Management o… IATF resol… 1 preamb… 2020-01-28 Janu… ## 3 13 WHEREAS, the Inter-a… IATF resol… 1 preamb… 2020-01-28 Janu… ## 4 14 identify, screen, an… IATF resol… 1 preamb… 2020-01-28 Janu… ## 5 15 prevent and/or minim… IATF resol… 1 preamb… 2020-01-28 Janu… ## 6 16 as prevent and/or mi… IATF resol… 1 preamb… 2020-01-28 Janu… ## 7 17 WHEREAS, on January … IATF resol… 1 preamb… 2020-01-28 Janu… ## 8 18 the viral pneumonia … IATF resol… 1 preamb… 2020-01-28 Janu… ## 9 19 (2019-nCoV) that has… IATF resol… 1 preamb… 2020-01-28 Janu… ## 10 20 WHEREAS, as of Janua… IATF resol… 1 preamb… 2020-01-28 Janu… ## # … with 4,038 more rows \n Step 2: Tokenise data We are now ready to tokenise the data. Tokenisation of text data simply means structuring the text data into tokens – meaningful units of text such as a word, or groups of words, or a sentence, or a paragraph. For sentiment analysis, the most useful token will be a word mainly because the sentiment lexicons (see following section for definition) we plan to use are based on words.\nWe use the tidytext package and the function unnest_tokens within it to perform tokenisation using words as follows:\ntidy_resolutions \u0026lt;- allText %\u0026gt;% unnest_tokens(output = word, input = text) This results in the following dataset:\n## # A tibble: 40,024 x 8 ## linenumber source type id section date month word ## \u0026lt;int\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; \u0026lt;fct\u0026gt; \u0026lt;chr\u0026gt; ## 1 11 IATF resolution 1 preamble 2020-01-28 January whereas ## 2 11 IATF resolution 1 preamble 2020-01-28 January executive ## 3 11 IATF resolution 1 preamble 2020-01-28 January order ## 4 11 IATF resolution 1 preamble 2020-01-28 January no ## 5 11 IATF resolution 1 preamble 2020-01-28 January 168 ## 6 11 IATF resolution 1 preamble 2020-01-28 January s ## 7 11 IATF resolution 1 preamble 2020-01-28 January 2014 ## 8 11 IATF resolution 1 preamble 2020-01-28 January creates ## 9 11 IATF resolution 1 preamble 2020-01-28 January the ## 10 11 IATF resolution 1 preamble 2020-01-28 January inter ## # … with 40,014 more rows You will notice that our new tokenised dataset is structured such that each word in the concatenated IATF Resolutions of preambles and operative clauses is a unit of data i.e. in a row. We now have a dataset with 40024 rows and 8 columns that we can use for the next step.\n\n Step 3: Apply sentiment lexicon We now apply a sentiment lexicon onto the tokenised dataset from the previous step. Sentiment lexicons are basically a list of common words in a specific language with each word having a value pertaining to the sentiment or emotion associated with a specific word. The value assigned to a word can be binary i.e. negative or positive, or can be categories of sentiments or emotions such as positive, negative, anger, anticipation, disgust, fear, joy, sadness, surprise, and trust, or a numerical value on a scale that runs from negative values indicating progressively negative sentiments to positive values indicating progressively positive sentiments.\nThe tidytext package comes with three general use lexicons:\n AFINN - from Finn Årup Nielsen which is a lexicon that assigns a score to words from -5 to +5 with negative scores indicating negative sentiments and positive scores indicating positive sentiments;\n bing - from Bing Liu and collaborators which is a lexicon that simply classifies words into either negative or positive categories; and,\n nrc - from Saif Mohammad and Peter Turney which is a lexicon that groups words into categories of positive, negative, anger, anticipation, disgust, fear, joy, sadness, surprise, or trust\n Below we describe how to apply these sentiment lexicons to the tokenised data. The techniques described below in applying sentiment onto a text dataset are not the only ways to approach sentiment analysis but they are the most basic and common approaches used. These approaches treat the text dataset as a “bag of words” such that the sentiment content of the whole dataset is the sum of the sentiment content of each of the words in the dataset.\nLabeling words in the dataset as having positive or negative sentiment We apply the sentiment lexicon from Bing and colleagues to our tokenised data as follows:\nresolution_sentiment_bing \u0026lt;- tidy_resolutions %\u0026gt;% inner_join(get_sentiments(\u0026quot;bing\u0026quot;)) What we are basically doing here is to match the words in our tokenised data with the words in the sentiment lexicon from Bing and colleagues to get the sentiment value of positive or negative for our tokenised data. This results in the following sentiment-orientated IATF word token dataset:\n## # A tibble: 1,303 x 9 ## linenumber source type id section date month word sentiment ## \u0026lt;int\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; \u0026lt;fct\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; ## 1 14 IATF resolu… 1 preamble 2020-01-28 Janua… infected negative ## 2 15 IATF resolu… 1 preamble 2020-01-28 Janua… well positive ## 3 18 IATF resolu… 1 preamble 2020-01-28 Janua… outbreak negative ## 4 21 IATF resolu… 1 preamble 2020-01-28 Janua… risk negative ## 5 21 IATF resolu… 1 preamble 2020-01-28 Janua… infecti… negative ## 6 25 IATF resolu… 1 operati… 2020-01-28 Janua… recomme… positive ## 7 26 IATF resolu… 1 operati… 2020-01-28 Janua… support positive ## 8 26 IATF resolu… 1 operati… 2020-01-28 Janua… accurate positive ## 9 27 IATF resolu… 1 operati… 2020-01-28 Janua… timely positive ## 10 27 IATF resolu… 1 operati… 2020-01-28 Janua… support positive ## # … with 1,293 more rows Labeling words in the dataset as having a specific type of sentiment or emotion Using the nrc lexicon, we use the same approach as the previous:\nresolution_sentiment_nrc \u0026lt;- tidy_resolutions %\u0026gt;% inner_join(get_sentiments(\u0026quot;nrc\u0026quot;)) which results in a tokenised dataset of words with associated sentiments or emotions alongside them as shown below:\n## # A tibble: 8,028 x 9 ## linenumber source type id section date month word sentiment ## \u0026lt;int\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; \u0026lt;fct\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; ## 1 11 IATF resolut… 1 preamble 2020-01-28 Janua… inter negative ## 2 11 IATF resolut… 1 preamble 2020-01-28 Janua… inter sadness ## 3 11 IATF resolut… 1 preamble 2020-01-28 Janua… task positive ## 4 11 IATF resolut… 1 preamble 2020-01-28 Janua… force anger ## 5 11 IATF resolut… 1 preamble 2020-01-28 Janua… force fear ## 6 11 IATF resolut… 1 preamble 2020-01-28 Janua… force negative ## 7 12 IATF resolut… 1 preamble 2020-01-28 Janua… manage… positive ## 8 12 IATF resolut… 1 preamble 2020-01-28 Janua… manage… trust ## 9 12 IATF resolut… 1 preamble 2020-01-28 Janua… infect… disgust ## 10 12 IATF resolut… 1 preamble 2020-01-28 Janua… infect… fear ## # … with 8,018 more rows Scoring words by their level of positive or negative sentiment Using the AFINN lexicon, we use the same approach as the previous:\nresolution_sentiment_afinn \u0026lt;- tidy_resolutions %\u0026gt;% inner_join(get_sentiments(\u0026quot;afinn\u0026quot;)) which results in a tokenised dataset of words with associated sentiment scores ranging from -5 (highly negative) to +5 (highly positive).\n\n Step 4 and 5: Summarise sentiment-orientated word token dataset and visualise summaries We can now make various summaries with the sentiment-orientated datasets from the previous step and then visualise the output. Summaries and visualisation go hand-in-hand and these steps will be influenced by what questions you want answered by the sentiment analysis. Here we ask some questions with regard to sentiments in the IATF resolutions and demonstrate how we can summarise and visualise the data to answer the questions.\nQuestion 1: How does the sentiment change throughout each resolution and over time? To answer this question, we count how many positive and negative words there are in a specified block of text in the resolutions (referred to as the index). To decide what a meaningful block of text or index would be for a resolution, we need to remember that resolutions tend to be written in a very structured and concise way and that meaning can already be derived within short chunks of text. So, for this, we use an index of 5 lines at most.\nWe perform this using the tokenised dataset resolution_sentiment_bing which has a binary sentiment value of positive or negative:\nresolution_sentiment_bing %\u0026gt;% count(id, date, index = linenumber %/% 5, sentiment) %\u0026gt;% spread(sentiment, n, fill = 0) %\u0026gt;% mutate(sentiment = positive - negative) ## # A tibble: 631 x 6 ## id date index negative positive sentiment ## \u0026lt;dbl\u0026gt; \u0026lt;date\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;dbl\u0026gt; ## 1 1 2020-01-28 2 1 0 -1 ## 2 1 2020-01-28 3 1 1 0 ## 3 1 2020-01-28 4 2 0 -2 ## 4 1 2020-01-28 5 0 6 6 ## 5 1 2020-01-28 6 3 0 -3 ## 6 2 2020-01-31 2 0 2 2 ## 7 2 2020-01-31 3 1 2 1 ## 8 2 2020-01-31 4 1 0 -1 ## 9 2 2020-01-31 5 2 0 -2 ## 10 2 2020-01-31 6 0 1 1 ## # … with 621 more rows We then visualise this output using a bar chart for each resolution as shown below:\n Figure 2: Sentiment change throughout each resolution In interpreting our output to answer the question, we can treat each of the individual bar charts as describing what the pattern of sentiment is within a single resolution (as each resolution have been issued on a specific date) and we can think of the whole collection of bar charts by date as a time-series given that each resolution was issued chronologically from January up to current date. So, in the bar chart, moving from left to right starting from the first row of bar charts to the last, we are seeing the progression of sentiments in the IATF over time since January to current date.\nGeneral observations are:\n No discernible and consistent intra-resolution pattern of sentiment. This is interesting given that we took both the preambulatory and operative clauses section only which by definition can each have a different tone and sentiment. A naive assumption can be that preambulatory clauses section can be more negative in that it states the issues that are being resolved by the resolution whilst the operative clauses section is meant to be action oriented hence more positive. But given that the whole topic is about a pandemic and its control, actions taken to address the issue can be negative such as quarantine, lockdown, limitation of movement, etc.\n The resolutions start out as relatively shorter texts from January 2020 up to 9 March 2020 (first 2 rows of bar charts). By the 12th of March 2020, the amount of text increases to an almost consistent amount up to current date except during the period of the second week of April 2020;\n Resolutions issued from January 2020 to 3 April 2020 tended to be more negative whilst resolutions after this date tended to be more positive.\n Question 2: How does the sentiment change by month? In the previous question and in the outputs we produced to provide answers to that question, no clear patterns showed based on a resolution-by-resolution summary and visualisation. In this question, the level of aggregation is by month which will mean at least 2-3 resolutions grouped together. We perform this summary as follows:\nresolution_sentiment_bing %\u0026gt;% count(month, index = linenumber %/% 5, sentiment) %\u0026gt;% spread(sentiment, n, fill = 0) %\u0026gt;% mutate(sentiment = positive - negative) ## # A tibble: 207 x 5 ## month index negative positive sentiment ## \u0026lt;fct\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;dbl\u0026gt; ## 1 January 2 1 2 1 ## 2 January 3 2 3 1 ## 3 January 4 3 0 -3 ## 4 January 5 2 6 4 ## 5 January 6 3 1 -2 ## 6 January 7 1 1 0 ## 7 January 8 1 1 0 ## 8 January 9 0 1 1 ## 9 January 10 0 1 1 ## 10 January 11 2 0 -2 ## # … with 197 more rows We then visualise this in a similar manner as above but with months as the grouping variable. We get the following output:\n Figure 3: Sentiment change by month With this summary and visualisation, we confirm our earlier observation of resolutions being shorter texts in January and February 2020. Also, there is a more discernible intra-month pattern of sentiment particularly starting in March 2020 onwards. March 2020 starts off in a more negative which then picks up as more positive later on. April 2020 on the other hand is predominantly positive. May 2020 has the most amount of text (most number of resolutions). Earlier resolutions in May 2020 were highly positive which eventually tapers off to a mix of sentiments moving forward. By June 2020, the sentiments seem to be returning to something similar to the January to February 2020 pattern of relatively more positive sentiments.\n Question 3: What is the sentiment change across all resolutions? We’ve summarised the sentiments by resolution by month. Now we’d like to see what the overall progression of sentiment is through the full body of text of preambles and operative clauses. We summarise and visualise the data as follows:\nresolution_sentiment_bing \u0026lt;- tidy_resolutions %\u0026gt;% inner_join(get_sentiments(\u0026quot;bing\u0026quot;)) %\u0026gt;% count(index = linenumber %/% 5, sentiment) %\u0026gt;% spread(sentiment, n, fill = 0) %\u0026gt;% mutate(sentiment = positive - negative) ggplot(resolution_sentiment_bing, aes(index, sentiment)) + geom_col(colour = \u0026quot;#18BC9C\u0026quot;, fill = \u0026quot;#18BC9C\u0026quot;, alpha = 0.7, show.legend = FALSE) + theme_como Figure 4: Sentiment change across all resolutions Strongly positive sentiment early on in the text (earlier resolutions in the January to February 2020 period) which then tapers off in March 2020. From then onwards, its been a relatively even mix of positive and negative sentiments.\n Question 4: Which words contribute the most to positive and negative sentiments? Now what we know the trend of sentiments in the resolutions across time and overall, we’d like to know which words contribute the most to positive and negative sentiments. We summarise and visualise the data to answer this question as follows:\n Figure 5: Top ten words that contribute to positive and negative sentiment Another way of visualising the same information:\n Figure 6: Top ten words that contribute to positive and negative sentiment These top ten words contributing to positive and negative sentiments are consistent with what we would expect from a body of text that talk about a health emergency i.e., pandemic and consistent with the nature of the text itself i.e., resolutions which talk about the issues related to the situation/context and actions to be taken in response.\n Question 5: What is the overall sentiment value of each resolution? Figure 7: Average sentiment value per resolution Eight out of the 46 resolutions analysed had a negative average sentiment value. These resolutions were during the early stages of the response (January 2020) and in the height of the response (late April 2020 to May 2020).\n Question 6: What is the average sentiment value contribution of specific words To answer this question we use the AFINN sentiment lexicon which assigns a numerical score for positive and negative sentiments ranging from -5 to +5 respectively. Once we have assigned sentiment scores to the words, we do a counting of the words and then calculate a sentiment value per word by multiplying the sentiment score for the word with the proportion of the frequency of the word with the total frequency of all the words.\n\\[ \\text{Sentiment value} ~ = ~ \\text{Sentiment score} ~ \\times ~ \\frac{\\text{Word frequency}}{\\sum{\\text{World frequency}}}\\]\nTo get to this answer, we summarise and visualise the data as follows:\n Figure 8: Sentiment value of words across all resolutions Of the top ten most frequent words from all the resolutions, 6 have positive sentiment value and 4 with negative sentiment value. All top ten words are indicative of the nature of the text dataset that we are analysing. The top words for positive sentiment have roughly similar sentiment value as the top words for negative sentiment.\nWe disaggregate the results for resolutions per month as below:\n Figure 9: Sentiment value of words across all resolutions by month Resolutions for April and May mirror the words and the sentiment value for the entire dataset.\n\n Mäntylä MV, Graziotin D, Kuutila M. The evolution of sentiment analysis—A review of research topics, venues, and top cited papers. Computer Science Review. 2018;27: 16–32. doi:10.1016/j.cosrev.2017.10.002↩︎\n Liu B. Handbook Chapter: Sentiment Analysis and Subjectivity. Handbook of Natural Language Processing, Handbook of Natural Language Processing, Marcel Dekker, Inc. New York, NY, USA (2009)↩︎\n ","date":1590451200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592438400,"objectID":"39a86f2db4aaf258fff570d514e230cd","permalink":"/post/applying-sentiment-analysis/","publishdate":"2020-05-26T00:00:00Z","relpermalink":"/post/applying-sentiment-analysis/","section":"post","summary":"In this blog post, we explore the use of **sentiment analysis** to assess emotional intent of words within the IATF resolutions. This is in line with our project on the use of text analysis and topic modelling techniques for analysis of policies regarding the COVID-19 pandemic in the Philippines.","tags":["IATF","sentiment analysis","sentiment lexicon","opinion mining"],"title":"Applying sentiment analysis on IATF resolutions","type":"post"},{"authors":["CoMo Philippines"],"categories":null,"content":"In this project we explore the potential use of text anlaysis and topic modelling in assessing and potentially measuring the impact of various methematical modelling efforts in shaping government policy with regard to responding to the COVID-19 pandemic.\nWe propose to use the Philippines as a case study for this research. Several groups and individuals within the Philippines have proferred predictions on the course of the pandemic in the country. Particularly, these groups or individuals have predicted through their models the possible effects of various non-pharmaceutical interventions on the evolution of the pandemic particularly on the numbers of cases and deaths and their temporal and spatial distribution. Based on these, they have offered recommendations on what should be done further to mitigate these predicted outcomes. On the other hand, the national government has indicated that it will make policies and take action based on scientific evidence and has even commissioned a team of scientists to specifically perform mathenmatical modelling to generate this scientific evidence to guide its policy making.\nWe propose to quantify the impact of the best available scientific evidence with regard to the COVID-19 pandemic on the policies formulated and enacted by the Philippine government. Specifically, we will measure the degree of fit between the themes/topics focused on by the government\u0026rsquo;s policies with the themes/topics of the recommendations based on the scientific evidence using text analysis and topic modelling.\n","date":1590451200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1590451200,"objectID":"aaeff43112e4ebbe6a9f0a8dc11b5bda","permalink":"/project/topic-modelling/","publishdate":"2020-05-26T00:00:00Z","relpermalink":"/project/topic-modelling/","section":"project","summary":"A case study on the impact of epidemiologic models on government policy and response to COVID-19 pandemic in the Philippines","tags":["modelling","Philippines","policy","text analysis"],"title":"Use of text analysis and topic modelling in policy analysis","type":"project"},{"authors":["Chris Mercado","John Robert Medina","Ernest Guevarra"],"categories":["rstats","Software"],"content":" In line with our proposed project on use of text analysis and topic modelling for conducting policy analysis in relation to the COVID-19 pandemic response in the Philippines, we first had to identify what sources of text were most appropriate for our purpose and then assess how we can extract text from these sources for our purposes. We knew it was always going to be a balance between having the most ideal sources of text data for what we want to do and those sources that could be mined of their text data in a reasonably efficient way.\nIn our search for sources, we found out about the IATF and its role/mandate to respond to the issues concerning emerging infectious diseases in the Philippines. The IATF was convened in early January 2020 in response to the growing outbreak in Wuhan, China. Since then, we found that the task force has released several resolutions that reflected the national government’s on-going assessment of the evolution and spread of COVID-19 and it’s intended response. Given this, we felt that the IATF resolutions were the key manifestation of the national government’s overarching policy with regard go the COVID-19 pandemic from which other more detailed and specific departmental and sub-national policies were derived from.\nWe noted that the Department of Health, which chairs the IATF, have routinely uploaded to their website copies of resolutions once they have been formally endorsed and signed by all departmental members. We later found out that IATF resolutions were also released via the country’s official journal, The Official Gazette, online via its website. Based on these considerations, we decided to focus on using the IATF resolutions for our policy analysis project.\nThe next challenge was how to extract the text from these resolutions into a data structure and format useful for text analysis and topic modelling. In this post, we describe how we used the R language for statistical computing to develop a supervised text extraction workflow described in the diagram below:\n {\"x\":{\"diagram\":\"\\n graph TD\\n X(START) -- A[1. Download PDF] \\n A -- B[2. Read PDF]\\n B -- C[3. Clean text data]\\n C -- D[4. Structure text data]\\n D -- E[5. Save data]\\n E -- Y(END)\\n \"},\"evals\":[],\"jsHooks\":[]} Figure 1: Text extraction workflow in R Step 1: Downloading the resolutions The resolutions are available either from the DoH website or from The Official Gazette website. There are two key differences between these two sources. First, the DoH only provides resolutions starting from March 2020 at Resolution No. 9. Second, the DoH uploads the most recent resolutions a little bit later than The Official Gazette.\nWe automated the bulk download of all available resolutions from either sources in R by first creating a function that reads the HTML page/s for the resolutions and extracting the download links/URLs for each available resolution. Then, using these links, we created another function that downloads the PDFs into a temporary directory which can then be accessed for the next step of the workflow.\nExtracting download links/URLs of resolutions To extract download links/URLs of resolutions from either sources, we created wrappers around web scraping functions in the rvest package.\nFor the resolutions in the DoH website, we created the function get_iatf_links. This function only requires a single argument termed base which is the URL of the DoH webpage for IATF resolutions. The current URL for this is at https://www.doh.gov.ph/COVID-19/IATF-Resolutions and this is what is used as default value for base. So, to get the links/URLs for the resolutions found in the DoH website, we use:\nget_iatf_links() which gives the following:\n## # A tibble: 41 x 7 ## id title date source type url checked ## \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; ## 1 9 Recommendations f… 2020-03-03 IATF reso… https://doh.gov.… 2020-06-17 ## 2 10 Recommendations f… 2020-03-09 IATF reso… https://doh.gov.… 2020-06-17 ## 3 11 Recommendations f… 2020-03-12 IATF reso… https://doh.gov.… 2020-06-17 ## 4 12 Recommendations f… 2020-03-13 IATF reso… https://doh.gov.… 2020-06-17 ## 5 13 Recommendations f… 2020-03-17 IATF reso… https://doh.gov.… 2020-06-17 ## 6 14 Resolutions Relat… 2020-03-20 IATF reso… https://doh.gov.… 2020-06-17 ## 7 15 Resolutions Relat… 2020-03-25 IATF reso… https://doh.gov.… 2020-06-17 ## 8 16 Additional Guidel… 2020-03-30 IATF reso… https://doh.gov.… 2020-06-17 ## 9 17 Recommendations R… 2020-03-30 IATF reso… https://doh.gov.… 2020-06-17 ## 10 18 Recommendations R… 2020-04-01 IATF reso… https://doh.gov.… 2020-06-17 ## # … with 31 more rows The result is a tibble with 7 columns and the number of rows equal to the number of resolutions available from the DoH website on the day the output was produced. The column named checked in the output indicates when it was produced. The number of rows of the output may change between two calls to this function as newer resolution/s may have been uploaded from the time the first call was made to the time the second call was made.\nFor the resolutions in The Official Gazette, we created the get_iatf_gazette function. As with the get_iatf_links function, this requires the URL to the IATF resolutions webpage in The Official Gazette which is set at https://www.officialgazette.gov.ph/section/laws/other-issuances/inter-agency-task-force-for-the-management-of-emerging-infectious-diseases-resolutions/. However, a second argument named pages is required. Unlike the DoH page that has all the download links to the resolutions available on a single page, The Official Gazette uses pagination to split the information on download links into multiple pages. To be able to get the links of all the resolutions, we would need to supply a vector of the page numbers of all the pages that contains the download links. So, to get the links/URLs for all available resolutions found in the The Official Gazette website, we use:\nget_iatf_gazette(pages = 1:6) after determining from the website that the download links are contained in 6 pages.\nThis gives the following result:\n## # A tibble: 53 x 7 ## id title date source type url checked ## \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; ## 1 46 RESOLUTION NO. 46… 2020-06-15 IATF reso… https://www.offi… 2020-06-17 ## 2 46 RESOLUTION NO. 46… 2020-06-15 IATF reso… https://www.offi… 2020-06-17 ## 3 45 RESOLUTION NO. 45… 2020-06-10 IATF reso… https://www.offi… 2020-06-17 ## 4 44 RESOLUTION NO. 44… 2020-06-08 IATF reso… https://www.offi… 2020-06-17 ## 5 NA OMNIBUS GUIDELINE… 2020-06-03 IATF reso… https://www.offi… 2020-06-17 ## 6 43 RESOLUTION NO. 43… 2020-06-03 IATF reso… https://www.offi… 2020-06-17 ## 7 42 RESOLUTION NO. 42… 2020-06-01 IATF reso… https://www.offi… 2020-06-17 ## 8 41 RESOLUTION NO. 41… 2020-05-29 IATF reso… https://www.offi… 2020-06-17 ## 9 40 RESOLUTION NO. 40… 2020-05-27 IATF reso… https://www.offi… 2020-06-17 ## 10 NA OMNIBUS GUIDELINE… 2020-05-22 IATF reso… https://www.offi… 2020-06-17 ## # … with 43 more rows Notice that the ouput is the same in class and structure as the output of the previous function the only difference being that this produces more rows. This is because, as already mentioned earlier, The Official Gazette has the first 8 resolutions issued in January and February 2020 and is updated soon after resolutions are endorsed and signed by the IATF compared to that of the DoH.\n Downloading the resolutions The most important information from the output from either functions is the column named url as this contains the links/URLs to the PDFs of the various resolutions.\nWe automated the download of the resolution PDFs from the DoH site using a convenience function called get_iatf_pdf. In this function, the user can choose which specific resolution to download by specifying the argument id. If the user wants to download the PDF for Resolution No. 29, the following call is made:\niatfLinks %\u0026gt;% get_iatf_pdf(id = 29) which gives the following output:\n## [1] \u0026quot;/var/folders/rx/nr32tl5n6f3d_86tn0tc7kc00000gp/T//RtmpEQY0KS/iatfResolution29.pdf\u0026quot; The output is a character vector of the path to the temporary directory created where the PDF for Resolution No. 29 has been stored under the filename iatfResolution29.pdf.\nIt is considered best practice for a function that downloads something from the internet to save this download into a temporary directory as this is more secure and potentially less harmful for the user. It is also advantageous for the user as the PDFs do not have to be saved into the local computer but instead immediately read and used in R.\n Steps 2, 3 and 4: Reading, cleaning and structuring text data from the resolutions These steps form the supervised component of the workflow.\nUsing the output from the previous step, the PDF/s can be read into R using the pdftools package. Typically, reading a PDF with pdftools would be as straightforward as:\npdftools::pdf_text(pdf = \u0026quot;PATH/TO/PDF\u0026quot;) However, the IATF resolutions have been released as downloadable PDF documents produced by scanning the hard copy, signed versions of the resolutions. This type of PDF requires a different function from the pdftools package to extract the data:\npdftools::pdf_ocr_text(pdf = \u0026quot;PATH/TO/SCANNED/PDF\u0026quot;) Whilst this type of document format can be read by pdftools package, the extracted text often requires a lot of manual cleaning and some words or phrases needing to be edited. Below is an example raw output after reading the PDF of IATF Resolution No. 29 and adding some linebreaks.\niatfLinks %\u0026gt;% ## Reference iatfLinks table get_iatf_pdf(id = 29) %\u0026gt;% ## Download PDF of Resolution 29 pdftools::pdf_ocr_text() %\u0026gt;% ## Extract text using OCR stringr::str_split(pattern = \u0026quot;\\n\u0026quot;) %\u0026gt;% ## Split lines of text unlist() %\u0026gt;% ## Unlist to create data.frame head(n = 30) ## Show first 30 rows/lines of text ## Converting page 1 to iatfResolution29_1.png... done! ## Converting page 2 to iatfResolution29_2.png... done! ## Converting page 3 to iatfResolution29_3.png... done! ## Converting page 4 to iatfResolution29_4.png... done! ## [1] \u0026quot;g \\\\ REPUBLIC OF THE PHILIPPINES\u0026quot; ## [2] \u0026quot;\u0026quot; ## [3] \u0026quot;; ay ; INTER-AGENCY TASK FORCE\u0026quot; ## [4] \u0026quot;\u0026quot; ## [5] \u0026quot;%, - FOR THE MANAGEMENT OF EMERGING INFECTIOUS DISEASES\u0026quot; ## [6] \u0026quot;“it Ore on Emer\u0026quot; ## [7] \u0026quot;\u0026quot; ## [8] \u0026quot;RESOLUTION NO. 29\u0026quot; ## [9] \u0026quot;Series of 2020\u0026quot; ## [10] \u0026quot;April 27, 2020\u0026quot; ## [11] \u0026quot;RECOMMENDATIONS RELATIVE TO THE MANAGEMENT\u0026quot; ## [12] \u0026quot;OF THE CORONAVIRUS DISEASE 2019 (COVID-19) SITUATION\u0026quot; ## [13] \u0026quot;\u0026quot; ## [14] \u0026quot;WHEREAS, on March 16, 2020, to prevent the sharp rise of COVID-19 cases in the\u0026quot; ## [15] \u0026quot;country, the President placed the entirety of Luzon under Enhanced Community Quarantine until\u0026quot; ## [16] \u0026quot;April 14, 2020;\u0026quot; ## [17] \u0026quot;\u0026quot; ## [18] \u0026quot;WHEREAS, on March 30, 2020, to develop a science-based approach in determining\u0026quot; ## [19] \u0026quot;whether the Enhanced Community Quarantine in Luzon should be totally or partially lifted,\u0026quot; ## [20] \u0026quot;extended, or expanded to other areas, the Inter-Agency Task Force (IATF) convened a\u0026quot; ## [21] \u0026quot;sub-Technical Working Group tasked to define parameters in assessing recent developments in\u0026quot; ## [22] \u0026quot;the Philippine COVID-19 situation;\u0026quot; ## [23] \u0026quot;\u0026quot; ## [24] \u0026quot;WHEREAS, on April 3, 2020, the [ATF finalized the parameters for deciding on the\u0026quot; ## [25] \u0026quot;lifting or extension of the Enhanced Community Quarantine in Luzon, which include trends on\u0026quot; ## [26] \u0026quot;the COVID-19 epidemiological curve, the health capacity of the country, social factors,\u0026quot; ## [27] \u0026quot;economic factors, and security factors;\u0026quot; ## [28] \u0026quot;\u0026quot; ## [29] \u0026quot;WHEREAS, on April 7, 2020, upon the recommendation of the IATF, the President\u0026quot; ## [30] \u0026quot;extended the implementation of the Enhanced Community Quarantine over the entirety of Luzon\u0026quot; This is the reason why Steps 2, 3 and 4 cannot be automated algorithmically or in an unsupervised approach.\nFollowing is the complete script used to read, clean and structure Resolution No. 29 in a manner that is amenable for text analysis:\n## Read and re-structure text data y \u0026lt;- iatfLinks %\u0026gt;% ## Reference iatfLinks table get_iatf_pdf(id = 29) %\u0026gt;% ## Download PDF of Resolution 29 pdftools::pdf_ocr_text() %\u0026gt;% ## Extract text using OCR stringr::str_split(pattern = \u0026quot;\\n\u0026quot;) %\u0026gt;% ## Split lines of text unlist() ## Unlist to create data.frame ## Restructure text and clean y \u0026lt;- y[c(14:48, 55:90, 98:109, 115:149)] y \u0026lt;- y[y != \u0026quot;\u0026quot;] y[69] \u0026lt;- \u0026quot;Francisco T. Duque III Karlo Alexei B. Nograles\u0026quot; y[70] \u0026lt;- \u0026quot;Secretary, Department of Health Cabinet Secretary, Office of the Cabinet Secretary\u0026quot; y[71] \u0026lt;- \u0026quot;IATF Chairperson IATF Co-Chairperson\u0026quot; y[74] \u0026lt;- \u0026quot;1. I am presently an Assistant Secretary of the Department of Health;\u0026quot; y[83] \u0026lt;- stringr::str_replace(string = y[83], pattern = \u0026quot;\\\\[\u0026quot;, replacement = \u0026quot;I\u0026quot;) y[84] \u0026lt;- stringr::str_replace(string = y[84], pattern = \u0026quot;\\\\[\u0026quot;, replacement = \u0026quot;I\u0026quot;) y[87] \u0026lt;- stringr::str_replace(string = y[87], pattern = \u0026quot;\\\\[\u0026quot;, replacement = \u0026quot;I\u0026quot;) y[93] \u0026lt;- stringr::str_replace(string = y[93], pattern = \u0026quot;1g!\u0026quot;, replacement = \u0026quot;28th\u0026quot;) y[95] \u0026lt;- \u0026quot;Kenneth G. Ronquillo, MD, MPHM\u0026quot; y[97] \u0026lt;- stringr::str_replace(string = y[97], pattern = \u0026quot;\\\\[\u0026quot;, replacement = \u0026quot;I\u0026quot;) y \u0026lt;- stringr::str_trim(string = y, side = \u0026quot;both\u0026quot;) ## Add heading y \u0026lt;- c(c(\u0026quot;Republic of the Philippines\u0026quot;, \u0026quot;Inter-Agency Task Force\u0026quot;, \u0026quot;for the Management of Emerging Infectious Diseases\u0026quot;, \u0026quot;Resolution No. 29\u0026quot;, \u0026quot;Series of 2020\u0026quot;, \u0026quot;27 April 2020\u0026quot;, \u0026quot;Recommendations relative to the management\u0026quot;, \u0026quot;of the coronavirus disease 2019 (COVID-19) situation\u0026quot;), y) ## Add section pStart \u0026lt;- which(stringr::str_detect(string = y, pattern = \u0026quot;WHEREAS\u0026quot;))[1] oStart \u0026lt;- which(stringr::str_detect(string = y, pattern = \u0026quot;RESOLVED\u0026quot;))[1] pEnd \u0026lt;- oStart - 1 eStart \u0026lt;- which(stringr::str_detect(string = y, pattern = \u0026quot;APPROVED\u0026quot;))[1] oEnd \u0026lt;- eStart - 1 cStart \u0026lt;- which(stringr::str_detect(string = y, pattern = \u0026quot;CERTIFICATE|CERTIFICATION\u0026quot;)) eEnd \u0026lt;- cStart - 1 section \u0026lt;- NULL section[1:8] \u0026lt;- \u0026quot;heading\u0026quot; section[pStart:pEnd] \u0026lt;- \u0026quot;preamble\u0026quot; section[oStart:oEnd] \u0026lt;- \u0026quot;operative\u0026quot; section[eStart:eEnd] \u0026lt;- \u0026quot;endorsement\u0026quot; section[cStart:length(y)] \u0026lt;- \u0026quot;certification\u0026quot; ## Re-structure text data.frame y \u0026lt;- data.frame(linenumber = 1:length(y), text = y, source = \u0026quot;IATF\u0026quot;, type = \u0026quot;resolution\u0026quot;, id = 29, section = section, date = as.Date(\u0026quot;27/04/2020\u0026quot;, format = \u0026quot;%d/%m/%y\u0026quot;), stringsAsFactors = FALSE) ## Convert data.frame to tibble iatfResolution29 \u0026lt;- tibble::tibble(y) This results in the following text data:\n## # A tibble: 105 x 7 ## linenumber text source type id section date ## \u0026lt;int\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt; \u0026lt;date\u0026gt; ## 1 1 Republic of the Philippines IATF resol… 29 heading 2020-04-27 ## 2 2 Inter-Agency Task Force IATF resol… 29 heading 2020-04-27 ## 3 3 for the Management of Emer… IATF resol… 29 heading 2020-04-27 ## 4 4 Resolution No. 29 IATF resol… 29 heading 2020-04-27 ## 5 5 Series of 2020 IATF resol… 29 heading 2020-04-27 ## 6 6 27 April 2020 IATF resol… 29 heading 2020-04-27 ## 7 7 Recommendations relative t… IATF resol… 29 heading 2020-04-27 ## 8 8 of the coronavirus disease… IATF resol… 29 heading 2020-04-27 ## 9 9 WHEREAS, on March 16, 2020… IATF resol… 29 preamb… 2020-04-27 ## 10 10 country, the President pla… IATF resol… 29 preamb… 2020-04-27 ## # … with 95 more rows Step 5: Save the data Once data have been read, processed and structured, they are saved in .rda format for further use in text analysis or topic modelling with R language for statistical computing. To allow for replicability of the whole data extraction, processing and structuring process and to facilitate ease of distribution of the text data outputs, we packaged the functions we’ve developed and the datasets we produced into a standard, portable R package named covidphtext. We then made the package available via GitHub from which those requiring the functions we developed and the text datasets we’ve produced can install the package. A detailed description of the package including installation and use can be found here.\n\n ","date":1590105600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1592438400,"objectID":"b42c4e712e5fb2a58d9934c490bbdab1","permalink":"/post/creating-text-data-from-iatf-resolutions/","publishdate":"2020-05-22T00:00:00Z","relpermalink":"/post/creating-text-data-from-iatf-resolutions/","section":"post","summary":"We developed `covidphtext`, an R package that facilitates creation and structuring of text data from the resolutions issued by the Philippine Inter-agency Task Force for the Management of Emerging Infectious Diseases (IATF).","tags":["IATF","text data","text analysis","topic modelling"],"title":"Creating text data from IATF resolutions for use in text analysis","type":"post"},{"authors":["Chris Mercado","John Robert Medina","Ernest Guevarra"],"categories":["Tools"],"content":"","date":1588723200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588723200,"objectID":"725b137501a440385a405914ae8f3836","permalink":"/post/specifying-covid19-model-parameters/","publishdate":"2020-05-06T00:00:00Z","relpermalink":"/post/specifying-covid19-model-parameters/","section":"post","summary":"","tags":["R","modelling","parameters"],"title":"comoparams: R utility tool to extract, process and structure Philippines-specific datasets for use in the CoMo Consortium Model","type":"post"},{"authors":["CoMo Philippines"],"categories":null,"content":"","date":1588291200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588291200,"objectID":"b1d38a2732f59e2c889d43e168181f9e","permalink":"/project/policy-analysis/","publishdate":"2020-05-01T00:00:00Z","relpermalink":"/project/policy-analysis/","section":"project","summary":"The utility and impact of epidemiological models in the development of policy and formulation of interventions during an epidemic. The case of the response to the COVID-19 pandemic in the Philippines.","tags":["COVID-19","modelling","Philippines","policy","interventions"],"title":"Infectious disease modelling and policy","type":"project"},{"authors":null,"categories":["CoMo Consortium","Modelling"],"content":" The age structured SEIR model with infected compartments stratified by symptoms, severity and treatment seeking and access.\nThe model uses publicly available country-specific data to define the population structure 1 as a model input. The model interface uses publicly available country-specific data on cases and mortality 2 for visual calibration of model parameters to user selected baseline scenarios. More elaborate calibration methods are under consideration but are not a priority since the system is unidentifiable and therefore calibration will be entirely dependent on user-selected baseline scenarios.\nThe model interface can be found here: https://comomodel.net/. The equations for the basic model structure follow (Equation 1).\n\\[ \\begin{aligned} \\frac{dS}{dt} ~ \u0026amp; = ~ -S ~ \\circ ~ \\Lambda ~ + ~ \\omega R ~ + ~ A ~ \\cdot ~ S ~ - ~ \\mu ~ \\cdot ~ S ~ + ~ bP \\\\ \\\\ \\frac{dE}{dt} ~ \u0026amp; = ~ S ~ \\circ ~ \\Lambda ~ - ~ \\gamma E ~ + ~ A ~ \\cdot ~ E ~ - ~ \\mu ~ \\cdot ~ E \\\\ \\\\ \\frac{dI}{dt} ~ \u0026amp; = ~ \\gamma(1 ~ - ~ p_{clin})(1 ~ - ~ p_{ihr}) ~ \\cdot ~ E ~ - ~ v_I I ~ + ~ A ~ \\cdot ~ I ~ - ~ \\mu ~ \\cdot ~ I \\\\ \\\\ \\frac{dC}{dt} ~ \u0026amp; = ~ \\gamma p_{clin}(1 ~ - ~ p_{ihr}) ~ \\cdot ~ E ~ - ~ v_I C ~ + ~ A ~ \\cdot ~ C ~ - ~ \\mu \\cdot C \\\\ \\\\ \\frac{dR}{dt} ~ \u0026amp; = ~ v_I (I ~ + ~ C) ~ + ~ A ~ \\cdot ~ R ~ - ~ \\omega R ~ - ~ \\mu ~ \\cdot ~ R ~ + ~ (1 ~ - ~ \\delta_H p_{ifr})v_H ~ \\cdot ~ H \\\\ ~ \u0026amp; + ~ (1 ~ - ~ \\delta_{H_c} p_{ifr})v_H ~ \\cdot ~ H ~ + ~ (1 ~ - ~ \\delta_U p_{ifr})v_U ~ \\cdot ~ U \\\\ ~ \u0026amp; + ~ (1 ~ - ~ \\delta_{U_c} p_{ifr})v_U ~ \\cdot ~ U ~ + ~ (1 ~ - ~ \\delta_{V} p_{ifr})v_V ~ \\cdot ~ V \\\\ ~ \u0026amp; + ~ (1 ~ - ~ \\delta_{V_c} p_{ifr})v_V ~ \\cdot ~ V \\\\ \\\\ \\frac{dH}{dt} ~ \u0026amp; = ~ p_{ihr}(1 ~ - ~ p_U)(1 ~ - ~ p{K_H})\\gamma E ~ - ~ v_H H ~ + ~ A ~ \\cdot ~ H ~ - ~ \\mu ~ \\cdot ~ H \\\\ \\\\ \\frac{dH_c}{dt} ~ \u0026amp; = ~ p_{ihr}(1 ~ - ~ p_U)p_{K_H}\\gamma E ~ - ~ v_H H_c ~ + ~ A ~ \\cdot ~ H_c ~ - ~ \\mu ~ \\cdot ~ H_c \\\\ \\\\ \\frac{dU}{dt} ~ \u0026amp; = ~ p_{ihr} p_U (1 ~ - ~ p_{K_U})(1 ~ - ~ p_V)\\gamma E ~ - ~ v_U U ~ + ~ A ~ \\cdot ~ U ~ - ~ \\mu ~ \\cdot ~ U \\\\ \\\\ \\frac{dU_c}{dt} ~ \u0026amp; = ~ p_{ihr} p_U p_{K_U} (1 ~ - ~ p_v)\\gamma E ~ - ~ v_U U_c ~ + ~ A ~ \\cdot ~ U_c ~ - ~ \\mu ~ \\cdot ~ U_c \\\\ \\\\ \\frac{dV}{dt} ~ \u0026amp; = ~ p_{ihr} p_U(1 ~ - ~ p_{K_U})(1 ~ - ~ p_{K_V})p_V \\gamma E ~ - ~ v_V V ~ + ~ A ~ \\cdot ~ V ~ - ~ \\mu ~ \\cdot ~ V \\\\ \\\\ \\frac{dV_c}{dt} ~ \u0026amp; = ~ p_{ihr} p_U(1 ~ - ~ p_{K_U})p_{K_V} p_V \\gamma E ~ - ~ v_V V_c ~ + ~ A ~ \\cdot ~ V_c ~ - ~ \\mu ~ \\cdot ~ V_c \\\\ \\\\ \\\\ P ~ \u0026amp; = ~ (S ~ + ~ E ~ + ~ I ~ + ~ R ~ + ~ H ~ + ~ H_c ~ + ~ U ~ + ~ U_c ~ + ~ V ~ + ~ V_c) \\\\ \\\\ \\\\ s ~ \u0026amp; = ~ 1 ~ + ~ a ~ cos \\left (2\\pi \\frac{ \\left (t ~ - ~ \\left (\\frac{365.25\\phi}{12} \\right) \\right ) ~ + ~ t_{in}}{365.25} \\right) \\\\ \\\\ \\\\ W ~ \u0026amp; = ~ W_{home} ~ + ~ W_{work} ~ + ~ W_{school} ~ + ~ W_{other} \\\\ \\\\ \\\\ \\Lambda ~ \u0026amp; = ~ p ~ s ~ W ~ \\cdot ~ \\left (\\frac{\\rho E ~ + ~ I ~ + ~ C ~ + ~ \\rho_s ~ \\times ~ (H ~ + ~ H_c ~ + ~ U ~ + ~ U_c ~ + ~ V ~ + ~ V_c)}{P} \\right ) \\\\ \\\\ \\\\ A ~ \u0026amp; = ~ \\begin{pmatrix} \\begin{pmatrix} -1 \u0026amp; 0 \\\\ 1 \u0026amp; -1 \\end{pmatrix} \u0026amp; \\ldots \u0026amp; 0 \\\\ \\vdots \u0026amp; \\ddots \\begin{pmatrix} -1 \u0026amp; 0 \\\\ 1 \u0026amp; -1 \\end{pmatrix} \\ddots \u0026amp; \\vdots \\\\ 0 \u0026amp; \\ldots \u0026amp; \\begin{pmatrix} -1 \u0026amp; 0 \\\\ 1 \u0026amp; 0 \\end{pmatrix} \\end{pmatrix} \\\\ \\\\ \\\\ p_{K_H} ~ \u0026amp; = ~ \\begin{Bmatrix} 0 ~ \\text{for} ~ H \u0026lt; K_H \\\\ 1 ~ \\text{for} ~ H \\geq K_H \\\\ \\end{Bmatrix} \\\\ \\\\ p_{K_U} ~ \u0026amp; = ~ \\begin{Bmatrix} 0 ~ \\text{for} ~ U \u0026lt; K_U \\\\ 1 ~ \\text{for} ~ U \\geq K_U \\\\ \\end{Bmatrix} \\\\ \\\\ p_{K_V} ~ \u0026amp; = ~ \\begin{Bmatrix} 0 ~ \\text{for} ~ V \u0026lt; K_V \\\\ 1 ~ \\text{for} ~ V \\geq K_V \\\\ \\end{Bmatrix} \\\\ \\\\ \\\\ \u0026amp; \\text{where model variables are defined as:} \\\\ \\\\ \\\\ S ~ \u0026amp; = ~ \\text{Susceptible} \\\\ \\\\ E ~ \u0026amp; = ~ \\text{Infected and incubating} \\\\ \\\\ I ~ \u0026amp; = ~ \\text{Infected and asymptomatic following incubation} \\\\ \\\\ C ~ \u0026amp; = ~ \\text{Infected and mildly symptomatic following incubation} \\\\ \\\\ R ~ \u0026amp; = ~ \\text{Recovered and immune} \\\\ \\\\ H ~ \u0026amp; = ~ \\text{Severe infection: hospitalised} \\\\ \\\\ H_c ~ \u0026amp; = ~ \\text{Severe infection: not hospitalised due to lack of capacity} \\\\ \\\\ U ~ \u0026amp; = ~ \\text{Severe infection: hospitalised in ICU} \\\\ \\\\ U_c ~ \u0026amp; = ~ \\text{Severe infection: hospitalised and requiring ICU but placed in surge ward} \\\\ \\\\ V ~ \u0026amp; = ~ \\text{Severe infection: hospitalised in ICU and on a ventilator} \\\\ \\\\ V_c ~ \u0026amp; = ~ \\text{Severe infection: hospitalised in ICU requiring a ventilator but not on one} \\\\ \\\\ \\\\ \u0026amp; \\text{and model parameters are defined as:} \\\\ \\\\ \\\\ W_{home} ~ \u0026amp; = ~ \\begin{aligned} \u0026amp; \\text{Country-specific age-dependent contact matrix describing the} \\\\ \u0026amp; \\text{number of potentially infectious contacts at home per person per day} \\end{aligned} \\\\ \\\\ W_{work} ~ \u0026amp; = ~ \\begin{aligned} \u0026amp; \\text{Country-specific age-dependent contact matrix describing the} \\\\ \u0026amp; \\text{number of potentially infectious contacts at work per person per day} \\end{aligned} \\\\ \\\\ W_{school} ~ \u0026amp; = ~ \\begin{aligned} \u0026amp; \\text{Country-specific age-dependent contact matrix describing the} \\\\ \u0026amp; \\text{number of potentially infectious contacts at work per person per day} \\end{aligned} \\\\ \\\\ W_{other} ~ \u0026amp; = ~ \\begin{aligned} \u0026amp; \\text{Country-specific age-dependent contact matrix describing the} \\\\ \u0026amp; \\text{number of potentially infectious societal contacts per person per day} \\end{aligned} \\\\ \\\\ \\mu ~ \u0026amp; = ~ \\frac{1}{\\text{Age-dependent non-covid related death rate}} \\\\ \\\\ b ~ \u0026amp; = ~ \\frac{1}{\\text{Age-dependent fertility rate}} \\\\ \\\\ \\alpha ~ \u0026amp; = ~ \\frac{1}{\\text{Duration in each category}} \\\\ \\\\ p ~ \u0026amp; = ~ \\text{Probability of infection given a single contact} \\\\ \\\\ \\gamma ~ \u0026amp; = ~ \\frac{1}{\\text{Duration of incubation period}} \\\\ \\\\ \\rho ~ \u0026amp; = ~ \\text{Relative infectiousness of incubating phase per contact} \\\\ \\\\ p_{clin} ~ \u0026amp; = ~ \\text{Proportion of all infections that ever develop symptoms} \\\\ \\\\ \\nu_I ~ \u0026amp; = ~ \\frac{1}{\\text{Duration of infectious phase}} \\\\ \\\\ \\rho_s ~ \u0026amp; = ~ \\text{Relative number of contacts for hospitalised patients} \\\\ \\\\ \\omega ~ \u0026amp; = ~ \\frac{1}{\\text{Duration of immunity}} \\\\ \\\\ \\alpha ~ \u0026amp; = ~ \\text{Relative variation in transmissibility throughout the year} \\pm \\text{a proportion} \\\\ \\\\ \\phi ~ \u0026amp; = ~ \\text{Month of peak in transmissibility} \\\\ \\\\ t_{in} ~ \u0026amp; = ~ \\text{Start date} \\\\ \\\\ p_{ihr} ~ \u0026amp; = ~ \\text{Probability of an infection being severe (requiring hospitalisation) by age} \\\\ \\\\ p_{ifr} ~ \u0026amp; = ~ \\text{Probability of an infection being fatal by age} \\\\ \\\\ \\nu_H ~ \u0026amp; = ~ \\text{Duration of hospitalised infection} \\\\ \\\\ \\nu_U ~ \u0026amp; = ~ \\text{Duration of ICU infection} \\\\ \\\\ \\nu_V ~ \u0026amp; = ~ \\text{Duration of ventilated infection} \\\\ \\\\ \\delta_H ~ \u0026amp; = ~ \\text{Probability of death for a hospitalised infection} \\\\ \\\\ \\delta_{H_c} ~ \u0026amp; = ~ \\text{Probability of death for an infection requiring hospital not get} \\\\ \\\\ \\delta_U ~ \u0026amp; = ~ \\text{Maximum death probability for a hospitalized infection requiring ICU admission} \\\\ \\\\ \\delta_{U_c} ~ \u0026amp; = ~ \\begin{aligned} \u0026amp; \\text{Maximum death probability for a hospitalized infection that} \\\\ \u0026amp; \\text{would require ICU admission but was not admitted to the ICU} \\end{aligned} \\\\ \\\\ \\delta_V ~ \u0026amp; = ~ \\text{Maximum death probability for a hospitalized infection requiring a ventilator} \\\\ \\\\ \\delta_{V_c} ~ \u0026amp; = ~ \\begin{aligned} \u0026amp; \\text{Maximum death probability for a hospitalized infection that} \\\\ \u0026amp; \\text{would require a ventilator but did not get one} \\end{aligned} \\\\ \\\\ p_U ~ \u0026amp; = ~ \\text{Probability of an infected patient needing ICU} \\\\ \\\\ p_V ~ \u0026amp; = ~ \\text{Probability of an infected patient needing ICU and a ventilator} \\\\ \\\\ p_{K_H} ~ \u0026amp; = ~ \\text{Decision to assign a patient a hospital bed depending on capacity} \\\\ \\\\ p_{K_U} ~ \u0026amp; = ~ \\text{Decision to assign a patient an ICU bed depending on capacity} \\\\ \\\\ p_{K_V} ~ \u0026amp; = ~ \\text{Decision to assign a patient a ventilator depending on capacity} \\end{aligned} \\]\n\n\n UN Department of Economic and Social Affairs Population Dynamics. Available from: https://population.un.org/wpp/Download/Standard/Population/.↩︎\n European Centre for Disease Prevention and Control. Available from: https://www.ecdc.europa.eu/en.↩︎\n ","date":1588291200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1588291200,"objectID":"7a21e5493b7991b341a2d30f0be3f0b8","permalink":"/post/como-consortium-model/","publishdate":"2020-05-01T00:00:00Z","relpermalink":"/post/como-consortium-model/","section":"post","summary":"The CoMo Consortium modle is an age structured susceptible - exposed - infectious - recovered (SEIR) model with infected compartments stratified by symptoms, severity and treatment seeking and access.","tags":["CoMo Consortium","COVID-19","parameters"],"title":"The COVID-19 Modelling (CoMo) Consortium Model","type":"post"},{"authors":["CoMo Philippines"],"categories":null,"content":"The application of the CoMo Consortium model to the Philippines context is the main project of the CoMo Philippines team and is the reason for the formation of the team. The CoMo Consortium model is described here in more detail.\nThe CoMo Philippines team seeks to answer the following:\n How can the CoMo Consortium model inform preparations for a post-lockdown scenario?\n What combination of interventions could work best in the Philippines?\n The national team will compare the CoMo Consortium model against other, locally developed models. This will support the development of a local model that better reflects the dynamic local situation and appropriate responses to the COVID-19 epidemic in the Philippines. Other models being used are the official FASSTER COVID-19 module and the UP COVID-19 Pandemic Response Team model.\n ","date":1585699200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585699200,"objectID":"b4848d2cc2a6dc2f96fde205313190cc","permalink":"/project/como-ph/","publishdate":"2020-04-01T00:00:00Z","relpermalink":"/project/como-ph/","section":"project","summary":"The COVID-19 International Modelling Consortium (CoMo) in the Philippines","tags":["COVID-19","modelling","Philippines"],"title":"Applying the CoMo Consortium model to the Philippines","type":"project"},{"authors":["CoMo Philippines"],"categories":null,"content":"","date":1585699200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1585699200,"objectID":"41cd0a9cceba43345017198d0cb3021e","permalink":"/project/como/","publishdate":"2020-04-01T00:00:00Z","relpermalink":"/project/como/","section":"project","summary":"The COVID-19 pandemic modelling in context","tags":["COVID-19","modelling"],"title":"COVID-19 International Modelling Consortium (CoMo)","type":"project"},{"authors":["CoMo Philippines"],"categories":null,"content":" Click the Slides button above to demo Academic\u0026rsquo;s Markdown slides feature. Supplementary notes can be added here, including code and math.\n","date":1554595200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1554595200,"objectID":"557dc08fd4b672a0c08e0a8cf0c9ff7d","permalink":"/publication/preprint/","publishdate":"2017-01-01T00:00:00Z","relpermalink":"/publication/preprint/","section":"publication","summary":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum.","tags":["Source Themes"],"title":"An example preprint / working paper","type":"publication"},{"authors":[],"categories":[],"content":"Create slides in Markdown with Academic Academic | Documentation\n Features Efficiently write slides in Markdown 3-in-1: Create, Present, and Publish your slides Supports speaker notes Mobile friendly slides Controls Next: Right Arrow or Space Previous: Left Arrow Start: Home Finish: End Overview: Esc Speaker notes: S Fullscreen: F Zoom: Alt + Click PDF Export: E Code Highlighting Inline code: variable\nCode block:\nporridge = \u0026quot;blueberry\u0026quot; if porridge == \u0026quot;blueberry\u0026quot;: print(\u0026quot;Eating...\u0026quot;) Math In-line math: $x + y = z$\nBlock math:\n$$ f\\left( x \\right) = ;\\frac{{2\\left( {x + 4} \\right)\\left( {x - 4} \\right)}}{{\\left( {x + 4} \\right)\\left( {x + 1} \\right)}} $$\n Fragments Make content appear incrementally\n{{% fragment %}} One {{% /fragment %}} {{% fragment %}} **Two** {{% /fragment %}} {{% fragment %}} Three {{% /fragment %}} Press Space to play!\nOne Two Three \n A fragment can accept two optional parameters:\n class: use a custom style (requires definition in custom CSS) weight: sets the order in which a fragment appears Speaker Notes Add speaker notes to your presentation\n{{% speaker_note %}} - Only the speaker can read these notes - Press `S` key to view {{% /speaker_note %}} Press the S key to view the speaker notes!\n Only the speaker can read these notes Press S key to view Themes black: Black background, white text, blue links (default) white: White background, black text, blue links league: Gray background, white text, blue links beige: Beige background, dark text, brown links sky: Blue background, thin dark text, blue links night: Black background, thick white text, orange links serif: Cappuccino background, gray text, brown links simple: White background, black text, blue links solarized: Cream-colored background, dark green text, blue links Custom Slide Customize the slide style and background\n{{\u0026lt; slide background-image=\u0026quot;/img/boards.jpg\u0026quot; \u0026gt;}} {{\u0026lt; slide background-color=\u0026quot;#0000FF\u0026quot; \u0026gt;}} {{\u0026lt; slide class=\u0026quot;my-style\u0026quot; \u0026gt;}} Custom CSS Example Let\u0026rsquo;s make headers navy colored.\nCreate assets/css/reveal_custom.css with:\n.reveal section h1, .reveal section h2, .reveal section h3 { color: navy; } Questions? Ask\n Documentation\n","date":1549324800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1549324800,"objectID":"0e6de1a61aa83269ff13324f3167c1a9","permalink":"/slides/example/","publishdate":"2019-02-05T00:00:00Z","relpermalink":"/slides/example/","section":"slides","summary":"An introduction to using Academic's Slides feature.","tags":[],"title":"Slides","type":"slides"},{"authors":["CoMo Philippines","Robert Ford"],"categories":null,"content":" Click the Cite button above to demo the feature to enable visitors to import publication metadata into their reference management software. Click the Slides button above to demo Academic\u0026rsquo;s Markdown slides feature. Supplementary notes can be added here, including code and math.\n","date":1441065600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1441065600,"objectID":"966884cc0d8ac9e31fab966c4534e973","permalink":"/publication/journal-article/","publishdate":"2017-01-01T00:00:00Z","relpermalink":"/publication/journal-article/","section":"publication","summary":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum.","tags":["Source Themes"],"title":"An example journal article","type":"publication"},{"authors":["CoMo Philippines","Robert Ford"],"categories":null,"content":" Click the Cite button above to demo the feature to enable visitors to import publication metadata into their reference management software. Click the Slides button above to demo Academic\u0026rsquo;s Markdown slides feature. Supplementary notes can be added here, including code and math.\n","date":1372636800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1372636800,"objectID":"69425fb10d4db090cfbd46854715582c","permalink":"/publication/conference-paper/","publishdate":"2017-01-01T00:00:00Z","relpermalink":"/publication/conference-paper/","section":"publication","summary":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis posuere tellus ac convallis placerat. Proin tincidunt magna sed ex sollicitudin condimentum.","tags":["Source Themes"],"title":"An example conference paper","type":"publication"}]