<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://teaching.healthtech.dtu.dk/22113/index.php?action=history&amp;feed=atom&amp;title=Text_mining_MEDLINE_abstracts</id>
	<title>Text mining MEDLINE abstracts - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://teaching.healthtech.dtu.dk/22113/index.php?action=history&amp;feed=atom&amp;title=Text_mining_MEDLINE_abstracts"/>
	<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk/22113/index.php?title=Text_mining_MEDLINE_abstracts&amp;action=history"/>
	<updated>2026-05-05T22:08:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://teaching.healthtech.dtu.dk/22113/index.php?title=Text_mining_MEDLINE_abstracts&amp;diff=47&amp;oldid=prev</id>
		<title>WikiSysop: Created page with &quot;__NOTOC__ === Description === The purpose is to mine MEDLINE abstracts for words which are associated with each other. This is done by finding &#039;&#039;informative&#039;&#039; words that co-occur with each other, i.e. the words would be in the same abstract. The process consists of a number of steps, where the first step is to find the non-informative words in the abstracts. Second step will be parsing the abstracts again disregarding the non-informative words, and create some occurrence...&quot;</title>
		<link rel="alternate" type="text/html" href="https://teaching.healthtech.dtu.dk/22113/index.php?title=Text_mining_MEDLINE_abstracts&amp;diff=47&amp;oldid=prev"/>
		<updated>2024-03-06T14:14:47Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOTOC__ === Description === The purpose is to mine MEDLINE abstracts for words which are associated with each other. This is done by finding &amp;#039;&amp;#039;informative&amp;#039;&amp;#039; words that co-occur with each other, i.e. the words would be in the same abstract. The process consists of a number of steps, where the first step is to find the non-informative words in the abstracts. Second step will be parsing the abstracts again disregarding the non-informative words, and create some occurrence...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
=== Description ===&lt;br /&gt;
The purpose is to mine MEDLINE abstracts for words which are associated with each other. This is done by finding &amp;#039;&amp;#039;informative&amp;#039;&amp;#039; words that co-occur with each other, i.e. the words would be in the same abstract. The process consists of a number of steps, where the first step is to find the non-informative words in the abstracts. Second step will be parsing the abstracts again disregarding the non-informative words, and create some occurrence and co-occurrence tables with what is left - the informative words. Third step will be using the tables to find word associations. &lt;br /&gt;
&lt;br /&gt;
Word stemming can be added to the process, e.g. &amp;quot;protein&amp;quot; and &amp;quot;proteins&amp;quot; are the same word. The letter case could also be part of the process, e.g. &amp;quot;protein&amp;quot; and &amp;quot;Protein&amp;quot; are the same word.&lt;br /&gt;
&lt;br /&gt;
===Method===&lt;br /&gt;
An informative word is a word that does not occur too frequently in the MEDLINE abstracts. Thus, words that have a too high average occurrence per abstract (or possibly average occurrence per word) are found in a first parsing of the abstracts. You need to set and justify these limits. The first pass results in a word blacklist. Random sampling of 10% of the abstracts can be good enough to create the blacklist.&lt;br /&gt;
&lt;br /&gt;
Parsing the abstracts again disregarding blacklisted words and non-words (there are lots of noise) gives the informative words. If a word occurs more than once in an abstract it is collapsed to one occurrence, since the word association is important - not the number of same word occurrences in an abstract. Compute the single word and co-occurring words frequencies of the informative words and other data you need for answering questions.&lt;br /&gt;
&lt;br /&gt;
Given the frequency of 2 words and the number of words in an abstract, assuming independence, you can calculate an expectation for the number of times these 2 words will co-occur in an abstract. If you take the log of the ratio of observed co-occurrence to expected co-occurrence, you have a log-likelihood (LLH) score for the word pair. A LLH &amp;gt; 0 means the term pair is over-represented and therefore associated.&lt;br /&gt;
&lt;br /&gt;
===Input and output===&lt;br /&gt;
It is expected that 2-4 programs will be written in the project. The programs that work with the MEDLINE abstracts should as input take a file of MEDLINE accessions and download (and parse) the abstracts directly from PubMed.&lt;br /&gt;
The programs could instead work directly with the MEDLINE abstracts in 1 or more files, like this [https://teaching.healthtech.dtu.dk/material/22113/pubmed_result.txt.gz gzipped file from PubMed], which can be used in the project - or create your own data set from PubMed.&lt;br /&gt;
&lt;br /&gt;
There is also output and input of a blacklist and occurrence tables. These are your own formats.&lt;br /&gt;
&lt;br /&gt;
One of the programs must from the occurrence tables be able to answer questions like: Which words are strongly associated with a given word? How strongly associated are these two words?&lt;br /&gt;
&lt;br /&gt;
As an example, I could easily imagine a pipeline of 4 programs with options to control names of input and output files like this.&lt;br /&gt;
# From a list of MEDLINE accessions, download and create a file of abstracts.&lt;br /&gt;
# From a file of abstract create a file of blacklisted words.&lt;br /&gt;
# From a blacklist file and abstract file create occurrence tables/data.&lt;br /&gt;
# From occurrence/data tables answer questions about informative words.&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>