Mengambil subjek dalam inputan

Saya mau bertanya, jika saya punya input seperti : Bulan lalu kamu sudah bilang “Saya mengerjakan sendiri.” .Bagaimana cara saya mengambil kata "kamu" yang ada di dalam kalimat pengantar?

 #deklarasi kelas kata
KATA_GANTI_1    = ['saya','Saya', 'mereka', 'kami',  'kita', 'aku', 'beta', 'daku', 'engkau']
KATA_GANTI_2    = ['anda' , 'kamu', 'engkau', 'kau', 'dikau', 'mu' , 'kalian' , 'kamu sekalian' , 'sekalian' ]
KATA_GANTI_3    = ['mereka','nya','ia','beliau','dia','bapak', 'ayah', 'ibu', 'mama' 'kakak', 'kakek', 'adik', 'nenek', 'abang', 'tante', 'bibi', 'paman']
SUBJEK          = [KATA_GANTI_1 , KATA_GANTI_2, KATA_GANTI_3]
PREDIKAT        = ['mengatakan' , 'berkata' , 'bertanya' , 'menanyakan' , 'memerintah' , 'memerintahkan' , 'menyuruh' , 'memberitahu']
KATA_HUBUNG_BERITA          = ['bahwa' , 'supaya']
KATA_HUBUNG_TANYA_TOTAL     = ['apakah' , 'kah']
KATA_HUBUNG_TANYA_PARSIAL   = ['tentang',]
KET_SIFAT   = ['sangat', 'lebih', 'kurang', 'cukup' ,'paling' , 'agak']
KATA_SIFAT  = ['cantik' 'jelek' , 'tinggi' , 'pendek' , 'kesal' , 'rapi' , 'banyak' , 'berat' , 'hebat' ]
KET_WAKTU   = ['kemarin', 'besok', 'sekarang', 'kini', 'lusa', 'siang', 'malam', 'pagi', 'sebelum', 'sesudah', 'baru saja' , 'barusan','saat', 'sesaat', 'sewaktu', 'seketika', 'yang lalu' , 'tadi']
#==========================================================================================================#

#token
from nltk.tokenize import word_tokenize

nama = input ("Masukkan Kalimat : ")

kalpeng     = (nama[nama.find('.') + 1:nama.find('“')])
kalsung = (nama[nama.find('“') + 1:nama.find('”')])

test = [(k in KATA_GANTI_1) for k in kalsung.lower().split(" ")]

args =[kalpeng.split(" ")[i] for i,l in enumerate(test) if l] #deklarasi subjek didalam kalpeng
temp =[kalsung.split(" ")[i] for i,l in enumerate(test) if l] #deklarasi subjek dalam kalsung
print ("Subjek dalam kalimat langsung adalah : " , temp) #subjek dalam kalsung
(KATA_GANTI_1.index(temp[0]))
print ("Subjek dalam kalimat pengantar adalah : ", args) #subjek dalam kalpeng


avatar piqurs
@piqurs

11 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

4 Jawaban:

bisa lebih detail mas pertanyannya?

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 6 tahun yang lalu

<pre> #definisi list Kata_ganti = ['aku', 'mereka', 'kami', 'kita', 'saya', 'beta', 'daku', 'engkau'] Predikat = ['mengatakan' , 'berkata' , 'bertanya' , 'menanyakan' , 'memerintah' , 'memerintahkan' , 'menyuruh' , 'memberitahu']

n = input ("Masukkan Kalimat : ") Masukkan Kalimat : Saya bertanya "Merekakah yang memerintah?"

#definisi variable x = kata ganti dalam kalimat y = kata ganti dalam kutip q = predikat dalam kalimat w = predikat dalam kutp

#output print ("Kata ganti dalam kalimat tersebut adalah : ", x+y) print ("Predikat dalam kalimat tersebut adalah : ", q+w) </pre> bagaimana cara saya mendefinisikan x,y,q,w? fungsi apa yang harus saya berikan? @hilmanrdn

avatar piqurs
@piqurs

11 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

range nama buat variabel kalpeng sama kalsung mesti diganti definisi rangenya. Sesuai contoh agan, kalimat pengantarnya kan di awalan, berarti dimulai dari range 0. "Jadi ini gak akan work kalau kalimat pengantar ada di setelah kalimat langsung." Terus variabel SUBJEK diganti jadi union setnya KATA_GANTI_1 sampai 3. Soalnya kalo list di dalem list gak bisa buat dimasukin ke variabel test1 sama test2. Buat lebih jelasnya bisa dianalisis lagi kodenya.

<img src=' https://s8.postimg.cc/3miuwgced/hapus.jpg '>

<pre> import tokenize, token

#deklarasi kelas kata KATA_GANTI_1 = ['saya','Saya', 'mereka', 'kami', 'kita', 'aku', 'beta', 'daku', 'engkau'] KATA_GANTI_2 = ['anda' , 'kamu', 'engkau', 'kau', 'dikau', 'mu' , 'kalian' , 'kamu sekalian' , 'sekalian' ] KATA_GANTI_3 = ['mereka','nya','ia','beliau','dia','bapak', 'ayah', 'ibu', 'mama' 'kakak', 'kakek', 'adik', 'nenek', 'abang', 'tante', 'bibi', 'paman'] SUBJEK = set(KATA_GANTI_1) | set(KATA_GANTI_2) | set(KATA_GANTI_3) PREDIKAT = ['mengatakan' , 'berkata' , 'bertanya' , 'menanyakan' , 'memerintah' , 'memerintahkan' , 'menyuruh' , 'memberitahu'] KATA_HUBUNG_BERITA = ['bahwa' , 'supaya'] KATA_HUBUNG_TANYA_TOTAL = ['apakah' , 'kah'] KATA_HUBUNG_TANYA_PARSIAL = ['tentang',] KET_SIFAT = ['sangat', 'lebih', 'kurang', 'cukup' ,'paling' , 'agak'] KATA_SIFAT = ['cantik' 'jelek' , 'tinggi' , 'pendek' , 'kesal' , 'rapi' , 'banyak' , 'berat' , 'hebat' ] KET_WAKTU = ['kemarin', 'besok', 'sekarang', 'kini', 'lusa', 'siang', 'malam', 'pagi', 'sebelum', 'sesudah', 'baru saja' , 'barusan','saat', 'sesaat', 'sewaktu', 'seketika', 'yang lalu' , 'tadi'] #==========================================================================================================#

#token from nltk.tokenize import word_tokenize

nama = input ("Masukkan Kalimat : ")

kalpeng = (nama[0:nama.find("&quot;")]) kalsung = (nama[nama.find("&quot;") + 1:len(nama)-1])

test1 = [(k in SUBJEK) for k in kalsung.lower().split(" ")] test2 = [(k in SUBJEK) for k in kalpeng.lower().split(" ")]

args =[kalpeng.split(" ")[i] for i,l in enumerate(test2) if l] #deklarasi subjek didalam kalpeng temp =[kalsung.split(" ")[i] for i,l in enumerate(test1) if l] #deklarasi subjek dalam kalsung print ("Subjek dalam kalimat langsung adalah : " , temp) #subjek dalam kalsung

print ("Subjek dalam kalimat pengantar adalah : ", args) #subjek dalam kalpeng </pre>

avatar kurabaya
@kurabaya

8 Kontribusi 6 Poin

Dipost 6 tahun yang lalu

makasih gan

avatar piqurs
@piqurs

11 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban