實體消歧(鏈結到實體庫)

2021-09-13 10:18:08 字數 3171 閱讀 5945

disambiguation.py

#!/usr/bin/python3

import pymysql

import json

import requests

from similarityen import similarity

deffindcandidates

(entity)

:# 開啟資料庫連線

db = pymysql.connect(host=host, port=

3306

, user=username, passwd=password, db=dbname)

# 使用 cursor() 方法建立乙個游標物件 cursor

cursor = db.cursor(

)# sql 查詢語句

#單一實體消歧

candidates = findcandidates(entity[

'word'])

texts =

for candidate in candidates:

'description'])

try:

indent = similarity(texts, query)

sort =

sorted

(enumerate

(indent)

, key=

lambda x: x[1]

)##b[-1][0] 最大值的原下標

max_index = sort[-1

][0]

except

: max_index =

0try:)

except:)

points = json.dumps(points, indent=4)

return points

similarity.py

# -*- coding:utf-8 -*-

import codecs

import re

from gensim import corpora, models, similarities

from nltk.tokenize import wordpuncttokenizer

defwordtokenizer

(sentence)

: words = wordpuncttokenizer(

).tokenize(sentence)

return words

deftokenization

(text, stopwordpath)

: stop_words = stopwordpath

stopwords = codecs.

open

(stop_words,

'r', encoding=

'utf8'

).readlines(

) stopwords =

[w.strip(

)for w in stopwords]

result =

text = re.sub(

"[-',|.()/?!·;]"

,' '

, text)

.lower(

) words = wordtokenizer(text)

for word in words:

if word not

in stopwords:

return result

defsimilarity

(texts, query, stopwordpath=

'stop.txt'):

corpus =

for text in texts:

) dictionary = corpora.dictionary(corpus)

# 生成特徵字典,為每個出現在語料庫中的單詞分配了乙個獨一無二的整數編號id

doc_bow =

[dictionary.doc2bow(text)

for text in corpus]

# 函式doc2bow() 簡單地對每個不同單詞的出現次數進行了計數,並將單詞轉換為其編號,然後以稀疏向量的形式返回結果。

tfidf = models.tfidfmodel(doc_bow)

# 每乙個特徵的idf值的統計

tfidf_bow = tfidf[doc_bow]

# 計算tfidf

query = tokenization(query, stopwordpath)

query_bow = dictionary.doc2bow(query)

index = similarities.matrixsimilarity(tfidf_bow)

sims = index[query_bow]

return sims

實體消歧簡介

定義 實體消歧的本質在於乙個單詞很可能有多個意思,也就是在不同的上下文中所表達的含義可能不太一樣。簡單實現 首先我們需要準備乙個類似於下面的這種實體庫 id實體名 實體描述 1001 蘋果美國一家高科技公司,經典的產品有iphone手機 1002 蘋果水果的一種,一般產自於 然後當我們拿到text時...

實體消歧,實體識別,實體融合,知識融合概述

實體消歧問題是當下比較熱點的研究問題,國內外的大多熟研究從兩個角度解決實體歧義造成的影響,分別是通過尋求更高質量的特徵和引入外部資源輔助消解。在特徵選取方面,何正焱 2 利用 dnn 深度神經網路 方法,提出了一種文件和實體的相似度為框架的消歧模型 姜麗麗 3 提出了一種基於帶權圖結構的框架來實現人...

實體消岐和實體統一

實體消歧 定義 實體消歧的本質在於乙個單詞很可能有多個意思,也就是在不同的上下文中所表達的含義可能不太一樣。簡單實現 首先我們需要準備乙個類似於下面的這種實體庫 id實體名 實體描述 1001 蘋果美國一家高科技公司,經典的產品有iphone手機 1002 蘋果水果的一種,一般產自於 然後當我們拿到...