mirror of https://github.com/doccano/doccano.git
pythondatasetsactive-learningtext-annotationdatasetnatural-language-processingdata-labelingmachine-learningannotation-tool
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.3 KiB
87 lines
2.3 KiB
<template>
|
|
<v-main>
|
|
<v-container fluid>
|
|
<v-row justify="center">
|
|
<v-col cols="12" md="9">
|
|
<v-card
|
|
class="title mb-5"
|
|
>
|
|
<v-card-text class="title">
|
|
{{ currentDoc.text }}
|
|
</v-card-text>
|
|
</v-card>
|
|
<seq2seq-box
|
|
:text="currentDoc.text"
|
|
:annotations="currentDoc.annotations"
|
|
@delete:annotation="_deleteAnnotation"
|
|
@update:annotation="_updateAnnotation"
|
|
@create:annotation="_createAnnotation"
|
|
/>
|
|
</v-col>
|
|
<v-col cols="12" md="3">
|
|
<list-metadata :metadata="currentDoc.meta" />
|
|
</v-col>
|
|
</v-row>
|
|
</v-container>
|
|
</v-main>
|
|
</template>
|
|
|
|
<script>
|
|
import ListMetadata from '@/components/tasks/metadata/ListMetadata'
|
|
import Seq2seqBox from '~/components/tasks/seq2seq/Seq2seqBox'
|
|
|
|
export default {
|
|
|
|
components: {
|
|
Seq2seqBox,
|
|
ListMetadata
|
|
},
|
|
layout: 'demo',
|
|
|
|
data() {
|
|
return {
|
|
currentDoc: {
|
|
id: 8,
|
|
text: 'SELECT count(*) FROM head WHERE age > 56',
|
|
annotations: [
|
|
{
|
|
id: 17,
|
|
text: 'How many heads of the departments are older than 56 ?',
|
|
user: 1,
|
|
document: 8
|
|
}
|
|
],
|
|
meta: {
|
|
"department.department_id": "INT",
|
|
"department.name": "CHAR",
|
|
"department.num_employee": "INT",
|
|
"head.head_id": "INT",
|
|
"head.name": "INT",
|
|
"head.age": "INT",
|
|
"management.department_id": "INT",
|
|
"management.head_id": "INT",
|
|
"management.temporary_acting": "VARCHAR"
|
|
},
|
|
annotation_approver: null
|
|
}
|
|
}
|
|
},
|
|
|
|
methods: {
|
|
_deleteAnnotation(annotationId) {
|
|
this.currentDoc.annotations = this.currentDoc.annotations.filter(item => item.id !== annotationId)
|
|
},
|
|
_updateAnnotation(annotationId, text) {
|
|
const index = this.currentDoc.annotations.findIndex(item => item.id === annotationId)
|
|
this.currentDoc.annotations[index].text = text
|
|
},
|
|
_createAnnotation(text) {
|
|
const payload = {
|
|
id: Math.floor(Math.random() * Math.floor(Number.MAX_SAFE_INTEGER)),
|
|
text
|
|
}
|
|
this.currentDoc.annotations.push(payload)
|
|
}
|
|
}
|
|
}
|
|
</script>
|