美女扒开腿免费视频_蜜桃传媒一区二区亚洲av_先锋影音av在线_少妇一级淫片免费放播放_日本泡妞xxxx免费视频软件_一色道久久88加勒比一_熟女少妇一区二区三区_老司机免费视频_潘金莲一级黄色片_精品国产精品国产精品_黑人巨大猛交丰满少妇

CS5012代做、代寫Python設計程序

時間:2024-03-03  來源:  作者: 我要糾錯



CS5012 Mark-Jan Nederhof Practical 1
Practical 1: Part of speech tagging:
three algorithms
This practical is worth 50% of the coursework component of this module. Its due
date is Wednesday 6th of March 2024, at 21:00. Note that MMS is the definitive source
for deadlines and weights.
The purpose of this assignment is to gain understanding of the Viterbi algorithm,
and its application to part-of-speech (POS) tagging. The Viterbi algorithm will be
related to two other algorithms.
You will also get to see the Universal Dependencies treebanks. The main purpose
of these treebanks is dependency parsing (to be discussed later in the module), but
here we only use their part-of-speech tags.
Getting started
We will be using Python3. On the lab (Linux) machines, you need the full path
/usr/local/python/bin/python3, which is set up to work with NLTK. (Plain
python3 won’t be able to find NLTK.)
If you run Python on your personal laptop, then next to NLTK (https://www.
nltk.org/), you will also need to install the conllu package (https://pypi.org/
project/conllu/).
To help you get started, download gettingstarted.py and the other Python
files, and the zip file with treebanks from this directory. After unzipping, run
/usr/local/python/bin/python3 gettingstarted.py. You may, but need not, use
parts of the provided code in your submission.
The three treebanks come from Universal Dependencies. If you are interested,
you can download the entire set of treebanks from https://universaldependencies.
org/.
1
Parameter estimation
First, we write code to estimate the transition probabilities and the emission probabilities of an HMM (Hidden Markov Model), on the basis of (tagged) sentences from
a training corpus from Universal Dependencies. Do not forget to involve the start-ofsentence marker ⟨s⟩ and the end-of-sentence marker ⟨/s⟩ in the estimation.
The code in this part is concerned with:
• counting occurrences of one part of speech following another in a training corpus,
• counting occurrences of words together with parts of speech in a training corpus,
• relative frequency estimation with smoothing.
As discussed in the lectures, smoothing is necessary to avoid zero probabilities for
events that were not witnessed in the training corpus. Rather than implementing a
form of smoothing yourself, you can for this assignment take the implementation of
Witten-Bell smoothing in NLTK (among the implementations of smoothing in NLTK,
this seems to be the most robust one). An example of use for emission probabilities is
in file smoothing.py; one can similarly apply smoothing to transition probabilities.
Three algorithms for POS tagging
Algorithm 1: eager algorithm
First, we implement a naive algorithm that chooses the POS tag for the i-th token
on the basis of the chosen (i − 1)-th tag and the i-th token. To be more precise, we
determine for each i = 1, . . . , n, in this order:
tˆi = argmax
ti
P(ti
| tˆi−1) · P(wi
| ti)
assuming tˆ0 is the start-of-sentence marker ⟨s⟩. Note that the end-of-sentence marker
⟨/s⟩ is not even used here.
Algorithm 2: Viterbi algorithm
Now we implement the Viterbi algorithm, which determines the sequence of tags for a
given sentence that has the highest probability. As discussed in the lectures, this is:
tˆ1 · · ·tˆn = argmax
t1···tn
 Yn
i=1
P(ti
| ti−1) · P(wi
| ti)
!
· P(tn+1 | tn)
2
where the tokens of the input sentence are w1 · · ·wn, and t0 = ⟨s⟩ and tn+1 = ⟨/s⟩ are
the start-of-sentence and end-of-sentence markers, respectively.
To avoid underflow for long sentences, we need to use log probabilities.
Algorithm 3: individually most probable tags
We now write code that determines the most probable part of speech for each token
individually. That is, for each i, computed is:
tˆi = argmax
ti
X
t1···ti−1ti+1···tn
 Yn
i=1
P(ti
| ti−1) · P(wi
| ti)
!
· P(tn+1 | tn)
To compute this effectively, we need to use forward and backward values, as discussed
in the lectures on the Baum-Welch algorithm, making use of the fact that the above is
equivalent to:
tˆi = argmax
ti
P
t1···ti−1
Qi
k=1 P(tk | tk−1) · P(wk | tk)

·
P
ti+1···tn
Qn
k=i+1 P(tk | tk−1) · P(wk | tk)

· P(tn+1 | tn)
The computation of forward values is very similar to the Viterbi algorithm, so you
may want to copy and change the code you already had, replacing statements that
maximise by corresponding statements that sum values together. Computation of
backward values is similar to computation of forward values.
See logsumexptrick.py for a demonstration of the use of log probabilities when
probabilities are summed, without getting underflow in the conversion from log probabilities to probabilities and back.
Evaluation
Next, we write code to determine the percentages of tags in a test corpus that are
guessed correctly by the above three algorithms. Run experiments for the training
and test corpora of the three included treebanks, and possibly for treebanks of more
languages (but not for more than 5; aim for quality rather than quantity). Compare
the performance of the three algorithms.
You get the best experience out of this practical if you also consider the languages of
the treebanks. What do you know (or what can you find out) about the morphological
and syntactic properties of these languages? Can you explain why POS tagging is more
difficult for some languages than for others?
3
Requirements
Submit your Python code and the report.
It should be possible to run your implementation of the three algorithms on the
three corpora simply by calling from the command line:
python3 p1.py
You may add further functionality, but then add a README file to explain how to run
that functionality. You should include the three treebanks needed to run the code, but
please do not include the entire set of hundreds of treebanks from Universal
Dependencies, because this would be a huge waste of disk space and band
width for the marker.
Marking is in line with the General Mark Descriptors (see pointers below). Evidence of an acceptable attempt (up to 7 marks) could be code that is not functional but
nonetheless demonstrates some understanding of POS tagging. Evidence of a reasonable attempt (up to 10 marks) could be code that implements Algorithm 1. Evidence
of a competent attempt addressing most requirements (up to 13 marks) could be fully
correct code in good style, implementing Algorithms 1 and 2 and a brief report. Evidence of a good attempt meeting nearly all requirements (up to 16 marks) could be
a good implementation of Algorithms 1 and 2, plus an informative report discussing
meaningful experiments. Evidence of an excellent attempt with no significant defects
(up to 18 marks) requires an excellent implementation of all three algorithms, and a
report that discusses thorough experiments and analysis of inherent properties of the
algorithms, as well as awareness of linguistic background discussed in the lectures. An
exceptional achievement (up to 20 marks) in addition requires exceptional understanding of the subject matter, evidenced by experiments, their analysis and reflection in
the report.
Hints
Even though this module is not about programming per se, a good programming style
is expected. Choose meaningful variable and function names. Break up your code into
small functions. Avoid cryptic code, and add code commenting where it is necessary for
the reader to understand what is going on. Do not overengineer your code; a relatively
simple task deserves a relatively simple implementation.
You cannot use any of the POS taggers already implemented in NLTK. However,
you may use general utility functions in NLTK such as ngrams from nltk.util, and
FreqDist and WittenBellProbDist from nltk.
4
When you are reporting the outcome of experiments, the foremost requirement is
reproducibility. So if you give figures or graphs in your report, explain precisely what
you did, and how, to obtain those results.
Considering current class sizes, please be kind to your marker, by making their task
as smooth as possible:
• Go for quality rather than quantity. We are looking for evidence of understanding
rather than for lots of busywork. Especially understanding of language and how
language works from the perpective of the HMM model is what this practical
should be about.
• Avoid Python virtual environments. These blow up the size of the files that
markers need to download. If you feel the need for Python virtual environments,
then you are probably overdoing it, and mistake this practical for a software
engineering project, which it most definitely is not. The code that you upload
would typically consist of three or four .py files.
• You could use standard packages such as numpy or pandas, which the marker will
likely have installed already, but avoid anything more exotic. Assume a version
of Python3 that is the one on the lab machines or older; the marker may not
have installed the latest bleeding-edge version yet.
• We strongly advise against letting the report exceed 10 pages. We do not expect
an essay on NLP or the history of the Viterbi algorithm, or anything of the sort.
• It is fine to include a couple of graphs and tables in the report, but don’t overdo
it. Plotting accuracy against any conceivable hyperparameter, just for the sake
of producing lots of pretty pictures, is not what we are after.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 

