首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
CISC3025代做、代写Java,c++设计编程
项目预算:
开发周期:
发布时间:
要求地区:
University of Macau
CISC3025 - Natural Language Processing
Project #1, 2023/2024
(Due date: 5th February, 2024)
Project Rule
This is an individual course project. You are strongly recommended to commence work on
each assignment task of the project soon after it is announced in class/UMMoodle. Students are
free to discuss the project, but they are not permitted to share any code and report.
Problem Description
This assignment asks you to implement a sequence comparison algorithm (e.g., Levenshtein
Distance). Given = "AACGCA" and = "GAGCTA", the objective is to match identical
subsequences as far as possible through alignment. It can be seen as a way to transforming one
sequence into the other with the substitution, insertion, and deletion of characters. The cost of
operations is considered as:
( , ) = 0 ∈ ∑;
( , ) = 2 , ∈ ∑ ≠ ;
( ) = ( ) = 1 ∈ ∑.
In the following example, three operations are applied for aligning the two sequences, i.e.,
( , ), ( ), and ( ). Hence, the minimum cost for such transformation is 4.
M
The similarity of two sequences can be defined as the best score among possible alignment
between them, i.e. the minimum cost or minimum edit distance. The computation of such
alignment between two sequences can be efficiently solved by using dynamic programming
approach based on scoring matrix (Table 1):
DynamicProgramming(x, m, y, n)
1. T[-1,-1] ¬ 0
2. for j ¬ 0 to n - 1
3. do T[-1, j] ¬ T[-1, j - 1] + Ins(yj)
4. for i ¬ 0 to m - 1
5. do T[i, -1] ¬ T[i -1, - 1] + Del(xi)
6. for j ¬ 0 to n - 1
7. do T[i, j] ¬ min{ T[i-1, j - 1] + Sub(xi, yj),
8. T[i-1, j] + Del(xi),
9. T[i, j - 1] + Ins(yj)}
10. return T[m - 1, n - 1]
( , ) # G A G C T A
Table 1. Scoring matrix
More information regarding dynamic programming and scoring matrix can be found in Chapter
1 & Chapter 2 of [1] and [2].
Requirements
1. You are asked to implement the dynamic programming algorithm in Python. Input to the
program are two strings and the minimum cost is output as the comparison result, followed
by a possible alignment between the two strings.
The following shows a scenario of the input and outputs:
> AACGCA
> GAGCTA
The cost is: 4
An possible alignment is:
A A C G C - A
| | | | | | |
G A – G C T A
2. Extend your program to deal with sentence by taking words as the comparison units instead
of letters.
The following shows a scenario of the input and outputs:
> I love natural language processing
> I really like natural language processing course
The cost is: 4
An possible alignment is:
I love − natural language processing −
| | | | | | |
I really like natural language processing course
3
3. Write a function to compute the similarities between words in batch mode and store your
results in a file.
In the input file “word_corpus.txt”, each row contains a word and a symbol, ‘R’, or ‘H’,
indicating the correct Reference and the Hypothesis, respectively. Your program compares
each hypothesis to the reference, and appends the minimum edit distance to the
corresponding hypothesisin the output file, as shown in the following diagram. The number
of the hypotheses for each reference may be varied. The name of the output file should be
“word_edit_distance.txt”.
4. Write a similar function to compute the similarities between sentences in batch mode
“sentence_corpus.txt” and store your results in a file “sentence_edit_distance.txt”. The
References and Hypotheses are arranged in a similar way as in Requirement (3). Note, the
number of hypotheses for each reference is constant.
The Starter Code
The starter code is in the edit_distance.py. To make it easier for you to do this project, we
provide a starter code written in python. If you enter into the folder “Assignment#1” and
execute the following command:
The program will execute the function word_edit_distance( ) to calculate the edit distance
and the alignment, then output the result to the command line using the output_alignment
function( ).
Similarly, you can use the following command to test your implemented
sentence_edit_distance( ) function:
For Requirements (3) and (4), you can run the following command to specify the name of
input and output files:
Input file:
R satisfaction
H satisfacion
H satesfaction
H satisfation
H satiusfacson
.
.
.
Output file:
R satisfaction
H satisfacion 1
H satesfaction 2
H satisfation 1
H satiusfacson 4
.
.
.
$python edit_distance.py -w ‘word1’ ‘word2’
$python edit_distance.py -s ‘sentence1’ ‘sentence2’
4
The output_alignment( ) function has been already implemented to show the alignments in
a proper format.
Submissions
You need to submit the following materials:
1. Runnable program and source code;
2. A brief report containing the following contents:
• Introduction: Clearly state the goal of your project. Explain why the project is both
important and interesting in the context of NLP.
• Background: Briefly introduce one or two fundamental NLP concepts that are central
to your project.
• Approach & Challenges: Summarize your methodological approach in one concise
paragraph. Identify one significant challenge you encountered and describe how you
addressed it.
• Results: Summarize the outcomes of your project, highlighting the main findings.
• Conclusion: Reflect briefly on what you learned from the project and what was
accomplished.
3. The output files.
References
[1] C. Charras and T. Lecroq, Sequence Comparison. Université de Rouen.
(https://www.researchgate.net/profile/Thierry_Lecroq/publication/2783325_Sequence_Com
parison/links/09e415108d23e64eb7000000.pdf)
[2] http://ultrastudio.org/en/Dynamic%20programming%20table
$python edit_distance.py -bw ‘inputfile’ ‘outputfile’
$python edit_distance.py -bs ‘inputfile’ ‘outputfile’
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代写dts207tc、sql编程语言代做
2024-12-25
cs209a代做、java程序设计代写
2024-12-25
cs305程序代做、代写python程序...
2024-12-25
代写csc1001、代做python设计程...
2024-12-24
代写practice test preparatio...
2024-12-24
代写bre2031 – environmental...
2024-12-24
代写ece5550: applied kalman ...
2024-12-24
代做conmgnt 7049 – measurem...
2024-12-24
代写ece3700j introduction to...
2024-12-24
代做adad9311 designing the e...
2024-12-24
代做comp5618 - applied cyber...
2024-12-24
代做ece5550: applied kalman ...
2024-12-24
代做cp1402 assignment - netw...
2024-12-24
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!