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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python语言基本语句例句-关于python:使用WordNet查找同义词,定义和例句

發布時間:2025/3/12 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python语言基本语句例句-关于python:使用WordNet查找同义词,定义和例句 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我需要輸入一個單詞的輸入文本文件。然后,我需要使用wordnet查找lemma_names,單詞的同義詞集的定義和示例。我讀過這本書:"使用NLTK 2.0食譜進行Python文本處理"和"使用NLTK進行自然語言處理",以幫助我朝這個方向發展。盡管我已經知道可以使用終端來完成此操作,但是我無法使用文本編輯器來完成此操作。

例如,如果輸入文本具有單詞" flabbergasted",則輸出需要采用以下方式:

嚇壞的

(動詞)吃驚的,吃驚的,吃驚的克服;"這使人感到困惑!"

(形容詞)傻眼的,傻眼的,吃驚的,震驚的,雷擊過的,傻眼的,傻傻的-仿佛驚奇而驚奇地傻了起來;"由于否認曾見過這起事故,一個警察圈感到震驚";"飽受摧殘的al徒無語";"被他晉升的消息震驚了"

同義詞集,定義和例句可直接從WordNet獲得!

我有以下代碼:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33from __future__ import division

import nltk

from nltk.corpus import wordnet as wn

tokenizer = nltk.data.load("tokenizers/punkt/english.pickle")

fp = open("inpsyn.txt")

data = fp.read()

#to tokenize input text into sentences

print "

-----

".join(tokenizer.tokenize(data))# splits text into sentences

#to tokenize the tokenized sentences into words

tokens = nltk.wordpunct_tokenize(data)

text = nltk.Text(tokens)

words = [w.lower() for w in text]

print words #to print the tokens

for a in words:

print a

syns = wn.synsets(a)

print"synsets:", syns

for s in syns:

for l in s.lemmas:

print l.name

print s.definition

print s.examples

我得到以下輸出:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19flabbergasted

["flabbergasted"]

flabbergasted

synsets: [Synset("flabbergast.v.01"), Synset("dumbfounded.s.01")]

flabbergast

boggle

bowl_over

overcome with amazement

["This boggles the mind!"]

dumbfounded

dumfounded

flabbergasted

stupefied

thunderstruck

dumbstruck

dumbstricken

as if struck dumb with astonishment and surprise

["a circle of policement stood dumbfounded by her denial of having seen the accident", "the flabbergasted aldermen were speechless", "was thunderstruck by the news of his promotion"]

有沒有一種方法可以檢索詞性以及引理名稱組?

如果您重新登錄到SO,則應該接受Andreys的回答。 因為他不僅回答了問題,還回應了您的評論以幫助您。

1

2def synset(word):

wn.synsets(word)

不返回任何內容,因此默認情況下,您得到None

你應該寫

1

2def synset(word):

return wn.synsets(word)

提取引理名稱:

1

2

3

4

5

6

7

8

9

10from nltk.corpus import wordnet

syns = wordnet.synsets("car")

syns[0].lemmas[0].name

>>> "car"

[s.lemmas[0].name for s in syns]

>>> ["car", "car", "car", "car", "cable_car"]

[l.name for s in syns for l in s.lemmas]

>>>["car", "auto", "automobile", "machine", "motorcar", "car", "railcar", "railway_car", "railroad_car", "car", "gondola", "car", "elevator_car", "cable_car", "car"]

非常感謝!! :)真是個愚蠢的錯誤!

有沒有一種方法可以僅從同義詞集中提取單詞并將其作為參數傳遞?例如,對于單詞flabbergasted,您將獲得Synset(flabbergast.v.01)和Synset(dumbfounded.s.01)。如何將它們作為參數傳遞給lemma_name函數?

從nltk.corpus導入wordnet syns = wordnet.synsets(car)[s.lemmas [0]。s在syns中的名稱] >>> [汽車,汽車,汽車,汽車,電纜車]

我更新了答案

萬分感謝!!我已經用輸出更新了代碼。有沒有一種方法可以同時檢索詞類和詞組名稱呢?例如,字詞是flabbergast,boggle和bowl over。有沒有辦法將其與輸出結合在一起?

要獲得詞性,請使用[s.lemmas中l的l.synset.pos對于syns中s的使用]

打印[s.lemmas()中l的syns中s的s的l.name()]

我如何使用自己的火車數據?

在這里,我創建了一個易于使用(導入)的模塊,并將一個字符串傳遞給它,它將返回該字符串的所有引理詞。

模塊:

1

2

3

4

5

6

7

8

9

10

11

12#!/usr/bin/python2.7

""" pass a string to this funciton ( eg "car") and it will give you a list of

words which is related to cat, called lemma of CAT. """

from nltk.corpus import wordnet as wn

import sys

#print all the synset element of an element

def lemmalist(str):

syn_set = []

for synset in wn.synsets(str):

for item in synset.lemma_names:

syn_set.append(item)

return syn_set

用法:

注意:模塊名稱為lemma.py,因此"來自lemma import lemmalist"

1

2

3>>> from lemma import lemmalist

>>> lemmalist("car")

["car", "auto", "automobile", "machine", "motorcar", "car", "railcar", "railway_car", "railroad_car", "car", "gondola", "car", "elevator_car", "cable_car", "car"]

干杯!

出現錯誤no ImportError: No module named lemma

1

2

3

4

5synonyms = []

for syn in wordnet.synsets("car"):

for l in syn.lemmas():

synonyms.append(l.name())

print synonyms

請修改您的答案以包含更多信息。不建議使用僅代碼和"嘗試此"答案,因為它們不包含可搜索的內容,并且不解釋為什么有人應該"嘗試此"。

在NLTK 3.0中,lemma_names已從屬性更改為方法。 因此,如果出現錯誤提示:

1TypeError: "method" object is not iterable

您可以使用以下方法修復它:

1

2>>> from nltk.corpus import wordnet as wn

>>> [item for sysnet in wn.synsets("car") for item in sysnet.lemma_names()]

這將輸出:

1

2

3

4

5>>> [

"car", "auto", "automobile", "machine", "motorcar", "car",

"railcar", "railway_car", "railroad_car", "car", "gondola",

"car", "elevator_car", "cable_car", "car"

]

總結

以上是生活随笔為你收集整理的python语言基本语句例句-关于python:使用WordNet查找同义词,定义和例句的全部內容,希望文章能夠幫你解決所遇到的問題。

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