<strike id="ca4is"><em id="ca4is"></em></strike>
  • <sup id="ca4is"></sup>
    • <s id="ca4is"><em id="ca4is"></em></s>
      <option id="ca4is"><cite id="ca4is"></cite></option>
    • 二維碼
      企資網

      掃一掃關注

      當前位置: 首頁 » 企資快報 » 精準 » 正文

      哈利與赫敏注定有緣無分?《哈利波特》人物關系

      放大字體  縮小字體 發布日期:2021-08-24 19:57:06    作者:本站原創    瀏覽次數:37
      導讀

      這幾天,北京huan球影城開啟了最新一輪內測,在社交媒體上掀起熱議,對參與測試游客放出的爆料,小伙伴們紛紛表示“饞哭了”。作為80、90后的童年心頭好,“哈利波特的魔法世界”也是huan球影城最受期待的主題景區之

      這幾天,北京huan球影城開啟了最新一輪內測,在社交媒體上掀起熱議,對參與測試游客放出的爆料,小伙伴們紛紛表示“饞哭了”。作為80、90后的童年心頭好,“哈利波特的魔法世界”也是huan球影城最受期待的主題景區之一,在正式開園探秘之前,我們先來通過數據梳理下哈利波特中復雜的人物關系,為正式入學“霍格沃茨魔法學校”做好準備~

      記得小時候看《哈利·波特》小說的時候,最難記住的就是那些音譯的名字,又長又多,最后只能關注那幾個主要人物,跟著主要劇情一路過去,當個爽文看完了。

      這就導致一些邊緣人物根本沒關注到,也錯過了J·K·羅琳埋下的許多小伏筆。

      比如盧娜與韋斯萊其實是鄰居關系,這個在《火焰杯》中眾人出發去世界杯時有伏筆,但是很少有人第一遍看的時候能注意到。

      大概是為了從一開始就厘清人物關系,Medium上一位博主Tomaz Bratanic開發了一個小項目,用Selenium結合SpaCy來創建一個Neo4j哈利·波特人物圖譜,把《哈利·波特》第一部中所有的人物都納入一張網絡中,人物關系一目了然。

      從圖譜中我們似乎可以看到,三人小分隊中,哈利和赫敏的直接連接很少,這兩人出現時基本羅恩都在,而羅恩和赫敏二人卻連接很多,這讓人不禁聯想,難道從第一部開始,J·K·羅琳就安排好了羅恩和赫敏的姻緣了?

      制作一個這樣的圖譜需要5步,動手試試?

      八卦的事情我們先放在一邊,還是先來看看Tomaz Bratanic是如何制作這一圖譜的。

      總體來說,整個過程被分為了5步:

    • 爬取“哈利波特迷”網站數據
    • 書籍文本預處理
    • 基于 SpaCy 規則匹配的實體識別
    • 推斷字符之間的關系
    • 將結果存儲到 Neo4j 圖形數據庫中

      作者將整個過程記錄了一個Google Colab notebook,方便大家動手試試,鏈接如下:https://github.com/tomasonjo/blogs/blob/master/harry_potter/HarryPotterNLP.ipynb

      第一步,爬取“哈利波特迷”網站數據

      “哈利波特迷”網站頁面包含了第一本書中的人物列表,其中還包括了各個人物最初出現在哪一章,這可以幫助進一步消除字符的歧義,因此第一步就是去爬取“哈利波特迷”網站數據。

      作者選擇使用Selenium進行Web頁面抓取,然后形成一個字符列表,其中包含人物最先出現的章節的信息,此外,每個角色都有一個網頁,上面有關于角色的詳細介紹。

      例如,從赫敏·格蘭杰的頁面你可以觀察到一個結構化的表格,其中包含了更多的信息,作者使用別名部分的實體提取然后添加其他字符細節,如家族和血型來豐富最后的人物圖譜。

      第二步,書籍文本預處理

      由于文本中人物往往散布于文本的不同位置,其中涉及到的人物通常可以有多種不同的表達方式,例如某個語義關系中的實體可能是以代詞形式(比如he和she)出現的,為了更準確且沒有遺漏地從文本中抽取相關信息,必須要對文章中的指代現象進行消解。

      在尋找合適的指代消解(Co-reference Resolution)模型時,作者考慮了NeuralCoref和AllenNLP,這兩個模型都能提供指代消解功能。

      但是在試用AllenNLP模型輸入整個章節時,作者的內存不夠,把一個章節分割成一個句子列表又運行得非常慢,所以作者最后還是使用了NeuralCoref,NeuralCoref很輕松地處理了整個章節,并且工作得更快。

      準備好了文本,是時候從文本中提取提到的字符了。

      第三步,基于SpaCy規則匹配的實體識別

      作者一開始試了幾個不同的命名實體識別(Named Entity Recognition,NER)模型,SpaCy、HuggingFace、Flair,甚至是 Stanford NLP。

      但是這些模型都不能很好地滿足我的要求。因此,作者決定使用SpaCy基于規則的模式匹配特性,而不是自己訓練模型。

      根據第一步從網站上搜集的數據,現在已經知道我們需要在尋找哪些角色,下面只需要找到一種方法,在文本中盡可能完美地匹配他們。

      首先必須為每個字符定義文本模式。這需要添加全名作為我們正在尋找的模式,然后我們使用空格將名稱分開,并創建一個模式,將這個,名字中的每個單詞分開。舉個例子,如果我們定義了matcher模式,我們最終會得到3個不同的文本模式來表示給定的字符:

    • 全名: 阿不思·鄧不利多(Albus Dumbledore)
    • 名: 阿不思(Albus)
    • 姓: 鄧布利多(Dumbledore)

      當然,還會有許多特例,比如“天狼星布萊克”(Sirius Black),為了不將所有“黑色”(Black)和人物搞混,作者定義只有當“布萊克”是標題格式的,才會假設“小天狼星布萊克”被引用。

      另外,還需要考慮當只提到姓時,如何匹配到正確的人,比如這句話,“Weasley, get over here!”,這里面的Weasley可能指向羅恩的任何一個兄弟姐妹,這時必須為實體消歧提出一個通用的解決方案。

      第四步,推斷字符之間的關系

      解決了實體識別問題,其實就已經完成了整個工作中最難的部分。

      推斷角色之間的關系則非常簡單,首先,需要定義相互作用的距離閾值或兩個字符之間的關系。

      作者將距離閾值定義為14,也就是說,如果兩個字符在14個單詞的距離內共同出現,那么我們假設她們一定是相互作用的。

      此外,作者還合并了一些實體以避免扭曲結果,比如“哈利今天過得很愉快。他下午去找鄧布利多談話了。”

      如果簡單分析這句話,會讓“哈利”和“鄧布利多”發生兩次互動,因此需要按照引用單個實體的相同字符的順序合并實體,來解決重復統計的問題。

      第五步,將結果存儲到Neo4j圖形數據庫中

      提取了字符之間的交互網絡后,剩下的唯一工作就是將結果存儲到圖形數據庫中。

      導入查詢非常簡單,因為這里處理的是單向網絡,如果使用的 是作者準備的Colab Notebook,那么創建一個免費的Neo4j Sandbox 或者免費的Aura數據庫實例來存儲結果將是最簡單的。

      最后,可視化結果,我們就能得到最終的人物關系圖譜。

      靈感來自《權利的游戲》人物圖譜,下一步要分析哈利·波特宇宙

      在文章中,作者表示,這一項目的靈感來源于此前Andrew Beveridge建立的《權利的游戲》人物圖譜。

      相比于《哈利·波特》,《權力的游戲》擁有更多的人物和劇情,生成的網絡也更加復雜。

      除了對整個1-8季進行分析,Andrew Beveridge還對每一季做了人物圖譜分析,看看每一季中誰和誰是盟友,誰跟誰又是敵人。感興趣的讀者可以查看項目鏈接:https://networkofthrones.wordpress.com/

      相比而言,Tomaz Bratanic的《哈利·波特》人物圖譜項目更容易上手,讀者可以用第二部或第三部嘗試這種方法,唯一需要稍微調整的是實體消除歧義過程。

      《哈利·波特》人物圖譜GitHub鏈接:https://github.com/tomasonjo/blogs/blob/master/harry_potter/HarryPotterNLP.ipynb

      Tomaz Bratanic表示,下一步他將著手整個哈利·波特宇宙的分析,將《神奇動物在哪里》的部分也囊括進去,感興趣的小伙伴可以持續關注。

      參考鏈接:https://medium.com/neo4j/turn-a-harry-potter-book-into-a-knowledge-graph-ffc1c45afcc8https://networkofthrones.wordpress.com/https://harrypotter.fandom.com/wiki/Main_Page


      作者:王燁

      轉載自大數據文摘微信公眾號

    •  
      (文/本站原創)
      免責聲明
      本文僅代表作發布者:本站原創個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
       

      Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

      粵ICP備16078936號

      微信

      關注
      微信

      微信二維碼

      WAP二維碼

      客服

      聯系
      客服

      聯系客服:

      在線QQ: 303377504

      客服電話: 020-82301567

      E_mail郵箱: weilaitui@qq.com

      微信公眾號: weishitui

      客服001 客服002 客服003

      工作時間:

      周一至周五: 09:00 - 18:00

      反饋

      用戶
      反饋

      午夜久久久久久网站,99久久www免费,欧美日本日韩aⅴ在线视频,东京干手机福利视频
        <strike id="ca4is"><em id="ca4is"></em></strike>
      • <sup id="ca4is"></sup>
        • <s id="ca4is"><em id="ca4is"></em></s>
          <option id="ca4is"><cite id="ca4is"></cite></option>
        • 主站蜘蛛池模板: 天天操天天干天天摸| 欧美综合图片一区二区三区| 无码色偷偷亚洲国内自拍| 国产成人AAAAA级毛片| 久久综合88熟人妻| 中文字幕aⅴ在线视频| 1000部啪啪未满十八勿入| 欧美激情视频一区二区三区 | 亚洲久热无码av中文字幕| 15一16毛片女人| 欧美俄罗斯乱妇| 国产男女视频在线观看| 五月丁香六月综合缴清无码| 好吊色青青青国产在线播放| 最新国产三级久久| 国产卡一卡二卡3卡乱码免费| 久久国产精品-国产精品| 蝌蚪久热精品视频在线观看| 无码精品A∨在线观看无广告| 国产1000部成人免费视频| 中国一级特黄的片子免费 | 久久久久无码精品国产H动漫 | 国产精品666| 久久精品国产精品亚洲蜜月| 阿v视频在线观看| 成年女人18级毛片毛片免费| 国产在线观看一区二区三区| 久久天天躁狠狠躁夜夜躁2020| 蜜柚视频网在线观看免费版| 成人看片黄a在线观看| 免费播放美女一级毛片| 99久无码中文字幕一本久道| 欧美最猛黑人xxxx黑人| 国产浮力第一页草草影院| 久久国产精品一区| 精品国产欧美精品v| 在线免费h视频| 亚洲视频在线观看| 2021国产精品自拍| 日韩在线视频网| 国产成人A亚洲精V品无码|