通过机器学习从网页中提取信息

我想用Python从网页中提取特定类型的信息,比如邮政地址。邮政地址有成千上万种形式,但仍然可以识别。由于形式众多,可能很难编写正则表达式,甚至是语法,并使用解析器生成器来解析这些信息。

所以我认为我应该使用机器学习的方法。如果我理解正确的话,我应该能够制作一个数据样本,指出结果应该是什么,然后我就可以得到一个能够从中学习如何自己识别结果的东西。这就是我对机器学习的全部了解。也许我可以使用一些自然语言处理,但可能用处不大,因为大多数库主要处理英语,而我需要处理捷克语。

问题:

  1. 我能通过机器学习轻松解决这个问题吗?这是个好方法吗?
  2. 有没有简单的例子可以让我开始?我是机器学习的新手,我需要一些实用的开始内容;越接近我的问题越好;越简单越好。
  3. 有很多Python库用于机器学习。哪一个最适合我的问题?
  4. 很多这样的库的文档使用起来并不容易,因为它们来自科学环境。有没有好的资源(书籍、文章、快速入门)来弥补这一差距,即专注于对机器学习一无所知的初学者?每次我打开文档时,都会遇到我不理解的术语,比如网络分类数据集等。

更新:

正如你们所提到的,我应该展示我试图从网页中提取的数据,这里有一个例子。我对电影院的放映时间感兴趣。它们看起来像这样(三个例子):

<div class="Datum" rel="d_0">27. června – středa, 20.00</div><input class="Datum_cas" id="2012-06-27" readonly=""><a href="index.php?den=0" rel="0" class="Nazev">Zahájení letního kina </a><div style="display: block;" class="ajax_box d-0"><span class="ajax_box Orig_nazev">zábava • hudba • film • letní bar</span><span class="Tech_info">Svět podle Fagi</span><span class="Popis">Facebooková  komiksová Fagi v podání divadla DNO. Divoké písně, co nezařadíte, ale slušně si na ně zařádíte. Slovní smyčky, co se na nich jde oběsit. Kabaret, improvizace, písně, humor, zběsilost i v srdci.<br>Koncert Tres Quatros Kvintet. Instrumentální muzika s pevným funkovým groovem, jazzovými standardy a neodmyslitelnými improvizacemi.</span><input class="Datum_cas" id="ajax_0" type="text"></div><div class="Datum" rel="d_1">27. června – středa, 21.30</div><input class="Datum_cas" id="2012-06-27" readonly=""><a href="index.php?den=1" rel="1" class="Nazev">Soul Kitchen</a><div style="display: block;" class="ajax_box d-1"><span class="ajax_box Orig_nazev">Soul Kitchen</span><span class="Tech_info">Komedie, Německo, 2009, 99 min., čes. a angl. tit.</span><span class="Rezie">REŽIE: Fatih Akin </span><span class="Hraji">HRAJÍ: Adam Bousdoukos, Moritz Bleibtreu, Birol Ünel, Wotan Wilke Möhring</span><span class="Popis">Poslední film miláčka publika Fatiho Akina, je turbulentním vyznáním lásky multikulturnímu Hamburku. S humorem zde Akin vykresluje příběh Řeka žijícího v Německu, který z malého bufetu vytvoří originální restauraci, jež se brzy stane oblíbenou hudební scénou. "Soul Kitchen" je skvělá komedie o přátelství, lásce, rozchodu a boji o domov, který je třeba v dnešním nevypočitatelném světě chránit víc než kdykoliv předtím. Zvláštní cena poroty na festivalu v Benátkách</span><input class="Datum_cas" id="ajax_1" type="text"></div><div class="Datum" rel="d_2">28. června – čtvrtek, 21:30</div><input class="Datum_cas" id="2012-06-28" readonly=""><a href="index.php?den=2" rel="2" class="Nazev">Rodina je základ státu</a><div style="display: block;" class="ajax_box d-2"><span class="Tech_info">Drama, Česko, 2011, 103 min.</span><span class="Rezie">REŽIE: Robert Sedláček</span><span class="Hraji">HRAJÍ: Igor Chmela, Eva Vrbková, Martin Finger, Monika A. Fingerová, Simona Babčáková, Jiří Vyorálek, Jan Fišar, Jan Budař, Marek Taclík, Marek Daniel</span><span class="Popis">Když vám hoří půda pod nohama, není nad rodinný výlet. Bývalý učitel dějepisu, který dosáhl vysokého manažerského postu ve významném finančním ústavu, si řadu let spokojeně žije společně se svou rodinou v luxusní vile na okraji Prahy. Bezstarostný život ale netrvá věčně a na povrch začnou vyplouvat machinace s penězi klientů týkající se celého vedení banky. Libor se následně ocitá pod dohledem policejních vyšetřovatelů, kteří mu začnou tvrdě šlapat na paty. Snaží se uniknout před hrozícím vězením a oddálit osvětlení celé situace své nic netušící manželce. Rozhodne se tak pro netradiční útěk, kdy pod záminkou společné dovolené odveze celou rodinu na jižní Moravu…  Rodinný výlet nebo zoufalý úprk před spravedlností? Igor Chmela, Eva Vrbková a Simona Babčáková v rodinném dramatu a neobyčejné road-movie inspirované skutečností.</span>