標簽:

掃一掃在手機打開當前頁
  • 上一篇:代做CS252編程、代寫C++設計程序
  • 下一篇:AcF633代做、Python設計編程代寫
  • 無相關信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • 短信驗證碼平臺 理財 WPS下載

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    美女扒开腿免费视频_蜜桃传媒一区二区亚洲av_先锋影音av在线_少妇一级淫片免费放播放_日本泡妞xxxx免费视频软件_一色道久久88加勒比一_熟女少妇一区二区三区_老司机免费视频_潘金莲一级黄色片_精品国产精品国产精品_黑人巨大猛交丰满少妇
    国产三级黄色片| 三级在线观看免费大全| 四虎永久免费在线| 国产精品久久久精品四季影院| 成年人网站免费看| 五月天精品视频| 天堂网av2018| 白丝校花扒腿让我c| 久久性爱视频网站| 欧美黄色一级生活片| 免费在线观看黄色小视频| √天堂中文官网8在线| av地址在线观看| 亚洲人人夜夜澡人人爽| 亚洲午夜久久久久久久国产| 中文字幕求饶的少妇| 91福利视频免费观看| 巨胸大乳www视频免费观看| 四虎国产精品成人免费入口| 国产美女久久久久久| 国产+高潮+白浆+无码| 大吊一区二区三区| 精产国品一区二区三区| 91视频在线网站| 国产成人精品综合久久久久99| 午夜男人的天堂| 天天色天天综合| 人妻少妇精品视频一区二区三区| 国产在视频线精品视频| 欲求不满的岳中文字幕| 午夜精品久久久久99蜜桃最新版| 黑人玩弄人妻一区二区三区| 91在线无精精品白丝| 日本一卡二卡在线| 日韩在线观看视频一区二区| 99久久人妻无码精品系列| 中国特级黄色片| 麻豆网址在线观看| 亚洲精品色午夜无码专区日韩| 1024手机在线视频| 国产精品理论在线| 亚洲最大的黄色网| 香港三级日本三级| 中文在线字幕观看| 国产精品嫩草69影院| 91精品一区二区三区蜜桃| 精品人妻无码一区| 亚洲欧美色图视频| 日韩少妇一区二区| 18禁一区二区三区| 亚洲成人激情小说| 永久看看免费大片| 丰满饥渴老女人hd| 欧美一级大片免费看| 亚洲国产综合av| 手机在线免费看片| 欧美黑人性猛交xxx| 天天综合天天做| 日本少妇激三级做爰在线| 在线观看黄网址| 51精品免费网站| 日本少妇激三级做爰在线| 三级黄色录像视频| 国产探花在线免费观看| 国产88在线观看入口| 婷婷久久综合网| 在线播放av网址| 美国黄色一级视频| 中文字幕a在线观看| 一区二区三区免费在线观看视频| 熟妇高潮精品一区二区三区| 9.1成人看片免费版| 国产高清一区二区三区四区| 久草手机视频在线观看| 在线播放国产视频| 成人精品999| 欧美爱爱免费视频| 影音先锋黄色资源| 99热99这里只有精品| 成人三级做爰av| 真实乱视频国产免费观看| 激情无码人妻又粗又大| 日本人妻一区二区三区| 大黑人交xxx极品hd| 我要看黄色一级片| 日韩 中文字幕| 国产男女猛烈无遮挡在线喷水| 被黑人猛躁10次高潮视频| 亚洲图片综合网| 欧美xxxx精品| 日韩片在线观看| 国产精品久久久精品四季影院| 欧美熟妇精品一区二区蜜桃视频| 久久久精品成人| av黄色一级片| 波多野结衣电影免费观看| 久久久久久九九九九九| 日本一级大毛片a一 | 亚洲一区二区在线免费| 91久久免费视频| 在线中文字日产幕| 国产又黄又爽又无遮挡| 精品国产成人亚洲午夜福利| 国产精品一区二区在线免费观看| 在线视频这里只有精品| 亚洲做受高潮无遮挡| 中文字幕永久免费| 国产suv一区二区三区| 免费一级特黄3大片视频| 极品人妻一区二区三区| 日韩精品人妻中文字幕有码| 免费欧美一级片| 久草福利在线观看| 翔田千里88av中文字幕| 成年人二级毛片| 日韩av手机在线免费观看| 国产精品久久免费观看| 精品无人区无码乱码毛片国产| 91丝袜在线观看| 老司机免费视频| 少妇被狂c下部羞羞漫画| 香蕉久久久久久av成人| av电影在线播放| 日韩www视频| 色婷婷在线影院| 欧美熟妇激情一区二区三区| 国产熟妇搡bbbb搡bbbb| 高潮毛片无遮挡| 日韩福利在线视频| 日韩黄色免费观看| 天天躁日日躁狠狠躁av麻豆男男 | 波多野结衣久久久久| 亚洲国产精品一区二区久久hs| 欧美色视频一区二区三区在线观看| 男人av资源站| 精产国品一区二区三区| 国产精品无码电影| 人妻aⅴ无码一区二区三区| 国产一级淫片久久久片a级| 美国黄色片视频| 亚洲精品国产成人av在线| 欧美性xxxx图片| www.5588.com毛片| 香蕉网在线播放| 天天干中文字幕| 一级黄色录像毛片| 免费啪视频在线观看| 中国女人特级毛片| 少妇欧美激情一区二区三区| 人妻丰满熟妇av无码久久洗澡| 久久精品日韩无码| 不卡一区二区在线观看| 男人与禽猛交狂配| 国产美女免费网站| yy6080午夜| 不许穿内裤随时挨c调教h苏绵| 受虐m奴xxx在线观看| 在线中文字日产幕| 久久久久人妻一区精品色| 国产福利短视频| 黑森林av导航| 亚洲成人av免费观看| 国产一二三av| 在线免费观看视频| theav精尽人亡av| 成人做爰69片免费| 日韩欧美中文字幕视频| 久久国产柳州莫菁门| 精品国产一区在线| 白丝校花扒腿让我c| 四虎影院中文字幕| 亚洲a∨无码无在线观看| 久久国产精品影院| 人妻精品久久久久中文字幕| 男人添女人荫蒂国产| 在线看的片片片免费| 性色国产成人久久久精品| 国产激情在线免费观看| 国产人妻人伦精品1国产丝袜| 九色91porny| 国产无套精品一区二区三区| 97精品在线播放| 卡通动漫亚洲综合| 无码人妻少妇色欲av一区二区| 羞羞在线观看视频| 麻豆天美蜜桃91| 黄色片子免费看| 日韩综合第一页| 人妻丰满熟妇aⅴ无码| 毛茸茸多毛bbb毛多视频| 一区二区三区免费在线观看视频| 漂亮人妻被黑人久久精品| 精品视频站长推荐| 国产一二三四区在线| 最新黄色av网址| 永久免费看片在线观看| 五十路六十路七十路熟婆| 伊人网伊人影院| 日韩在线观看视频一区二区| 中文字幕视频观看|