日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab源代码 语义相似度计算,如何计算两个句子之间的相似度(句法和语义)...

發布時間:2024/7/23 循环神经网络 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab源代码 语义相似度计算,如何计算两个句子之间的相似度(句法和语义)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我應該每次取兩個句子并計算它們是否相似。我的意思是,在語法和語義上都是這樣。如何計算兩個句子之間的相似度(句法和語義)

INPUT1:奧巴馬簽署法律。奧巴馬簽署了一項新法律。

INPUT2: 總線停在這里。 車輛停在這里。

INPUT3:紐約的火災。 紐約被燒毀。

INPUT4:在紐約的火災。在紐約大火中死亡50人。

我不想用本體樹作為靈魂。我寫了一個代碼來計算句子之間Levenshtein distance(LD),然后決定是否第二個句子:

可以忽略不計(INPUT1和2),

應更換的第一句話(INPUT 3),或

與第一句(INPUT4)一起存儲。

我對代碼不滿意,因為LD只計算語法級別(還有其他什么方法?)。語義如何融入(比如公交車就像是一輛車?)。

的代碼放在這里:

%# As the difference is computed, a decision is made on the new event

%# (string 2) to be ignored, to replace existing event (string 1) or to be

%# stored separately. The higher the LD metric, the higher the difference

%# between two strings. Of course, lower difference indices either identical

%# or similar events. However, the higher difference indicates the new event

%# as a fresh event.

%#.........................................................................

%# Calculating the LD between two strings of events.

%#.........................................................................

L1=length(str1)+1;

L2=length(str2)+1;

L=zeros(L1,L2); %# Initializing the new length.

g=+1; %# just constant

m=+0; %# match is cheaper, we seek to minimize

d=+1; %# not-a-match is more costly.

% do BC's

L(:,1)=([0:L1-1]*g)';

L(1,:)=[0:L2-1]*g;

m4=0; %# loop invariant

%# Calculating required edits.

for idx=2:L1;

for idy=2:L2

if(str1(idx-1)==str2(idy-1))

score=m;

else

score=d;

end

m1=L(idx-1,idy-1) + score;

m2=L(idx-1,idy) + g;

m3=L(idx,idy-1) + g;

L(idx,idy)=min(m1,min(m2,m3)); % only minimum edits allowed.

end

end

%# The LD between two strings.

D=L(L1,L2);

%#....................................................................

%# Making decision on what to do with the new event (string 2).

%#...................................................................

if (D<=4) %# Distance is so less that string 2 seems identical to string 1.

store=str1; %# Hence string 2 is ignored. String 1 remains stored.

elseif (D>=5 && D<=15) %# Distance is larger to be identical but not enough to

%# make string 2 an individual event.

store= str2; %# String 2 is somewhat similar to string 1.

%# So, string 1 is replaced with string 2 and stored.

else

%# For all other distances, string 2 is stored along with string 1.

store={str1; str2};

end

任何幫助表示贊賞。

2010-09-07

Tinglin

+0

“語義上”。沒有簡單的文本書算法。自然語言(特別是英語)是一個非常復雜而反復無常的野獸。 –

2010-09-07 22:16:49

+0

@Amro:“'#'”使它們變灰,因為這里的注釋是SO? –

2010-09-14 08:41:33

+0

@Lazer:是的,它的眼睛更容易..我希望StackOverflow引入了包含代碼塊的功能,如:'...',以便為該特定語言正確突出顯示 –

2010-09-14 15:54:46

總結

以上是生活随笔為你收集整理的matlab源代码 语义相似度计算,如何计算两个句子之间的相似度(句法和语义)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。