通过机器学习提取网页中的信息(Extracting an information from web

2019-08-02 15:11发布

我想从网页在Python中提取特定类型的信息 。 比方说,邮政地址。 它有成千上万的形式,但是,它仍然是莫名其妙地辨认。 由于有大量的形式,这将是可能很难写的正则表达式 ,甚至有点像语法和使用的解析器生成解析出来。

所以我觉得我应该去的方式是机器学习 。 如果我理解得很好,我应该能够使数据的样本,我会指出应该是什么结果,然后我有一些东西,可以从中学到如何通过自身认识的结果。 这是我所知道的关于机器学习。 也许我可以利用一些自然语言处理,但可能不会太大,因为所有的图书馆与英国主要的工作,我需要这个捷克。

问题:

  1. 我可以用机器学习轻松解决这个问题? 是不是去的好办法?
  2. 是否有任何简单的例子这将让我开始? 我的机器学习小白,我需要开始一些实事; 接近我的问题是更好的; 越简单越好。
  3. 有很多Python库的机器学习。 哪一个最适合我的问题呢?
  4. 这样库的有很多不是很容易使用的文档,因为他们从科学的环境。 有没有即专注于谁知道完全一无所知机器学习的新手任何良好来源(书籍,文章,快速入门)缩小差距,? 每个文档我开的条款开始我不明白,如网络分类数据集等。

更新:

大家都提到的我应该表现出一个数据,我试图走出网络,在这里就是一个例子。 我感兴趣的电影放映时间 。 他们看起来像这样(3台):

<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标记并没有硬性规定,没有特殊的规则,以便等

Answer 1:

首先,你的任务适合研究的信息提取区域。 主要有2个水平这一任务的复杂性:

  • 从给定的HTML页面或与固定模板(如亚马逊)网站提取。 在这种情况下,最好的办法就是看网页的HTML代码,并创建了相应的XPath或DOM选择器来获得正确的信息。 这种方法的缺点是,它不是推广到新的网站,因为你必须这样做对每个网站逐一。
  • 创建一个从许多网站一个域(具有被假定存在方式的网页设计师提出相应的属性,如拉链或电话或任何其他的一些内在的规律性)中提取相同的信息的模型。 在这种情况下,你应该创建一些功能(使用ML方法,让IE的算法来“理解网页上的内容”)。 最常见的特点是:DOM路径,该值(属性)的格式将被提取,布局(如粗体,斜体等),以及围绕上下文单词。 你标注一些值(你至少需要100-300页视域与某种合理的质量做到这一点)。 然后,你训练的标记网页的典范。 还有给它一个选择 - 做IE在无人监督的方式(利用跨页信息规律性的想法)。 在这种情况下,你/你的algorith尝试跨页(无标签)找到重复的模式,并考虑为有效的,这是最常见的。

最具挑战性的部分整体将与DOM树工作,并产生正确的功能。 此外,在以正确的方式数据标注是一个乏味的任务。 对于ML车型-看看CRF,2DCRF,半马氏CRF。

最后,这是在一般情况下,在IE研究前沿,而不是一个黑客,你可以做到这一点有几天晚上。

PS我也觉得NLTK不会有很大的帮助 - 这是一个NLP,非Web-IE库。



Answer 2:

作为自然语言处理,如果你使用python的你绝对应该检查梦幻(恕我直言,不与他们关联) 自然语言工具包 ,这对于很多算法,其中有许多是与语言无关的实现(比如,正克)。

对于机器学习的Python库的建议,我会说这将取决于你想用什么技术, 但OpenCV的实现了一些常用算法 。 机器学习是一个非常广阔的区域。 只是为了监督学习分类子问题,有朴素贝叶斯,KNN,决策树,支持向量机,至少有十几种不同类型的神经网络......不胜枚举和。 这就是为什么,就像你说的,有没有“快速入门”或教程在一般的机器学习。 这里我的建议是,首先要了解基本的ML术语 ,其次, 了解一个子问题 (我建议监督学习分类),第三, 研究一个简单的算法,解决了这个子问题 ( KNN依赖于高中级数学) 。

关于特别是你的问题:看来你要检测出巨大​​的数据集内的数据块(邮政编码)(文本),这一点,据我所知,没有问题的ML手柄式的存在。 分类算法需要一个相对小的特征向量 。 为了得到这一点,你需要做什么叫做降维 :这意味着,隔离, 看起来像潜在的邮政编码部分。 只有不分类算法分类它(作为“邮政编码”或“不邮政编码”,例如)。

因此, 你需要找到一种方法来隔离潜在的比赛之前,你甚至考虑使用ML来解决这个问题 。 这肯定将涉及自然语言处理,就像你说的,如果你不知道或不能使用正则表达式或解析。



Answer 3:

请注意,有专门为机器学习和所谓的交叉验证统计分析堆栈交换场地。 你更容易找到有关您的问题设置有信息。

虽然需要一些编程技巧,机器学习作为一个领域是真正的编程和数据分析的特产。 它有它自己的“语言”并采用矩阵运算和一般线性代数的一个基本的了解。 大部分的ML专家必须做的工作,涉及到其源数据的操作到,该算法可以工作的形式。

在交叉验证,你会发现,其实解决这些类型的问题每天都在,但要准备深深陷入ML兔子洞的人。 有很多东西需要学习。

https://stats.stackexchange.com/



Answer 4:

按照我知道的有两种方法可以做到使用机器学习方法这个任务。

1.采用计算机视觉训练模型,然后提取根据你的使用情况的内容,这已经通过实施diffbot.com。 他们没有开源的解决方案。

2.另一种方式去解决这个问题是使用监督机器学习训练二元分类对内容进行分类VS样板,然后提取内容。 这种方法在使用天罗地网。 并围绕这一领域的其他研究。 你可以看看基准比较不同的内容提取技术之一。



Answer 5:

首先,机器学习是不是魔术。 这些算法执行特定的任务,即使这些可能有点复杂的时候。

任何这样的任务的基本方法是产生一些合理的代表标记数据,这样就可以评估你做得如何。 “BOI”标签可以工作,其中每一个字,你给它分配一个标签:“O”(外),如果它不是你要找的,“B”的东西(开始),如果它是一个地址的开始, “我”在地址的所有后续字(或数字或其他)。

第二步是要想想你要如何评估你的成功。 它是重要的是你发现一个地址的大部分,或者你还需要知道的东西到底是什么(邮编或街道或城市等)。 这就改变了你算作一个错误。

如果你希望你的命名实体识别器很好地工作,你必须知道你的数据,并且决定为这个职位的最佳工具。 这很可能是一系列关于如何将结果合并一些规则的正则表达式。 我希望你将能够发现,大部分的数据具有相对简单的程序。 一旦你有一些简单的工作,你检查出的假阳性(的事情,原来不被你所要找的东西)和假阴性(东西,你错过了),和寻找模式。 如果你看到的东西,你可以轻松地修复,尝试一下。 正则表达式的一个巨大优势是,它是非常容易的,不仅识别象地址的一部分,而且检测是哪个部分。

如果你想超越这一点,你可能会发现许多NLP方法不能对数据表现良好,因为“自然语言处理”,通常需要的东西,看起来像(你猜对了),自然语言识别是什么东西。

或者,因为你可以把它看作一个分块的问题,你可以使用最大熵马尔可夫模型。 这从使用到另一个类型的词来块文本转换的概率为“地址的一部分”和“不是一个地址的一部分”,在这种情况下。

祝好运!



Answer 6:

我建议你看看领域信息提取 。 很多人一直在研究怎么做,你要问什么。 还有一些技术信息提取是基于机器学习,一些技术不是基于机器学习。

这是很难做进一步的评论不看例子代表你要解决的问题(如何做在捷克邮政地址看看吗?)。



Answer 7:

该方法需要一个监督学习算法(通常,它们产生比无监督或半监督方法更好的结果)。 另外,请注意,你需要基本提取文本块。 直观地说,你的算法需要这样说,“从这个字开始,在接下来的三线,是一个邮寄地址”。

我觉得解决这个自然的方式将文字和人物等级n元语言模型的组合。 建模本身可以是出奇的复杂。 正如mcstar指出, 交叉验证是一个更好的地方,让这些细节。



Answer 8:

我建了一个解决方案正是这一点。 我的目标是提取所有有关在互联网上提供比赛的信息。 我用了一个好办法。 我所做的是,我发现其中的信息在网站上列出的模式。 在我的情况,他们被逐一列出的顺序如下,我发现,使用HTML表格标记,并得到有关比赛的信息。

虽然这是一个很好的解决方案,它为一些网站和其他一些相同的代码不会工作。 但是,你只需要改变某些参数相同的代码,使其工作。



文章来源: Extracting an information from web page by machine learning