王欣欣

摘 要:隨著信息技術的發展,數字化時代的到來,數學的作用日益凸顯,且初中數學對學生有舉足輕重的作用。然而對于一些中學生來說,對數學知識的學習存在著很大的個體差異性。由此,可利用Neo4j構建一個關于初中數學學科各章節目錄中所包含的知識點的知識圖譜,幫助學生在學習過程中,提高學習效率。除此之外,利用爬蟲技術爬取一定數量的數學題目進行研究。通過知識圖譜將題目所包含的知識點對應到各個章節,有助于學生對知識進行復習鞏固。
關鍵詞:初中數學;Neo4j ?知識圖譜爬蟲
中圖分類號:G63 ? ? ? ? ?文獻標識碼:A ? ? ? ? ?文章編號:1673-9132(2020)17-0083-02
DOI:10.16657/j.cnki.issn1673-9132.2020.17.041
知識圖譜技術已經廣泛應用到金融、工業、醫學、教育等領域, 成為真實世界研究中的熱點問題[1]。知識圖譜就是以科學知識為研究對象,以可視化的方式來揭示科學知識的發展歷程及其結構關系,并且以空間結構的形式將學科內部或多學科間的交互關系展示出來。因此,知識圖譜不僅可以對知識進行查找、匹配、獲取、推送和共享等功能,還具有智能工具化和可視化的特性[2]。通過知識圖譜,將網頁中的非結構化文本內容中提取出實體及實體關系,將這些文本內容轉化為相互連接的圖譜結構[3]。
初中數學知識有著自己獨有的特點,可以分成多個模塊。如果對于中考生復習來說,按照模塊復習更為系統,但對于初一、初二年級的學生來說,他們并沒有系統的將知識學完,因此按照章節幫助學生查漏補缺是最為有效也是最為合適的。本研究是根據數學題目中的考查范圍大,題量和題型多等特點,幫助學生提取出題目中考查的知識點,然后對應到教材中的章節里面,可以及時地幫助學生了解自己的薄弱知識點,從而有的放矢地填補缺漏。因此文章所構建的知識圖譜是通過教材中的各章節來組織的。
附圖1是整個流程圖,先構建知識圖譜,然后將題目分詞之后與圖譜中的知識節點做匹配,再對應到相關章節內容中。
一、知識圖譜的繪制
知識圖譜是一種基于圖的數據結構,由節點和邊組成。其中節點即實體,邊即實體之間的關系。目前可用于知識圖譜繪制的軟件有多種,其中使用的較多的有Cite Space、Gephi、Neo4j等[1]。由于Neo4j在知識圖譜的繪制中有著獨特的優勢:以圖的結構存儲,可以存儲圖的節點、屬性和邊,這有助于提高數據庫的性能;同時它的安裝過程比較簡單[4]。因此本文將利用Neo4j軟件對所獲得的知識節點,知識節點之間的關系進行知識圖譜的繪制。
本文所采用的語言工具是python語言,使用的系統是Windows7系統。
(一)實體識別
數學知識的實體即節點,本文采用人教版初中數學教材,利用里面各章節的目錄及其所包含的知識點作為知識圖譜中的節點,具體節點信息示例如下:
在七年級上冊中,第一章目錄為有理數,其節目錄第一節正數和負數,則其所包含的知識點為正數、負數等。
(二)關系識別
鑒于節點統計完之后,我們可以統計節點與節點之間的關系。一般根據目錄做的節點關系的統計為包含關系。因為這主要是為了學生針對性地學習某一節的內容而制訂的,是針對各章節的知識點來進行統計分析的,因此并沒有系統地將各模塊的知識點的關系統計出來,對于各知識點之間的關系在之后制作各模塊知識圖譜的時候將會進行統計。文中關于各節點之間的關系主要體現了節點之間的包含關系,因為主要是想讓學生通過錯題對應到各節內容中,以此來補習自己所欠缺的知識。
(三)知識圖譜繪制
以上將節點信息和節點關系信息統計出來之后,利用neo4j軟件并結合python語言將知識圖譜繪制出來,如圖2所示。由于知識圖譜包含的內容較多,因此這張圖只是展示了部分節點和節點間的關系。
二、初中數學問題研究
(一)數據來源
本文主要研究學生有不會的題目或是出錯的題目時,如何將這些題目對應到教材中準確地補習自己欠缺的知識點。因此在選取數據時通過網絡爬蟲的技術對21世紀教育網中的初中數學試題進行爬取,然后對試題進行數據的清洗。
(二)分 詞
當我們獲取知識點的時候,要通過分詞的方法來進行。這樣就可以將之前的句子分成多個詞語。分詞的方法有多種,但通過比較,本文采用jieba分詞的技術對試題進行分詞。jieba分詞有三種模式:精確模式、全模式和搜索引擎模式[5]。但由于數學這一學科的特殊性,例如:‘平行四邊形這一數學名詞,它還可以分成‘平行和‘四邊形這兩個數學名詞,因此為了分詞的效果更加準確,本文在分詞的時候選用了jieba分詞中的全模式進行分詞,這樣所分得的數學名詞更加全面。
(三)實驗過程
分詞之后,將所有的詞與之前在制作知識圖譜時所得到的各章節的知識點進行逐一匹配,當有這一知識點出現時,就先匹配到包含這一知識點的章節中,然后再根據題目中的其他詞進行精確匹配,如果沒有精確匹配的知識點,就直接對應到這一節甚至是這一章的內容。例如:一道題目是‘判斷0的平方根是0這一說法是否正確,在這道題目中我們通過jieba分詞之后所得到的結果是‘判斷 0 的 平方 平方根 方根 是 0 這 一 說法 是否 正確。通過這個我們可以對比之前所得到的圖譜中的數學知識,可以找到‘平方和‘平方根是數學知識,那么我們就能找到它所對應的章節為第六章的6.1這一小節。
三、結語
本文主要是通過制作的知識圖譜讓學生更加清晰地看到每個章節所包含的知識點,同時在自己出錯的題目中可以找到對應的知識點,便于補習自己所不擅長的章節,同時也可以通過模糊匹配看到所包含這一知識點的相關章節,可以進行系統的學習。同時,本文獲取的知識點不是很全面,因此需要后續持續往這一知識圖譜中加入新的知識點;另外,本文對于各個知識點之間的關系沒有進行統計,在今后的研究過程中可以將知識點之間的關系統計出來,以構成一個完整的初中數學知識圖譜,方便學生的學習和查找知識點,且更系統地將整個初中數學架構掌握起來。
參考文獻:
[1]李新龍,劉巖,何麗云,劉保延,張艷宏.知識圖譜研究概況及其在中醫藥領域的應用[J].中國中醫藥信息雜志,2017(7):129.
[2]朱游娟.初中數學問題的全知識圖譜設計與實現[D].電子科技大學,2016.
[3]趙軍,劉康,何世柱,陳玉博.知識圖譜[M].北京:高等教育出版社,2018.
[4]郝培豪,高潔.基于Neo4j圖數據庫的警務安保知識圖譜可視化分析[J].研究與開發,2018(4):8.
[5]涂銘,劉洋,劉樹春.python自然語言處理實戰:核心技術與算法[M].北京:機械工業出版社,2018.