Michael Gattinger writes:

> Fallen euch derzeit sonst noch Feature ein, die interessant wären? 

Hallo Michael,

vielen Dank für die Arbeit an Deinem feinen Projekt zur Aufbereitung von
Wikipediainhalten für die Verwendung in Korpussen.

Da der Wikipedia-XML-Dump (nur pages und articles) bereits knapp 8 GB groß
ist, kann er für die Bedürfnisse von Neo großzügig geputzt werden. Mehr als
ein GB als Ergebnis wird stets mehr als genug sein.

Nicht immer läßt sich einfach entscheiden, was weggeputzt werden soll und
was bleiben soll.

Was ich versuchen würde, um aus Wikipedia einen Korups für Neo zu
extrahieren:

1. Artikel entfernen, die eine Person oder etwas geografisch Benanntes
(Stadt, Land, Fluss (oft an deren Kategorie erkennbar)) zum Thema haben.
2. Alle Tabellen entfernen.
3. Alle Aufzählungen entfernen.
4. Alle ref entfernen.
5 .Alle references mitsamt einleitender Überschrift entfernen.
6. Alle Überschriften innerhalb von Artikeln entfernen.
7. Titel übriger Artikel belassen (davor zwei, dahinter ein Zeilenumbruch).
8. Zitatinhalte belassen (in typografische Anführungszeichen stellen).
9. Alle Verweise nach Fallunterscheidung modifizieren bzw. entfernen.
10. Alle Artikel entfernen, die als #redirect bwz. #weiterleitung dienen.
11. Alle Artikel entfernen, die als Liste dienen.
12. Alle Artikel entfernen, die als Liste dienen.
13. <sub>...</sub>- bzw. <sub>...</sub>-Inhalte als hoch- oder tiefgestellte
ASCII- oder Unicode-Zeichen darstellen, wenn als solche verfügbar; dabei
ASCII bevorzugen, z. B. ²³.
14. Alle MediaWiki-Markups zu Text konvertieren bzw. entfernen.
15. html-Schreibweisen bzw. Entities konvertieren bzw. entfernen.

Dabei muss Artikelweise vorgegangen werden, da sich andernfalls massenhaft
Fehler durch das Putzen einschleichen können und werden.

Unabhängig von den Wikipedia-Artikeln wäre ein zweiter auf dieselbe Weise
erstellter Korpus zu den Wikipedia-Diskussionen ein besonders interessanter
weiterer Korpus für Neo, da die Diskussionen weitaus mehr von der Sprache
enthalten, wie Menschen sie untereinander in den Internetmedien austauschen.

Leider sind meine Programmier- und Skriptkenntnisse hoffnungslos veraltet
und eingerostet, so dass ich mit den jetzt erforderlichen Umgebungen dafür
vorerst nicht zurecht komme.

Mit netten Grüßen
Karl



P. S.: Reguläre Ausdrücke, die ich derzeit einsetze, könnten vielleicht
hilfreich sein (falls eine zweite Zeile unter dem RegExp steht, dient sie
als Ersetzung). Leider lassen sich wie auch immer verschachtelte
Textkomponenten mittels RegExps schlecht aufbereiten. Auch gibt es weitere
Schwächen in der Anwendung von RegExps, so dass sie sich allenfalls in
Skripten wohlüberlegt einsetzen lassen.