或者像这样:

<strong>POSEL&nbsp;&nbsp; 18.10.-22.10 v 18:30 </strong><br>Drama. ČR/90´. Režie: Vladimír Michálek Hrají: Matěj Hádek, Eva Leinbergerová, Jiří Vyorávek<br>Třicátník Petr miluje kolo a své vášni podřizuje celý svůj život. Neplánuje, neplatí účty, neřeší nic, co může<br>počkat  do zítra. Budování společného života s přételkyní je mu proti srsti  stejně jako dělat kariéru. Aby mohl jezdit na kole, raději pracuje jako  poslíček. Jeho život je neřízená střela, ve které neplatí žádná  pravidla. Ale problémy se na sebe na kupí a je stále těžší před nimi  ujet …<br> <br><strong>VE STÍNU&nbsp; 18.10.-24.10. ve 20:30 a 20.10.-22.10. též v 16:15</strong><br>Krimi. ČR/98´. Režie: D.Vondříček Hrají: I.Trojan, S.Koch, S.Norisová, J.Štěpnička, M.Taclík<br>Kapitán  Hakl (Ivan Trojan) vyšetřuje krádež v klenotnictví. Z běžné vloupačky  se ale vlivem zákulisních intrik tajné policie začíná stávat politická  kauza. Z nařízení Státní bezpečnosti přebírá Haklovo vyšetřování major  Zenke (Sebastian Koch), policejní specialista z NDR, pod jehož vedením  se vyšetřování ubírá jiným směrem, než Haklovi napovídá instinkt  zkušeného kriminalisty. Na vlastní pěst pokračuje ve vyšetřování. Může  jediný spravedlivý obstát v boji s dobře propojenou sítí komunistické  policie?&nbsp; Protivník je silný a Hakl se brzy přesvědčuje, že věřit nelze  nikomu a ničemu. Každý má svůj stín minulosti, své slabé místo, které  dokáže z obětí udělat viníky a z viníků hrdiny. <br><br><strong>ASTERIX A OBELIX VE SLUŽBÁCH JEJÍHO VELIČENSTVA&nbsp; ve 3D&nbsp;&nbsp;&nbsp; 20.10.-21.10. ve 13:45 </strong><br>Dobrodružná fantazy. Fr./124´. ČESKÝ DABING. Režie: Laurent Tirard<br>Hrají: Gérard Depardieu, Edouard Baer, Fabrice Luchini<br>Pod  vedením Julia Caesara napadly proslulé římské legie Británii. Jedné  malé vesničce se však daří statečně odolávat, ale každým dnem je slabší a  slabší. Britská královna proto vyslala svého věrného důstojníka  Anticlimaxe, aby vyhledal pomoc u Galů v druhé malinké vesničce ve  Francii vyhlášené svým důmyslným bojem proti Římanům… Když Anticlimax  popsal zoufalou situaci svých lidí, Galové mu darovali barel svého  kouzelného lektvaru a Astérix a Obélix jsou pověřeni doprovodit ho domů.  Jakmile dorazí do Británie, Anticlimax jim představí místní zvyky ve  vší parádě a všichni to pořádně roztočí! Vytočený Caesar se však  rozhodne naverbovat Normanďany, hrůzu nahánějící bojovníky Severu, aby  jednou provždy skoncovali s Brity. <br><br>

或者可以是任何类似的形式。HTML标记没有特殊规则,顺序也没有特殊规则等。


回答:

首先,您的任务属于信息提取研究领域。这项任务主要有两个复杂性级别:

  • 从给定的HTML页面或具有固定模板的网站(如Amazon)中提取信息。在这种情况下,最好的方法是查看页面的HTML代码,并制作相应的XPath或DOM选择器以获取正确的信息。这种方法的缺点是它不能推广到新的网站,因为您必须针对每个网站逐一进行操作。
  • 创建一个模型,从同一领域的多个网站中提取相同的信息(假设网页设计师在展示相应属性(如邮政编码或电话号码等)方面存在某种固有的规律性)。在这种情况下,您应该创建一些特征(使用机器学习方法,让信息提取算法“理解页面内容”)。最常见的特征包括:DOM路径、要提取的值(属性)的格式、布局(如粗体、斜体等)以及周围的上下文词。您需要标记一些值(根据领域的不同,您需要至少100-300个页面才能以某种合理的质量完成此操作)。然后,您在标记的页面上训练模型。还有另一种方法是无监督的方式进行信息提取(利用页面间信息规律性的概念)。在这种情况下,您/您的算法尝试在页面间寻找重复的模式(无需标记),并将最频繁出现的模式视为有效的模式。

总体来说,最具挑战性的部分将是处理DOM树并生成正确的特征。数据标记也是一项繁琐的任务。对于机器学习模型,请查看CRF、2DCRF、半马尔可夫CRF

最后,这在一般情况下是信息提取研究的前沿,而不是您可以在几个晚上完成的临时解决方案。

p.s. 我认为NLTK不会很有帮助——它是一个NLP库,而不是Web-IE库。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注