用正则表达式提取德语单词



我有一些大的德文文本文件(我可以分成更小的文本文件,所以这不是问题),我想从提取单词然后计算每个单词出现的次数(后者也不是问题)。

文本很乱:

'''Alan Smithee''' steht als [[Pseudonym]] für einen fiktiven Regisseur, der Filme verantwortet, bei denen der eigentliche [[Regisseur]] seinen Namen nicht mit dem Werk in Verbindung gebracht haben möchte. Von 1968 bis 2000 wurde es von der [[Directors Guild of America]] (DGA) für solche Situationen empfohlen, seither ist es '''Thomas Lee'''.<ref>[[Los Angeles Times|latimes]].com: [http://articles.latimes.com/2000/jan/15/entertainment/ca-54271 ''Name of Director Smithee Isn't What It Used to Be''], zuletzt geprüft am 2. April 2011.</ref> ''Alan Smithee'' ist jedoch weiterhin in Gebrauch.
Alternative Schreibweisen sind unter anderem die Ursprungsvariante ''Al'''len''' Smithee'' sowie ''Alan Sm'''y'''thee'' und ''A'''dam''' Smithee''. Auch zwei teilweise asiatisch anmutende Schreibweisen ''Alan Smi Thee'' und ''Sumishii Aran'' gehören – so die [[Internet Movie Database]] – dazu.<ref name="IMDb">[http://www.imdb.com/name/nm0000647/ Eigener Eintrag für ''Alan Smithee'' in der IMDb]</ref>
== Geschichte ==
=== Entstehung ===
Das Pseudonym entstand 1968 infolge der Arbeiten am Western-Film ''Death of a Gunfighter'' (deutscher Titel ''[[Frank Patch – Deine Stunden sind gezählt]]''). Regisseur [[Robert Totten]] und Hauptdarsteller [[Richard Widmark]] gerieten in einen Streit, woraufhin [[Don Siegel]] als neuer Regisseur eingesetzt wurde.
Der Film trug nach Abschluss der Arbeiten noch deutlich Tottens [[Manier (Stil)|Handschrift]], der auch mehr Drehtage als Siegel daran gearbeitet hatte, weshalb dieser die Nennung seines Namens als Regisseur ablehnte. Totten selbst lehnte aber ebenfalls ab. Als Lösung wurde  ''Allen Smithee'' als ein möglichst einzigartiger Name gewählt.<ref>[http://www.imdb.com/name/nm0000647/bio ''Biography for Alan Smithee''] in der Internet Movie Database</ref>
In den zeitgenössischen Kritiken wurde der Regisseur u.&nbsp;a. von [[Roger Ebert]] mit den Worten gelobt: 
{{Zitat
|Text=Director Allen Smithee, a name I’m not familiar with, allows his story to unfold naturally. He never preaches, and he never lingers on the obvious. His characters do what they have to do.<ref>rogerebert.[[Chicago Sun-Times|suntimes]].com: [https://www.rogerebert.com/reviews/death-of-a-gunfighter-1969 ''Death of a Gunfighter''], zuletzt geprüft am 2. April 2011</ref>
|Sprache=en
|Übersetzung=Regisseur Alan Smithee, ein Name, der mir nicht vertraut ist, erlaubt es seiner Handlung, sich natürlich zu entfalten. Er predigt niemals, und er verweilt nie beim Offensichtlichen. Seine Charaktere tun, was sie tun müssen.}}
=== Aufdeckung und Abkehr ===
1997 kam die Parodie ''An Alan Smithee Film: Burn Hollywood Burn'' (deutscher Titel ''[[Fahr zur Hölle Hollywood]]'') in die Kinos, was das Pseudonym einem größeren Publikum bekannt machte, nicht zuletzt weil [[Arthur Hiller (Regisseur)|Arthur Hiller]], der eigentliche Regisseur des Films, selbst seinen Namen zurückzog und analog zum Filmtitel das Pseudonym ''Alan Smithee'' benutzte. Der Film gilt als einer der schlechtesten Filme der 1990er Jahre und gewann fünf [[Goldene Himbeere]]n.
Der Film ''[[Supernova (2000)|Supernova]]'' ist der erste Post-Smithee-Film, dort führte ein gewisser ''Thomas Lee'' alias [[Walter Hill]] die Regie.
<!-- fand nur einen für den von 1990, siehe ''[[Das Kindermädchen]]'':
„Smithee wurde allerdings auch nach ''Supernova'' gesichtet, in einem Film namens ''The Guardian''.“
-->
== Verwendung ==
Die Verwendung dieses oder eines anderen Pseudonyms ist für Mitglieder der DGA streng reglementiert. Ein Regisseur, der für einen von ihm gedrehten Film seinen Namen nicht hergeben möchte, hat nach Sichtung des fertigen Films drei Tage Zeit, anzuzeigen, dass er ein Pseudonym verwenden möchte. Der Rat der DGA entscheidet binnen zwei Tagen über das Anliegen. Erhebt die Produktionsfirma Einspruch, entscheidet ein Komitee aus Mitgliedern der DGA und der Vereinigung der Film- und Fernsehproduzenten, ob der Regisseur ein Pseudonym angeben darf. Über die Beantragung muss der Regisseur Stillschweigen halten, ebenso darf er den fertigen Film nicht öffentlich kritisieren, wenn die DGA ihm die Verwendung eines Pseudonyms zugesteht.<ref>Siehe zu diesen Regelungen [http://www.dga.org/~/media/Files/Contracts/Agreements/2008%20BA/008ba2008article8.pdf Artikel 8, Abschnitt 8-211 des ''Basic Agreement''] (PDF; 125&nbsp;kB) der DGA von 2008, abgerufen am 25. April 2012.</ref> Ein Antrag des Regisseurs auf Pseudonymisierung kann abgelehnt werden, so durfte [[Tony Kaye (Regisseur)|Tony Kaye]] den Namen Smithee bei dem Film ''[[American History X]]'' nicht einsetzen, obwohl er den Antrag stellte.
Auch bei nicht-US-amerikanischen Produktionen wird der Name verwendet, wie etwa beim [[Pilotfilm]] der Fernsehserie ''[[Schulmädchen (Fernsehserie)|Schulmädchen]]''. 2007 sendete die ARD am 8. und 9. August den zweiteiligen TV-Film ''Paparazzo''. Auch in diesem Werk erscheint anstatt des eigentlichen Regisseurs [[Stephan Wagner (Regisseur)|Stephan Wagner]] Alan Smithee im Abspann.
Regisseure, die das Pseudonym benutzt haben:
* [[Don Siegel]] und [[Robert Totten]] (für ''[[Frank Patch – Deine Stunden sind gezählt]]'')
* [[David Lynch]] (für die dreistündige Fernsehfassung von ''[[Der Wüstenplanet (Film)|Der Wüstenplanet]]'')
* [[Chris Christensen]] (''The Omega Imperative'')
* [[Gianni Bozzacchi]] (für ''I Love N.Y.'')
* [[Stuart Rosenberg]] (für ''Let’s Get Harry'')
* [[Richard C. Sarafian]] (für ''[[Starfire]]'')
* [[Dennis Hopper]] (für ''[[Catchfire]]'')
* [[Arthur Hiller (Regisseur)|Arthur Hiller]] (für ''[[Fahr zur Hölle Hollywood]]'')
* [[Rick Rosenthal]] (''Die Vögel II – Die Rückkehr'')
* [[Kevin Yagher]] (''[[Hellraiser IV – Bloodline]]'')
* [[William Lustig]] (''[[Maniac Cop 3]]'')

我写了以下代码:

import re
with open('C:\path\text.txt', encoding="unicode_escape") as f, open('word_list.txt', 'a', encoding="utf-8") as f1:
f1.write('n'.join(set(re.findall("[a-zA-Z_äöüÄÖÜß]+", f.read()))))

文本编辑器说我有741个单词,但输出只有大约460个单词。输出看起来像这样(这只是一个片段),它还包含没有意义的单个字母或字母组:

Hill
Himbeere
An
never
gepr
Frank
X
Eigener
Thee
Auch
anstatt
com
mehr
fiktiven

我应该用别的东西吗?我应该更改代码中的任何内容吗?有没有更好的方法来过滤如此杂乱的文本?

看起来你的代码工作正常。请注意,set只保留唯一的元素,所以这可能是单词计数较低的原因。

在这样的文本中,你会发现许多专有名称和元数据词。在这本书中,甚至有一节把名字分成音节,这给了你一些毫无意义的结果。

根据您计划如何处理数据,可能值得考虑获取德语单词的字典,并丢弃字典中没有出现的任何结果。这个答案中有一些不错的单词列表,来自德国的stackexchange。

如果您只想处理维基百科文章,您可以使用wikipedia模块。它导入的文章没有降价信息,使您的问题,目前

import wikipedia
page = wikipedia.page('Stack Overflow')
raw_text = page.content

此外,我建议您使用Stutgart tbingen标签集,例如在space模块中使用。

最新更新