zu3. Alle Aufzählungen entfernen.
Ab 3 Aufzählungsitems alle außer den ersten und letzten löschen:
(?<=(^[\*#;][^\n]*?\n))[\*#;]{1,9}[^\n]*?\n(?=(^[\*#;]))

zu 4. Alle ref entfernen.
[ \t]??<ref[^&]*?>[^&]*?</ref>

zu 5 .Alle references mitsamt einleitender Überschrift entfernen.
<references>-Zeilen mitsamt zwei Überschriften entfernen:
[\s]*?==.*?==[\s]*?[\s]*?===.*?===[\s]*?[\s]*?<references.*?/>[\s]*?\n
\n

(mehrmals wiederholen) <references>-Zeilen incl. einer Überschrift entfernen:
[\s]*?==.*?==[\s]*?<references.*?/>[\s]*?\n
\n

<references>-Zeilen ohne Überschrift entfernen:
[\s]*?<references.*?/>[\s]*?\n
\n

zu 6. Alle Überschriften innerhalb von Artikeln entfernen.
Alle Überschriftenzeilen mit == entfernen:
(=+?)[^=\n]*?\1[\s]*?\n

zu 8. Zitatinhalte belassen (in typografische Anführungszeichen stellen).
Zitatschreibweise {{Zitat|...}} ändern zu "...":
\{\{Zitat\|[']*?([^'][^}\n]*?)[']*?\|[^}\n]*?\}\}\n
"\1"

zu 9. Alle Verweise nach Fallunterscheidung modifizieren bzw. entfernen.
Verweise zu Wiki-Artikeln in anderer Sprache entfernen (falls aus der
Mailingliste kopiert, dann die Zeilenumbrüche innerhalb dieser einen
einzeiligen RegExp entfernen):
[\s]*?\[(?:\[(ab|abq|ace|ady|af|ain|ak|aln|als|alt|am|amr|an|ang|anp|ar|
arc|arn|aro|arq|ary|arz|as|ast|atv|av|ay|az|azb|ba|ban|bar|bat-smg|bcc|
bcl|be|be-x-old|bfq|bg|bh|bi|bjn|bm|bn|bo|bpy|bqi|br|brx|bs|bto|bug|bxr|
ca|cbk-zam|cdo|ce|ceb|ch|chi|chn|cho|chr|chy|ckb|ckt|co|cr|crh|cs|csb|cu|
cv|cy|da|de|diq|dng|dsb|dv|dz|ee|el|eml|en|enm|eo|es|ese|et|eu|ext|fa|ff|
fi|fil|fiu-vro|fj|fo|fr|frp|frr|fur|fy|ga|gag|gan|gd|gl|glk|gn|gom|got|
grc|gu|gv|ha|hak|haw|haz|he|hi|hif|hil|ho|hr|hsb|hsn|ht|hu|hy|hz|ia|ibb|
id|ie|ig|ii|ik|ilo|inh|io|is|it|iu|ja|jam|jbo|jct|jv|ka|kaa|kab|kac|kbd|
kg|ki|kiu|kj|kjh|kk|kl|km|kn|ko|koi|krc|krj|krl|ks|ksh|ku|kum|kv|kw|ky|
la|lad|lb|lbe|lez|lg|lhu|li|lij|liv|lld|lmo|ln|lo|loz|lrc|lt|ltg|lus|lv|
lzz|mad|mai|map-bms|maz|mdf|mfe|mg|mh|mhr|mi|min|mk|ml|mn|mnc|mr|mrj|ms|
mt|mwl|mww|my|myv|mzn|na|nah|nap|nds|nds-nl|ne|new|ng|niu|njo|nl|nn|no|
non|nov|nrm|nso|nv|ny|oc|om|or|os|ota|ote|otk|pa|pag|pam|pap|pcd|pdc|pdt|
pes|pfl|pi|pih|pko|pl|pms|pnb|pnt|pny\[4\]|ppl|prs|ps|pt|qu|rar|rif|rm|
rmy|rn|ro|roa-rup|roa-tara|rtm|ru|rue|ruq|rw|ryu|sa|sah|sc|scn|sco|sd|sdc|
se|sei|sg|sgc|sh|shi|si|simple|sk|skr|sl|sli|slr|sm|sma|sn|so|sq|sr|srn|
ss|st|stq|su|sv|sw|swg|szl|ta|tcy|te|tet|tg|th|ti|tk|tl|tn|to|tpi|tr|trp|
ts|tsd|tt|tum|tvl|tw|ty|tyv|tzm|udm|ug|uk|ur|uun|uz|ve|vec|vep|vi|vls|vmf|
vo|wa|war|wls|wo|wuu|wym|xal|xh|xmf|yi|yo|yrl|yua|za|zea|zh|zh-classical|
zh-min-nan|zh-yue|zu|aa|ho|kj|kr|mh|mo|mus|qya|ru-sib|tlh|tokipona)
:[^]]*\])\][\s]*?

Klammern um interne Verweise entfernen, die kein : # | und kein
Zeilenumbruch enthalten:
[^[]\[\[([^:#|\n]*?)\]\][^]]
\1

Verweise kürzen, die kein : enthalten:
\[(?:\[[^][|:]*?\|([^|]*?)\])\]
\1

Verweise kürzen, die kein : und kein | enthalten:
\[(?:\[([^][|:]*?)\])\]
\1

zu 10. Alle Artikel entfernen, die als #redirect bwz. #weiterleitung dienen.
Artikel mit #redirect bzw. #weiterleitung entfernen:
<title>.*?<\/title>\n<text>#.*?<\/text>\n


Antwort per Email an